soc fpga 選定におけるアーキテクチャの重要性 - intel · 2020. 12. 25. · title:...

47
101 Innovation Drive San Jose, CA 95134 www.altera.com WP-01202-1.0/JP ホワイトペーパー SoC FPGA 選定におけるアーキテクチャの重要性 2013 11 文書発行日 SoC FPGA ????????????????? ???????? Subscribe

Upload: others

Post on 30-Dec-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

101 Innovation DriveSan Jose, CA 95134www.altera.com

WP-01202-1.0/JP

ホワイトペーパー

SoC FPGA 選定におけるアーキテクチャの重要性

2013 年 11 月文書発行日 :

SoC FPGA ????????????????? ????????

Subscribe

Page 2: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

SoC FPGA 選定におけるアーキテクチャの重要性 2013 年 11 月 Altera Corporationホワイトペーパー

© 2013 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S.Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders asdescribed at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera’s standard warranty,but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of anyinformation, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specificationsbefore relying on any published information and before placing orders for products or services.

Page 3: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

2013 年 11 月 Altera Corporation

目次

はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1現在市販されている SoC FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12 チップ・プロセッサ/ FPGA アプリケーションに対する利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4ASIC ベースのプロセッサに対する利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4他のプロセッサやマイクロコントローラに対する利点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–5特定のアプリケーションに適した SoC FPGA の選択方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–5

システム性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–6L3 インタコネクトの重要性: 大性能のためのセントラル・スイッチ . . . . . . . . . . . . . . . . . . . . . . 1–6プロセッサ - FPGA インタコネクト:統合デバイスの利点を実現 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–8DDR メモリ・コントローラの性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–10FPGA とプロセッサの DDR メモリ・コントローラの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–13ハードウェア・アクセラレーションとキャッシュ・コヒーレンシ . . . . . . . . . . . . . . . . . . . . . . . . . . 1–14追加のメモリ・コントローラによる 大システム性能の向上 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–15システム信頼性および柔軟性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–16ECC によるメモリ内容の保護 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–17共有メモリのメモリ保護 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–18ウォッチドッグ・リセットとその FPGA ロジックに対する影響 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–20フェイルセーフ・ブートおよびコンフィギュレーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–20

柔軟性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–21さまざまなプロセッサ・ブートおよび FPGA コンフィギュレーション・オプション . . . . . . . . . . 1–21複数のブート・イメージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–23オンチップ FPGA インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–25共通フットプリントでの集積度/トランシーバ/機能のマイグレーション . . . . . . . . . . . . . . . . . . 1–26

システム・コスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–27統合機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–27高速トランシーバ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–27電源コスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–28

消費電力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–28統合による消費電力削減 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–29省電力モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–29パワーオン/パワーオフ・シーケンス要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–30

将来のロードマップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–31アルテラの 3 世代プロセッサ・ロードマップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–31シリコン・プロセス・テクノロジ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–32FinFET テクノロジ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–32ツールのロードマップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–33

開発ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–34開発ツールの課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–36ARM との互換性は前提であり、FPGA の実装が差異化をもたらす . . . . . . . . . . . . . . . . . . . . . . . . . 1–36チップ全体のデバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–37FPGA 対応デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–371 本のデバッグ・ケーブルによる ARM および FPGA の開発 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–38ハードウェアとソフトウェア間のクロストリガ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–38ハードウェアおよびソフトウェア・イベントの追跡・監視 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–39CPU および FPGA のプロファイリング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–39マルチコア・デバッグ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–40標準ツールおよびフロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–40ARM DS-5 Altera Edition ツールキット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–41開発ツールのまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–41

SoC FPGA 選定におけるアーキテクチャの重要性 ホワイトペーパー

Page 4: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

2 目次

結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–42詳細情報について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–43謝辞 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–43文書改訂履歴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–43

SoC FPGA 選定におけるアーキテクチャの重要性 2013 年 11 月 Altera Corporationホワイトペーパー

Page 5: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

2013 年 11 月 Altera Corporation

WP-01202-1.0

© 2013 Altera Corporation. All rQUARTUS and STRATIX wordother countries. All other words awww.altera.com/common/legal.hAltera's standard warranty, but resresponsibility or liability arising oto in writing by Altera. Altera cusinformation and before placing or

101 Innovation DriveSan Jose, CA 95134www.altera.com

SoC FPGA 選定におけるアーキテクチャの重要性

ホワイトペーパー

このホワイトペーパーでは、システム・アーキテクト、エンジニア、およびマネー

ジャが開発アプリケーションへ SoC FPGA を検討する際に、 適なデバイスを選択す

る上で役立つさまざまな評価基準について解説します。本書の主な内容については、

ビデオ・シリーズ「SoC FPGA におけるアーキテクチャの重要性」でも紹介されてい

ます。

はじめにSoC FPGA デバイスは、プロセッサと FPGA アーキテクチャを 1 つのデバイスに集積

したものです。この 2 つのテクノロジを融合することで、高集積化、低消費電力化、

ボード・サイズの削減、プロセッサと FPGA 間の帯域幅向上をはじめとするさまざま

な利点が得られます。クラス 高のデバイスは、スタンドアロン・プロセッサ/ FPGAアプローチの利点を確保しながら、プロセッサ/ FPGA 統合システム固有の利点を生

かしています。

現在市販されている SoC FPGA現在市販されている主な SoC FPGA は、表 1 に示す 3 種類です。これらのデバイスの

プロセッサは、「ハード化」された専用プロセッサ・サブシステムです ( つまり、FPGAファブリックに実装されたソフト IP (Intellectual Property) コアではありません )。この

3 種類のデバイス・ファミリはいずれも、完全なメモリ階層と専用ペリフェラルを備

えた、一般的な ARM® プロセッサとほぼ同様にブート/実行/動作するフル機能の

ARM プロセッサを採用しています。

Microsemi SmartFusion2 SoC FPGA は、主にマイクロコントローラ・アプリケーション

をターゲットにした ARM Cortex™-M3 エンベデッド・プロセッサをベースにしていま

す。それに対し、アルテラ SoC FPGA および Xilinx Zynq-7000 デバイスは、デュアル

コア ARM Cortex-A9 アプリケーション・プロセッサを使用しています。SoC FPGA は、

プロセッサの他に豊富なペリフェラル、オンチップ・メモリ、FPGA スタイルのロ

ジック・アレイ、各種 I/O を搭載しています ( 表 1 参照 )。

表 1. 現在市販されている SoC FPGA ( 1 / 3 )

アルテラ SoC FPGA Xilinx Zynq-7000 EPP Microsemi SmartFusion2

プロセッサ ARM Cortex-A9 ARM Cortex-A9 ARM Cortex-M3

プロセッサ・クラスアプリケーション・プロセッサ

アプリケーション・プロセッサ

マイクロコントローラ

シングルまたはデュアルコア

シングルまたはデュアル デュアル シングル

プロセッサ 大周波数 1.05 GHz 1.0 GHz 166 MHz

ights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, HARDCOPY, MAX, MEGACORE, NIOS, s and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in nd logos identified as trademarks or service marks are the property of their respective holders as described at tml. Altera warrants performance of its semiconductor products to current specifications in accordance with erves the right to make changes to any products and services at any time without notice. Altera assumes no ut of the application or use of any information, product, or service described herein except as expressly agreed tomers are advised to obtain the latest version of device specifications before relying on any published ders for products or services.

Feedback Subscribe

ISO 9001:2008 Registered

Page 6: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 2 はじめに

L1 キャッシュデータ:32 KB

命令:32 KB

データ:32 KB

命令:32 KB

データ・キャッシュなし

命令:8 KB

L2 キャッシュ統合:512 KB、ECC ( 誤り訂正コード ) 付き

統合:512 KB なし

メモリ・マネージメント・ユニット (MMU)

あり あり あり

浮動小数点演算ユニット/ NEON™ マルチメディア・エンジン

あり あり なし

アクセラレーション・コヒーレンシ・ポート (ACP)

あり あり なし

割り込みコントローラ 汎用 (GIC) 汎用 (GIC) ネスト型ベクタ (NVIC)

オンチップ・プロセッサ RAM

64 KB、ECC 付き 256 KB、ECC なし 64 KB、ECC なし

ダイレクト・メモリ・アクセス (DMA) コントローラ

8 チャネル ARM DMA330

32 ペリフェラル要求 (FPGA + ハード・プロセッサ・システム )

8 チャネル ARM DMA330

4 ペリフェラル要求 (FPGA のみ )

1 チャネル HPDMA

4 要求

外部メモリ・コントローラ

あり あり あり

サポートするメモリ・タイプ

LPDDR2、DDR2、DDR3L、DDR3

LPDDR2、DDR2、DDR3L、DDR3

LPDDR、DDR2、DDR3

外部メモリ ECC 16 ビット、32 ビット 16 ビット8 ビット、16 ビット、32 ビット

外部メモリ・バス 大周波数

400 MHz (Cyclone® V SoC)、533 MHz (Arria® V SoC)

533 MHz 333 MHz

表 1. 現在市販されている SoC FPGA ( 2 / 3 )

アルテラ SoC FPGA Xilinx Zynq-7000 EPP Microsemi SmartFusion2

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 7: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

はじめに ページ 3

SoC FPGA は、次世代のシステム・デザインに適しているのでしょうか。システム設

計者、アーキテクト、またはハードウェア・マネージャがその判断を行う際、以下の

3 つについて確認いただくことが、助けになるかもしれません。

プロセッサ・ペリフェラル

1 個の 4 線式 SPI コントローラ (4 チップ・セレクト )

1 個の NAND コントローラ (MLC または SLC)

2 個の 10/100/1G イーサネット・コントローラ

2 個の USB 2.0 On-the-Go (OTG) コントローラ

1 個の SD/MMC/SDIO コントローラ

2 個の UART

4 個の I2C コントローラ

2 個の CAN コントローラ

2 個の SPI マスタ、2 個の SPI スレーブ・コントローラ

4 個の 32 ビット汎用タイマ

2 個の 32 ビット・ウォッチドッグ・タイマ

1 個または 2 個の 4 線式 SPI コントローラ (2 チップ・セレクト )

1 個のスタティック・メモリ・コントローラ (NAND-SLC、NOR、または SSRAM)

2 個の 10/100/1G イーサネット・コントローラ

2 個の USB 2.0 OTG コントローラ

2 個の SD/SDIO コントローラ

2 個の UART

2 個の I2C コントローラ

2 個の CAN コントローラ

2 個の SPI コントローラ (マスタまたはスレーブ )

2 個の 16 ビット・トリプルモード・タイマ/カウンタ

1 個の 24 ビット・ウォッチドッグ・タイマ

1 個の 10/100/1G イーサネット・コントローラ

2 個の USB 2.0 OTG コントローラ

2 個の UART

2 個の I2C コントローラ

1 個の CAN コントローラ

2 個の SPI

2 個の汎用タイマ

1 個のウォッチドッグ・タイマ

1 個のリアルタイム・クロック (RTC)

FPGA ファブリック Cyclone V、Arria V Artix-7、Kintex-7 Fusion2

FPGA のロジック集積度範囲

25 K ~ 462 K LE 28 K ~ 444 K LC 6 K ~ 146 K LE

FPGA 内のハード・メモリ・コントローラ

大 3 個、ECC 付き なし なし

高速トランシーバすべての集積度で利用可能

高集積デバイスのみ 高集積デバイスのみ

アナログ・ミックスド・シグナル (AMS)

なし2 x 12 ビット、1 MSPS アナログ - デジタル・コンバータ (ADC)

なし

ブート・シーケンスプロセッサ優先、FPGA 優先、または同時

プロセッサ優先プロセッサ・ブート、FPGA は不揮発性

表 1. 現在市販されている SoC FPGA ( 3 / 3 )

アルテラ SoC FPGA Xilinx Zynq-7000 EPP Microsemi SmartFusion2

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 8: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 4 はじめに

既存のデザインは、FPGA と独立したマイクロプロセッサを使用しているか。

現行世代は、マイクロプロセッサを含む独自の ASIC を使用しているか。

現在はマイクロプロセッサを使用しているが、アプリケーションにより合ったペ

リフェラル・セットがあれば有益か。

2 チップ・プロセッサ/ FPGA アプリケーションに対する利点

FPGA と独立したマイクロプロセッサをすでに使用しているデザインの場合は、明ら

かに SoC FPGA を検討すべきです。

SoC FPGA を使用すれば、ボード・スペース、消費電力、およびシステム・コストを

大 50% 削減しながら、同等以上の機能性と性能が得られる可能性があります。FPGAとマイクロプロセッサを同じシリコンに統合することにより、一方のプラスティッ

ク・パッケージのコストが不要になることに加え、デバイスが 1 個になれば 2 個の場

合よりもボード・スペースの節約になります。また、デザインに含まれる CPU とFPGA がそれぞれ別の外部メモリを使用している場合、両方のメモリ・デバイスを 1つに統合できる可能性があり、そうすればシステム・コスト、ボード・スペース、お

よび消費電力をさらに削減することが可能です。プロセッサと FPGA 間の信号が同一

シリコン内でやりとりされるようになるため、別のチップを使用する場合に比べて、

通信に必要な消費電力が大幅に削減されます。しかも、統合ソリューションの場合、

プロセッサと FPGA 間の何千もの内部接続のおかげで、2 チップ・ソリューションに

比べて大幅な広帯域幅化と低レイテンシ化につながります。

ASIC ベースのプロセッサに対する利点

現行世代がマイクロプロセッサを含む独自の ASIC を使用している場合はどうでしょ

うか。現在 ASIC テクノロジを使用しているデザイン・チームのほとんどは恐らく、

すでにある時点で FPGA について検討したことがあり、たいていプロトタイピングま

たはエミュレーション・フェーズで使用しています。多くの ASIC 設計者にとって、

従来 ARM プロセッサが搭載されていないことが量産への FPGA テクノロジの使用の

障害となっていました。この新しいタイプの SoC FPGA は、現在の 28nm プロセス・

テクノロジで 大 1 GHz で動作するフル機能かつ完全互換の高性能デュアルコア

ARM Cortex-A9 プロセッサを搭載しており、そうした障害はなくなりました。

SoC FPGA はプログラマブル・ロジック・テクノロジを利用しているため、プログラ

マブル・デザインでは次のような標準 ASIC テクノロジに対する従来の FPGA の利点

をすべて享受できます

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 9: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

はじめに ページ 5

高価なマスクが不要または購入の必要性が 小限 - 1 個でも百万個単位でもコス

ト効果の高い SoC FPGA ソリューションを構築・出荷可能

市場投入期間の短縮 - 製造リードタイムが不要。大手電子部品代理店から市販デ

バイスを入手可能

リスクの低減 - 製品出荷後もいつでも SoC FPGA の再プログラミングが可能。イ

ンフィールド・アップデート/アップグレードをサポート

市場要件の変化や新規格に適応

エンベデッド・プロセッサ、高速トランシーバ、またはその他の先進システム・

テクノロジに対する追加のライセンスまたはロイヤルティの支払いが不要

他のプロセッサやマイクロコントローラに対する利点

後のシナリオでは、通常は FPGA ではなくスタンドアロン・マイクロプロセッサま

たはハイエンドを使用するシステムも、これらの 新 SoC FPGA の利点を享受できる

可能性があります。多くの設計者は入手可能な市販プロセッサを調査しますが、アプ

リケーションに 適とは言えないデバイスで妥協し、イーサネット・ポート、USBチャネル、割り込みラインなどが不足しているプロセッサを選んでしまうことが少な

くありません。これらの SoC FPGA は、カスタム ARM マイクロプロセッサを机の上

で直ちに開発できるほどの能力を備えています。従来は市販の派生プロセッサ製品が

なかったために妥協を余儀なくされたシステム・デザインも、アプリケーションに合

わせたカスタマイズが可能になります。その結果、競合他社がコピーまたは模倣する

ことが困難になり、ハードウェア、ソフトウェア両面でのデザインの差異化が実現し

ます。

特定のアプリケーションに適した SoC FPGA の選択方法

表 1 に示すさまざまなベンダーのプログラマブル SoC 製品は、一見したところでは似

ているように見えるかもしれません。いずれも ARM プロセッサ、各種ペリフェラル、

および FPGA を 1 個のデバイスに集積しています。しかし、実際には、データシート

に表れていない部分にも目を向けながら綿密に評価することが非常に重要です。基礎

となるアーキテクチャとその影響は、特定のアプリケーションに対して評価しなけれ

ばなりません。SoC FPGA はアーキテクチャが重要です。調査・検討を進めるうちに、

アーキテクチャ・レベルで大きな違いが数多く明らかになります。

では、どう選択すればよいのでしょうか。このホワイトペーパーでは、アプリケー

ションに 適なプログラマブル SoC を選択する際のデザイン上の検討事項および技

術上のトレードオフの判断について解説します。主な選択基準は以下の 6 つの領域で

す。

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 10: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 6 システム性能

システム性能

システム信頼性および柔軟性

システム・コスト

消費電力

将来のロードマップ

開発ツール

システム性能異なる要素間の効率的なデータ移動に影響する SoC FPGA アーキテクチャの領域は、

究極的には次の 2 つです。

インタコネクト

オンチップおよびオフチップのメモリ帯域幅

L3 インタコネクトの重要性:最大性能のためのセントラル・スイッチ

SoC アーキテクチャについて 初に検討すべき項目は、レベル 3 (L3) インタコネクト

です。L3 インタコネクトは、データ転送用 L1/L2 キャッシュの次のレベルであるこ

とに名前が由来し、メモリ、FPGA ファブリック、プロセッサ、およびペリフェラル

間のデータをルーティングします。 表 2 に、SoC FPGA ベンダー間の L3 システム・イ

ンタコネクトに関する機能比較を示します。

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 11: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

システム性能 ページ 7

アルテラ SoC FPGA は、L3 メイン・スイッチ、L3 マスタ・ペリフェラル・スイッチ、

および L3 スレーブ・ペリフェラル・スイッチという 3 つのスイッチからなる L3 シス

テム・インタコネクトを備えています。これは、図 1 に示すように、ARM の AMBA®

NIC-301 ネットワーク・インタコネクト・インフラストラクチャを使用して実装され

ています。

アルテラ SoC FPGA は、ノンブロッキング・スイッチ・アーキテクチャでレイテンシ

を 小限に抑えるために、少階層バスを使用しています。インタコネクトは、複数の

マスタからの複数の同時トランザクションを、各マスタが無停止 ( つまり「ノンブ

ロッキング」) で動作するのに十分な帯域幅でサポートできるように設計されていま

す。バス・アービトレーションをガイドするために、各マスタに優先順位レベルを割

り当てることができます。優先順位が同じマスタのアービトレーションは、 長時間

未使用法 (LRU) アルゴリズムを使用して行われます。

図 1. アルテラ SoC FPGA のインタコネクト・アーキテクチャ

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 12: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 8 システム性能

マルチレベル階層を使用した SoC FPGA アーキテクチャも可能ですが、レイテンシが

生じる可能性があります。分散アービトレーションは、1 つの交差点に何人もの交通

整理員を配置するようなものです。このアプローチでは、マスタが停止しないように

するには中央 QoS ( サービス品質 ) モジュールを使用する必要があります。また、分

散アービトレーションには調整の問題もあり、DDR メモリ・ポートのアービトレー

ションと競合する可能性があります。

プロセッサ - FPGA インタコネクト:統合デバイスの利点を実現

SoC FPGA アーキテクチャの大きな利点の 1 つは、プロセッサと FPGA の緊密なオン

チップ結合です。この性能上の利点を実現するには、システム・データ転送のボトル

ネックとならないように十分な帯域幅 ( 幅および速度 ) を備えた、適切なタイプのプ

ロセッサ - FPGA インタコネクトを構築することが不可欠です。

この点について説明するために、図 2 に示す通信ライン・カード・アプリケーション

は 100 Gbps のネットワーク・データを処理する必要があるとします。FPGA は受信

データを高速で処理できますが、たとえプロセッサがトラフィックの 1 % しか処理し

ない場合でも、1 Gbps ものデータが FPGA ロジックとプロセッサ間のインタコネクト

を流れなければなりません。幸い、現在市販されている SoC FPGA は、FPGA ロジッ

クとプロセッサの間で 大 125 Gbps あるいはそれ以上という、このタイプのアプリ

ケーションには十分すぎるほどのスループットをサポートしています。

表 2. SoC FPGA デバイスの L3 システム・インタコネクト機能比較

機能 アルテラ SoC FPGA ベンダー B

インフラストラクチャ ARM AMBA NIC-301 ARM AMBA NIC-301

バス階層 少階層 マルチレベル

アービトレーションマスタごとに優先順位をプログラム可能。優先順位が同じ要求には LRU。

分散。QoS ブロックで制御。

図 2. 通信ライン・カードは、FPGA - プロセッサ間に 100 Gbps 以上のインタコネクト帯域幅が必要

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 13: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

システム性能 ページ 9

一部の SoC FPGA デバイスは、構造上、データパスとコントロール・パスが帯域幅を

奪い合います。プロセッサは、FPGA ロジック内のハードウェア・アクセラレータへ

のアクセスをセットアップし、コンフィギュレーションする必要があるかもしれませ

ん。これらのコントロール・トランザクションがデータ・トラフィックと競合した場

合、高スループット・データ・トラフィックがブロックされ、受信データの連続処理

が中断する可能性があります。同様に、広帯域幅データ・トラフィックによってコン

トロール信号に遅延が生じ、コントロール・レイテンシが増加する可能性もあります。

これを防止するために、アルテラ SoC FPGA は、低レイテンシ/ノンブロッキングの

「軽量」インタコネクト・ブリッジを別に備えています。プロセッサは、この単純な

32 ビット ARM AXI™ (Advanced eXtensible Interface) インタフェースを介して、FPGA内のコントロール・レジスタにアクセスするため、高スループット・データ・フロー

をブロックしたり、影響を与えたりすることがありません ( 図 3 の 低レイテンシ )。一方、プロセッサと FPGA 間の広帯域幅データ接続は、32、64、または 128 ビット幅

トランザクションをサポートしています ( 図 3 の 高スループット )。表 3 に、両方の

データパスのコンフィギュレーションを示します。

図 3. アルテラ SoC FPGA は、高スループット・データパスとノンブロッキング低レイテンシ・コントロール・パスを装備

表 3. SoC FPGA 内のプロセッサ - FPGA システム・インタコネクト機能 ( 1 / 2 )

機能 アルテラ SoC FPGA ベンダー B

広帯域幅プロセッサ/ FPGA インタコネクト

1 個の 32/64/128 ビット AXI (CPU → FPGA)

1 個の 32/64/128 ビット AXI (FPGA → CPU)

2 個の 32 ビット AXI (CPU → FPGA)

2 個の 32 ビット AXI (FPGA → CPU)

低レイテンシ・プロセッサ/ FPGA インタコネクト1 個の 32 ビット AXI (CPU → FPGA)

一方の広帯域幅バスを利用しなければならない

プロセッサ/ FPGA インタコネクトの合計 大理論帯域幅(1)

10.8 Gbps 4.8 Gbps

プロセッサ/ FPGA インタコネクト・データ幅 x32、x64、または x128 x32 固定

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 14: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 10 システム性能

DDR メモリ・コントローラの性能

デザインに使用する DDR DRAM を選択する際、通常はメモリ速度によって実際の性

能が決まると思うはずです ( 表 4 を参照 )。しかし、メモリ・データ転送の優先順位

付け、スケジューリング、および処理をどうインテリジェントに行うか等、他の要因

も全体的なメモリ性能に大きく影響する可能性があります。

この影響について説明するために、図 4 に示すように、メモリ・バス速度が異なる 2つの SoC FPGA デバイスについて考えてみましょう。どちらも 667 MHz で動作する

デュアルコア ARM Cortex-A9 プロセッサを搭載していますが、一方のデバイスは 400MHz で動作する外部メモリを使用し、もう一方は 533 MHz で動作する外部メモリを

使用しています。一見したところ、533 MHz メモリを使用するシステムの方が、メモ

リ性能が高い分、33% 高い性能を示すと思われるかもしれません。しかし、メモリ・

コントローラ・アーキテクチャの進歩により、実際にはかなり異なる結果となります。

プロセッサ/ FPGA トランザクション・バッファ書き込み 16 個 + ECC

読み出し 16 個 + ECC

書き込み 8 個

読み出し 8 個

注:

(1) インタコネクト・バス速度を 150 MHz と仮定。理論 大値 = バス速度 X データ幅。プロトコルおよびバッファリングのオーバーヘッドにより、実際の帯域幅は低くなります。

表 3. SoC FPGA 内のプロセッサ - FPGA システム・インタコネクト機能 ( 2 / 2 )

機能 アルテラ SoC FPGA ベンダー B

図 4. SoC FPGA のメモリ性能比較

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 15: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

システム性能 ページ 11

図 5 は、LMbench というシステム性能ベンチマークの結果です。アルテラは、メモ

リ・システム性能の業界標準ベンチマーク (www.bitmover.com/lmbench) であることか

ら、LMbench を採用しています。LMbench バージョン 3 による部分読み出し/書き込

みのケースは、典型的なエンベデッド・アプリケーションの転送を示しています。

図 5. LMbench の部分読み出し/書き込みメモリ帯域幅テストは、高度なコントローラの利点を実証

高いほど優秀

転送サイズ (バイト)

メモリ帯域幅 (MB/秒)

5,000

4,000

3,000

2,000

1,000

0

512 1 K 2 K 4 K 8 K 16 K

32 K

64 K

128 K

256 K

512 K 1 M 2 M 4 M 8 M 16 M

32 M

64 M

より高度なメモリ・コントローラを搭載しているため、アルテラ SoC FPGA の 400 MHz DDR3 メモリ・インタフェースは、競合デバイスの 533 MHz DDR3 メモリ・インタフェースよりパフォーマンスが優れています。

ベンダー BCPU: 667 MHzDDR3: 533 MHz

アルテラ SoC FPGACPU: 667 MHzDDR3: 400 MHz

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 16: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 12 システム性能

測定帯域幅は、データ・サイズが L1 キャッシュから L2 キャッシュ、外部メモリへと

移動するにつれて、徐々に低下します。

図 6 に示すように、より高度なメモリ・コントローラを搭載したアルテラ SoC FPGAは、メモリ動作周波数が低いにもかかわらず、 大 17% 高いメモリ帯域幅を引き出

しています。

これらの結果は、SoC FPGA を比較する際に、メモリ・バス仕様だけでなく、メモリ・

システム性能の測定値を確認することが重要であることを示しています。これもアー

キテクチャが重要である領域の例です。 新のメモリ・コントローラは、システム・

メモリの効率を 大化するために高度なアルゴリズムを採用しています。これらのア

ルゴリズムは、トランザクションの優先順位の管理、コマンド/データのリオーダリ

ング、および DWRR (Deficit Weight Round Robin) のような高度なアルゴリズムによる

保留トランザクションのスケジューリングによって、 大限の帯域幅を引き出しま

す。さらに、ソフトウェアによるシステムのカスタム・データ・プロファイルに合わ

せたメモリ・コントローラのカスタマイズ、優先順位の設定、ポートまたはトランザ

クション・チャネルの割り当て、さらには帯域幅共有の微調整によって性能向上を図

ることも可能です。優れたメモリ・コントローラは、システム・メモリから広帯域幅

を引き出すだけでなく、動作周波数を下げて消費電力を削減することも可能にしま

す。

図 6. データ転送サイズ別の LMbench メモリ帯域幅の差

表 4. 外部メモリ・コントローラ・サポートの比較 ( 1 / 2 )

機能 アルテラ SoC FPGA ベンダー B ベンダー C

プロセッサ・システム用ハード外部メモリ・コントローラ

あり あり あり

サポートする 大アドレス空間 4 G 1 G 4 G

サポートするメモリ・タイプLPDDR2、DDR2、DDR3L、DDR3

LPDDR2、DDR2、DDR3L、DDR3

LPDDR、DDR2、DDR3

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 17: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

システム性能 ページ 13

FPGA とプロセッサの DDR メモリ・コントローラの接続

SoC FPGA アプリケーションのコスト削減のためのオプションとして、FPGA 内に組

み込まれている機能は、プロセッサの DDR メモリ・コントローラを介してシステム・

メイン・メモリにアクセスできます。ただし、プロセッサのメモリ・コントローラを

共有すると、プロセッサまたは FPGA の性能が制限される可能性があります。そのた

め、FPGA からプロセッサのメモリ・コントローラへの接続は帯域幅に 適化しなけ

ればなりません。

表 5 に示すように、アルテラ SoC FPGA とベンダー B の SoC FPGA のいずれも、FPGAからプロセッサのメモリ・コントローラまでのビット幅は全体で 256 ビットです。ベ

ンダー B のデバイスでは、4 個の 64 ビット・ポートのうち、2 個はメモリ・コント

ローラにスイッチングされ、残りの 2 個はオンチップ・メモリ (OCM) にスイッチン

グされます。アルテラ SoC FPGA では、256 ビット・ポートのラインはすべてプロセッ

サのメモリ・コントローラに直接接続されており、 大 6 個の独立したコマンド/応

答ポート、4 個の読み出しポート、または 4 個の書き込みポートにコンフィギュレー

ションできます。256 ビット・インタフェースを共有する各ポートは、異なるバス・

プロトコル、異なるデータ幅、および異なるコンフィギュレーションを潜在的にサ

ポートできます。たとえば、アルテラ SoC FPGA では、プロセッサの DDR メモリ・

コントローラに対する FPGA インタフェースは、128 ビット Avalon® Memory-Mappedインタフェースと 2 個の 64 ビット AXI ポートを同時にサポートします。アルテラの

FPGA-DDR メモリ・インタフェースは、 大インタフェース・クロック・レートで

大 9,600 M バイト / 秒のピーク帯域幅をサポートします。

この追加の帯域幅は、FPGA インタフェースとプロセッサのメモリ・コントローラの

直接接続により、介在するスイッチまたはインタコネクト・レイヤから解放された結

果です。直接接続により、すべてのメモリ・ポートにおいて、 大限の帯域幅と優先

順位付けにおける 大限の柔軟性が得られます。それに対し、ベンダー B のインタ

フェース上の 4 個のポートは、プロセッサのメモリ・コントローラ上の 2 個のポート

に多重化されるため、 大帯域幅が低下します。

データ幅コンフィギュレーション・モード

x8x16x16+ECCx32x32+ECC

x16x16+ECCx32

x8

x8+ECC

x16

x16+ECC

x32

x32+ECC

統合 ECC サポート 16 ビット、32 ビット 16 ビット8 ビット、16 ビット、32 ビット

外部メモリ・バス 大周波数

400 MHz (Cyclone V SoC)、533 MHz (Arria V SoC)

533 MHz 333 MHz

表 4. 外部メモリ・コントローラ・サポートの比較 ( 2 / 2 )

機能 アルテラ SoC FPGA ベンダー B ベンダー C

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 18: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 14 システム性能

プロセッサのメモリ・コントローラに対するこれらの FPGA インタフェースは、トラ

フィックの相対優先順位もサポートしています。アルテラ SoC FPGA には、デバイス

内の通信をカスタマイズできるように 8 つの絶対優先順位レベルがあり、FPGA から

のトランザクションを動的かつ個別に優先順付けすることが可能です。一方、ベン

ダー B の SoC FPGA の絶対優先順位レベルは 2 つです。

ARM Cortex-A9 プロセッサを搭載した SoC FPGA は、ARM の AXI Exclusive 機能もサ

ポートしています。これは、基本的にトランザクションに関するハードウェア・ベー

スの特殊なセマフォ操作ですが、操作中に特定のマスタにバスを割り当てません。AXIExclusive セマフォ・タイプ操作は、バス・アクセス、レイテンシ、または達成可能な

大帯域幅に影響しません。アルテラ SoC FPGA デバイスの AXI Exclusive 機能は、す

べての DDR メモリ・ポートにわたるトランザクションをサポートしています。他の

デバイスではポート単位でのみ利用可能です。

ハードウェア・アクセラレーションとキャッシュ・コヒーレンシ

統合プロセッサ/ FPGA システムのもう 1 つの潜在的利点として、計算量の多い機能

を FPGA ロジックで高速化することでシステム性能の向上が可能であることが挙げ

られます。CRC ( 巡回冗長検査 ) の計算から TCP/IP スタック全体のオフロードまで、

ほぼすべての処理を FPGA ロジックで高速化することでプロセッサをオフロードで

きます。FPGA ベースのアクセラレータによって新しい結果が出たら、プロセッサが

データのビューを更新できるように、可能な限り迅速にデータをプロセッサに戻す必

要があります。

表 5. FPGA とプロセッサの DDR メモリ・コントローラの接続

機能 アルテラ SoC FPGA ベンダー B

FPGA-DDR メモリ・インタコネクト・パス

256 ビット、AXI/Avalon-MM インタフェース

(FPGA → DRAM)

4 個の 64 ビット AXI

(FPGA → DRAM およびオンチップ RAM)

個別ポート・サイズ・オプション

8/16/32/64/256 ビット 32/64 ビット

大 FPGA - インタコネクト・ポート

6 個のコマンド/応答ポート

4 個の読み出しポート

4 個の書き込みポート

4 個の x64 読み出しポート

4 個の x64 書き込みポート

プロセッサ DDR ハード・メモリ・コントローラ・ポートに対する 大インタコネクト

6 個のコマンド/応答ポート

4 個の読み出しポート

4 個の書き込みポート

2 個の x64 読み出しポート

2 個の x64 書き込みポート

(4 個のポートから多重化 )

接続 直接スイッチング (4 個の FPGA ポートをメモリ・インタコネクト内の 2 個の DDR メモリ・ポートに多重化 )

FIFO サイズ 16 x 256 = 512 バイト + ECC 128 x 64 = 1 K バイト

相対トラフィック優先順位

あり あり

絶対優先順位レベル 8 2

AXI Exclusive メモリ共有大ポート数

全ポート、全 ID 1 ポート、2 ID

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 19: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

システム性能 ページ 15

ARM Cortex-A9 ベースの SoC FPGA は、アクセラレータ・コヒーレンシ・ポート (ACP)と呼ばれる機能を備えています。ACP により、FPGA ベースのハードウェア・アクセ

ラレータによって生成された新しいデータは、低レイテンシの直接接続を介して、迅

速だけでなくコヒーレントに、プロセッサの L2 キャッシュに直接転送されます。

ACP ロジックはコヒーレンシを自動的に維持するため、コヒーレントなデータ転送に

は約 30 サイクルが必要です。データ・コヒーレンシを保証するための他の方法は L2キャッシュをフラッシュすることですが、それには数百サイクルが必要です。表 6 に示すように、アルテラ SoC FPGA は FPGA ベースの機能とプロセッサ・ペリフェラル

の両方に対してコヒーレント・トランザクションをサポートしています。他の SoCFPGA は、1 個の専用ポートを介した FPGA 機能のみをサポートしており、プロセッ

サ・ペリフェラルからのトランザクションはサポートしていません。

本来、ACP インタフェースは一般に専用アクセラレータも、ACP サポートを必要と

するペリフェラルも少数しか備えていないフルカスタム SoC デバイス用に設計され

たものです。そのため、ARM ACP インタフェースがサポートするインフライト・ト

ランザクションまたは保留トランザクションは、合計 8 つのみです。しかし、SoCFPGA は、柔軟なプログラマブル・アーキテクチャのため、コヒーレント・サポート

が必要なハードウェア・アクセラレータをさらに多く搭載していることがあります。

そうした機能を 8 つ以上サポートするために、アルテラ SoC FPGA は、8 つのインフ

ライト・トランザクションに加えて、無制限数の保留トランザクションをサポートす

る ACP ID マッパーを備えています。

追加のメモリ・コントローラによる最大システム性能の向上

どの SoC FPGA も、主にプロセッサのコードおよびデータの保存・検索用として、専

用 DDR ハード・メモリ・コントローラをプロセッサ・サブシステムの一部として備

えています。プロセッサの・メモリ・コントローラは、コスト削減のために、FPGA内のロジック機能と共有することも可能です。

表 6. SoC FPGA のアクセラレータ・コヒーレンシ・ポート (ACP) の違い

アルテラ SoC FPGA ベンダー B

ACP による FPGA ベース・マスタのサポート あり あり

ACP によるプロセッサ・ペリフェラル・マスタのサポート

あり なし

ACP ID マッパー あり なし

ACP がサポートするインフライト・トランザクション数

8 8 ( インフライトまたは保留の合計 )

ACP がサポートする保留トランザクション数 無制限8 ( インフライトまたは保留の合計 )

ACP ポート・コンフィギュレーション x64 AXI x64 AXI

ACP ポート・クロック・ソースCPU クロックの 1/2

(400 MHz)

FPGA

(150 MHz)

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 20: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 16 システム性能

しかし、 大、性能、アプリケーションによっては、表 7 に示すように、プロセッサ

のメモリ・コントローラと FPGA のメモリ・コントローラを分けておいた方がよい場

合もあります。アプリケーション・ソフトウェアが特に高負荷な場合、プロセッサ専

用のメモリ・アレイを確保すると有効です。同様に、広帯域幅 FPGA アプリケーショ

ンも専用のメモリ・アレイを確保すると有効です。

表 8 に示すように、アルテラの 28nm SoC FPGA は、1 個または 3 個の、独立したハー

ド DDR メモリ・コントローラを搭載、FPGA ロジック機能専用、プロセッサの・メ

モリ・コントローラと同じ、高度な機能を備えてどの市販 SoC FPGA も、プログラマ

ブル・ロジックからの専用メモリ・コントローラの構築および FPGA ファブリックへ

の追加をサポートしています。欠点は、これらのソフト・コントローラと他のアプリ

ケーション・ロジックの間で FPGA リソース・アクセスの競合が発生することです。

また、ソフト・メモリ・コントローラの構築およびタイミング収束に時間がかかるた

め、より重要な独自 IP の開発に振り向けられる貴重な設計時間が減ることにもなり

かねません。

システム信頼性および柔軟性

高度に統合された SoC FPGA は、より信頼性に優れたシステムの構築にも役立ちま

す。市販 SoC FPGA デバイスを差異化する重要な側面は次の 2 つです。

表 7. さまざまなアプリケーション・タイプにおけるプロセッサおよび FPGA メモリ・インタフェースの使用

アプリケーション・タイプ

プロセッサ・メモリ・コントローラ FPGA メモリ・コントローラ

少コストプロセッサと FPGA 機能がプロセッサのメモリ・コントローラを使用して共通の DDR メモリ・サブシステムを共有

使用しない

プロセッサと FPGA が共通の大容量メモリ領域を共有

プロセッサと FPGA 機能がプロセッサのメモリ・コントローラを使用して共通の DDR メモリ・サブシステムを共有

他の FPGA 機能に利用可能

高負荷な計算システムプロセッサのメモリ・コントローラはプロセッサ専用

FPGA 機能はすべて、FPGA のメモリ・コントローラを使用して HPS のメモリ・コントローラをオフロード

広帯域幅 FPGA 機能プロセッサはプロセッサのメモリ・コントローラを使用し、場合によっては他の狭帯域幅 FPGA 機能と共有

FPGA メモリ・コントローラは FPGA 専用

表 8. FPGA アプリケーション専用のハード・メモリ・コントローラおよびソフト・メモリ・コントローラ

機能 アルテラ SoC FPGA ベンダー B ベンダー C

FPGA ファブリック内のハード・メモリ・コントローラ

1 ~ 3 個 ( デバイスによる )

なし なし

FPGA ファブリック内のソフト・メモリ・コントローラ

あり、FPGA ロジックを使用

あり、FPGA ロジックを使用

あり、FPGA ロジックを使用

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 21: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

システム性能 ページ 17

システム内で利用可能なメモリ保護の程度

SoC FPGA のソフトウェア・バグへの対応

ECC によるメモリ内容の保護

現在のデザインにおける傾向として、エラーの検出、修正、および監視の必要性が高

まっています。メモリ・サイズおよび集積度が増大し続ける中、エラー検査および訂

正の必要性と重要性も高まっています。ほとんどの 新システムは、データの完全性

の確保を支援する専用ハードウェアを備えています。

f 詳細については、ホワイトペーパー「 Error Correction Code in SoC FPGA-Based Memory Systems」( 英語版・PDF) を参照してください。

SoC FPGA の観点から見て、これにはメモリ・コントローラの一部としてだけでなく、

プロセッサのオンチップ・メモリ、キャッシュ、およびペリフェラル・バッファ内に

統合された ECC ( 誤り訂正符号 ) 保護が含まれます。ECC 回路により、予期しない

データ・エラーや壊れたデータに対するシステムの堅牢性と耐性が向上します。

当面の対策として、データの完全性が不可欠であるアプリケーション、システム・メ

イン・メモリに ECC を追加することが不可欠ですが、保護可能なものをすべて保護

することが重要です。つまり、メイン・メモリだけでなく、L2 キャッシュおよびオ

ンチップ RAM も ECC で保護することが重要ということです。これもアーキテクチャ

が重要である領域の例です。考え抜かれたアーキテクチャでは、データ転送パスのす

べてのステップに配慮が行き届き、各ステップに適切な保護が組み込まれています。

ECC 保護は、デバイスに組み込まない限り、追加することが極めて困難で、しかも法

外なコストがかかります。

表 9 に、システム全体にわたって実装された ECC 回路を要約します。

表 9. SoC FPGA の ECC

アルテラ SoC FPGA ベンダー B

L1 キャッシュパリティ (Cortex-A9 インプリメンテーションの一部 )

パリティ (Cortex-A9 インプリメンテーションの一部 )

L2 キャッシュ あり ECC 非対応

外部 DDR メモリ・コントローラ

( 単一誤り訂正および二重誤り検出 )

x16

x32x16 のみ

オンチップ RAM あり パリティ、ECC 非対応

4 線式 SPI コントローラ あり ECC 非対応

NAND コントローラ

512 バイト ECC セクタ・サイズ

(4/8/16 ビット訂正 )

1,024 バイト ECC セクタ・サイズ

(24 ビット訂正 )

フトウェア・アシストを必要とする 1 ビット・ハードウェア・サポート

SD/MMC/SDIO コントローラ あり ECC 非対応

DMA コントローラ あり ECC 非対応

10/100/1G イーサネット・コントローラ あり ECC 非対応

USB 2.0 OTG コントローラ あり ECC 非対応

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 22: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 18 システム性能

L1 キャッシュは、ARM Cortex-A9 プロセッサの一体部分です。性能上の理由に加え、

サイズが比較的小さいことから、ARM によって実装された L1 キャッシュは、パリ

ティを使用してシングルビット・エラーを検出するもので、完全な ECC は備えてい

ません。

NAND フラッシュも注目する価値があります。NAND フラッシュは、ファイル・シス

テムの格納に役立ちますが、NOR フラッシュに比べて信頼性に欠けます。そのため、

NAND フラッシュ の ECC はエラーをなくすのに有効です。初期の NAND フラッ

シュ・メモリ・コントローラには、シングルビット ECC 保護が組み込まれていまし

た。これはある程度有効ですが、CPU が ECC を管理しなければならないため、性能

に大きく影響する可能性があります。 新の NAND メモリ・コントローラ、マルチ

ビット ECC 保護を備えています。具体的には、アルテラ SoC FPGA に実装された

NAND フラッシュ・コントローラは、512 バイト・セクタ・サイズに対する 4/8/16ビット訂正、および 1,024 バイト・セクタ・サイズに対する 24 ビット訂正を備えてい

ます。これにより、性能を低下させることなく、必要な保護が得られます。

共有メモリのメモリ保護

メモリ保護は、より高度なプロセッサに付随することが多い機能です。名称がメモ

リ・マネージメント・ユニット (MMU) にせよ、メモリ保護ユニット (MPU) にせよ、

プロセッサのメモリ保護装置は、異常または不正なプロセッサ・トランザクションが

他のメモリ領域を読み出したり、破損させたりするのを防止します。Cortex-A9 プロ

セッサでは、この保護概念は、セキュリティが重要なシステムにシステム規模のアプ

ローチを提供する TrustZone® テクノロジによって拡張されています。

一部の SoC FPGA は、メモリ保護を FPGA まで拡大しています。なぜ FPGA からのメ

モリ保護、あるいは FPGA のメモリ保護が必要なのでしょうか。プロセッサと FPGAは、コスト削減、ボード・スペース削減、または消費電力削減のために、1 つの外部

DDR メモリ・インタフェースを共有できます。もしカスタム FPGA ロジックがプロ

セッサのデータ、アプリケーション・コード、またはオペレーティング・システム

(OS) カーネルに属するメモリのセクションを誤って上書きしたらどうなるでしょう

か。これは、システム障害やプロセッサの異常動作の原因となる可能性があります。

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 23: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

システム性能 ページ 19

これを防止するために、図 7 に示すように、特定のメモリ領域をオペレーティング・

システムおよびエンベデッド・ソフトウェア・アプリケーションの専用にすると同時

に、他のメモリ領域を FPGA ベースの機能専用にすることができます。メモリ保護に

より、FPGA ベースの機能によるオペレーティング・システムまたはエンベデッド・

ソフトウェアの領域の破損が防止されます。

表 10 に、FPGA から外部メモリへのアクセスに関するメモリ保護についてまとめて

います。

どちらの SoC FPGA も ARM の TrustZone セキュリティ機能をサポートしていますが、

アルテラ SoC FPGA の保護領域の方が 1 M バイトまでと、グラニュラリティが高く

なっています。しかも、アルテラ SoC FPGA は、特定の領域に対する 20 個のユーザー

定義可能保護ルールをサポートしています。そのため、よりきめ細かい調整と正確な

コントロールが可能で、FPGA マスタによる不要な領域へのアクセスを防止できます。

図 7. プロセッサと FPGA がメモリを共有する場合の DDR メモリ保護

表 10. FPGA から外部メモリへのアクセスに関するメモリ保護

機能 アルテラ SoC FPGA ベンダー B

TrustZone セキュリティ あり あり

TrustZone 領域サイズのグラニュラリティ

1 M バイト境界 64 M バイト境界

メモリ保護

20 個のユーザー定義保護ルール。ルールごとに以下を定義:

TrustZone

アドレス範囲

マスタ ID 範囲

ポート範囲 ( マスク )

包括/除外

TrustZone

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 24: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 20 システム性能

ウォッチドッグ・リセットとその FPGA ロジックに対する影響

ウォッチドッグ・タイマは、異常なソフトウェアによってシステムが無効化されるこ

とを防止します。前世代の 2 チップ ( プロセッサと FPGA) ソリューションでプロセッ

サが異常停止した場合、FPGA は動作し続けますが、プロセッサのウォッチドッグ・

タイマがプロセッサをリセットし、システムはできる限り安全に回復します。適切に

設計された SoC FPGA は、同様の「独立」動作をサポートするほか、必要に応じて

FPGA をリコンフィギュレーションすることが可能です。しかし、システム設計者が

FPGA のリコンフィギュレーションを必要な動作として指定しない限り、すべての場

合において FPGA をリコンフィギュレーションする必要はないはずです。多くの場

合、プロセッサのセルフ・リセット中も、FPGA ロジックが外部スティミュラスの監

視・反応を続ける方が重要かもしれません。したがって、この状況における FPGA リコンフィギュレーションの処理方法について確認することが重要です。

表 11 に示すように、アルテラ SoC FPGA のリセット回路は、従来の使用方法に適合

しています。プロセッサと FPGA のリセット回路は独立して動作します ( オプション

として、リセット・イベントの相互通信も可能 )。CPU リセットに対する FPGA 部分

の反応として、コンフィギュレーション済み FPGA ロジック部分のみをリセットする

か、FPGA を完全にリコンフィギュレーションするか、あるいは完全に無視するかを

開発者が決定します。ベンダー B の SoC FPGA では、CPU リセットが発生すると常

に FPGA ロジックはリコンフィギュレーションされます。

フェイルセーフ・ブートおよびコンフィギュレーション

SoC FPGA は、完全にプログラマブルなシングルチップ・システムであるため、プロ

セッサを正常にブートし、FPGA をコンフィギュレーションするまでは完全に機能し

ません。SoC FPGA は、リモートでのインフィールド・システム・アップデートをサ

ポートするシステムに不可欠な機能として、ブートまたはコンフィギュレーションが

失敗した場合のフェイルセーフ・リカバリ手段を備えています。表 12 に要約するよ

うに、コンフィギュレーション中に物理障害が発生した場合、SoC FPGA は「フェイ

ルセーフ」リカバリを実行します。また、コンフィギュレーション・ヘッダまたはコ

ンフィギュレーション・イメージ自体に CRC エラーが発生した場合は、代替のコン

フィギュレーション・イメージを自動的にロードします。

表 11. SoC FPGA における CPU リセット

機能 アルテラ SoC FPGA ベンダー B

CPU リセットに対する FPGA の反応

ユーザー定義:

ユーザー・デザインに応じて FPGA ロジック内のフリップフロップをリセット

FPGA ロジックをリコンフィギュレーション

無反応

常に FPGA をリコンフィギュレーション

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 25: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

柔軟性 ページ 21

アルテラ SoC FPGA は、さらにその他の論理障害に対するフェイルセーフ・リカバリ

手段も備えています。アルテラ SoC FPGA が正常にブートすると、ブート・ローダ・

ソフトウェアはコンフィギュレーションの成功を示すビットを設定します。しかし、

ブート・ローダがビットの設定に失敗した場合、ウォッチドッグ・タイマはウォー

ム・リセットをトリガしてブート・プロセスを再実行します。アルテラ SoC FPGA がブート・プロセスを再実行すると、プロセッサは前回のブートの試みが失敗したもの

と判断し、 後の既知の良好なイメージを選択します。

柔軟性柔軟性は、多くの設計者が 初から FPGA を使用する共通の理由です。完全にプログ

ラマブルな SoC は、デザインの柔軟性をシステム・レベルにまで広げます。このセク

ションでは、SoC FPGA を選択する際に考慮すべきアーキテクチャ上の要素として、

次の 3 つに焦点を当てます。

プロセッサ・ブートおよび FPGA コンフィギュレーション・オプション

オンチップ FPGA インタフェース

共通のパッケージ・フットプリント

さまざまなプロセッサ・ブートおよび FPGA コンフィギュレーション・オプション

柔軟性の必要性は、ブートにも当てはまります。図 8 に示すように、SoC FPGA には

プロセッサのブートおよび FPGA のコンフィギュレーションに関して、3 つのオプ

ションがあります。

表 12. SoC FPGA デバイスにおけるフェイルセーフ・プロセッサ・ブート/ FPGA コンフィギュレーション

機能 アルテラ SoC FPGA ベンダー B

ブート時の物理障害に対するフェイルセーフ・リブート

あり あり

ブート時の論理障害に対するフェイルセーフ・リブート

あり なし

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 26: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 22 柔軟性

図 8. SoC FPGA のプロセッサ・ブートおよび FPGA コンフィギュレーション・オプション

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 27: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

柔軟性 ページ 23

どの SoC FPGA も、 初にプロセッサをブートした後、ソフトウェア制御下で FPGAをコンフィギュレーションする、プロセッサのような「CPU 優先」 ( 図 8 の上 ) をサ

ポートしています。このモードは、プロセッサが FPGA を大きな「ペリフェラル」デ

バイスとしてコンフィギュレーションすることを除いて、通常のプロセッサ・ブート

と同様に機能します。このモードの利点は、 初にプロセッサを起動する従来の方法

に従っているため、既存のブート・コードを容易に変換できることです。欠点として

は、プロセッサのブート中の遅延が許容されないシステムの場合、コンフィギュレー

ション時間の制約があることや、プロセッサがブート中に FPGA が実行した方が好都

合な機能もあることなどが挙げられます。

2 番目のオプション ( 図 8 の中央 ) は、 初に FPGA をコンフィギュレーションした

後、FPGA ロジックによって CPU をブートします。この方法の用途としては、FPGAにシステムを検証させ、セキュリティ保護させてから、プロセッサにブートまたはそ

の他のセキュア・ブート・モードを許可することや、FPGA を使用してカスタム・バッ

クプレーンを起動した後、それを使用してプロセッサをブートすることが考えられま

す。

3 番目のオプション ( 図 8 の下 ) は、プロセッサ・ブート・メカニズムと FPGA コン

フィギュレーション・メカニズムが完全に独立しています。この例では、プロセッサ

はいずれかのフラッシュ・メモリ・ソースからブートします。それとは別に、FPGAはいずれかのデータ・ソースからコンフィギュレーションされます。そのため、FPGAサブシステムを短時間 (13 ms 程度 ) でコンフィギュレーションし、FPGA の残りの部

分を PCI Express® (PCIe®) インタフェースにコンフィギュレーションさせることが可

能です。

表 13 に、2 つの SoC FPGA がサポートする各種ブート・モードを示します。現在、

ARM Cortex-A9 プロセッサ・ベースの SoC FPGA の中で、これら 3 つのオプションを

すべてサポートして設計されているのはアルテラ SoC FPGA のみです。

複数のブート・イメージ

多くの SoC 開発者は、その固有の信頼性 (NOR テクノロジ )、比較的低いコスト、

小の I/O 要件のため、4 線式 SPI フラッシュにブート・イメージを格納することを好

みます。プロセッサが FPGA のコンフィギュレーションを行うシステムの場合、以下

をはじめとするハードウェアおよびソフトウェアの内容がフラッシュ・ブート・イ

メージに含まれます。

表 13. SoC FPGA のプロセッサ・ブートおよび FPGA コンフィギュレーション・オプション

機能アルテラ SoC

FPGA ベンダー B

初に CPU をブートした後、CPU が FPGA をコンフィギュレーション

あり あり

初に FPGA をコンフィギュレーションし、FPGA ファブリックまたはバックプレーンによって CPU をブート

あり なし

CPU を独立してブートし、FPGA を独立してコンフィギュレーション あり なし

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 28: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 24 柔軟性

CPU ブート・コード

オペレーティング・システム (OS) /リアルタイム・オペレーティング・システム(RTOS)

アプリケーション・コードおよびデータ

FPGA コンフィギュレーション

工場出荷時のデフォルト・イメージを格納したものが 1 つ、システム・アップデート

を格納したものが少なくとも 1 つという具合に、一般に複数の「ブート・イメージ」

が望まれます。工場出荷時のデフォルト・イメージは、アップデートが正常にロード

されなかった場合に備えて必ず格納されます。そうすれば、システムは自動的に既知

の良好なイメージに戻した上で、アップデートを再試行できます。

表 14 に、ソフトウェア要件が「 小限」と「高度」の場合に基づくブート・イメー

ジ全体、および FPGA 集積度が低/中/高の場合のハードウェア・イメージの見積も

りを示します。

4 線式 SPI デバイスの場合、選択する SoC ベンダーによっては、必要なストレージ容

量が問題となることがあります。アルテラは、 大 4 G バイト のアドレス空間をサ

ポートした 4 線式 SPI インタフェース、および 大 4 つのチップ・セレクトを提供し

ています。ベンダー B の 4 線式 SPI がサポートするアドレス範囲は 16 M バイト、チッ

プ・セレクトは 大 2 つで、合計ブート・イメージ・サイズは 32 MB に制限されて

います。

表 14. ブート・イメージのサイズ要件および 4 線式 SPI デバイスへのマッピング

ソフトウェア要件 最小限 高度

ユーザー・スペース・コード (M バイト )

5 5 5 50 50 50

Linux カーネル (M バイト ) 3 3 3 5 5 5

ブート・コード (M バイト ) 0.5 0.5 0.5 0.5 0.5 0.5

FPGA 集積度 低 中 高 低 中 高

FPGA ハードウェア・イメージ (M バイト )

2.4 6.1 14.4 2.4 6.1 14.4

必要な合計ストレージ容量

シングル・イメージ (M バイト ) 11 15 23 58 62 70

デュアル・イメージ (M バイト ) 22 29 46 116 123 140

アルテラ SoC FPGA

シングル・イメージ (4 線式 SPI デバイス数 )

1 1 1 1 1 1

デュアル・イメージ (4 線式 SPI デバイス数 )

1 1 1 1 1 2

ベンダー B

シングル・イメージ (4 線式 SPI デバイス数 )

1 1 2 ― ― ―

デュアル・イメージ (4 線式 SPI デバイス数 )

2 2 ― ― ― ―

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 29: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

柔軟性 ページ 25

表が示すように、アルテラ SoC FPGA は複数の大容量ブート・イメージをサポートで

きます。ベンダー B の SoC FPGA は、扱うことができるブート・イメージのサイズお

よび数が限られています。なお、上記見積もりでは、4 線式 SPI デバイスの 大サイ

ズを 1 Gb (128 M バイト ) としています。

オンチップ FPGA インタフェース

柔軟性は、オンチップ FPGA インタフェースについても言えることです。アプリケー

ションが標準ベースの多機能インタフェースを必要とする場合もあれば、シンプルな

もので十分な場合や、カスタマイズされたものが必要な場合もあります。

高度な機能を必要とするアプリケーションのために、SoC FPGA はプロセッサ、ハー

ド・ペリフェラル、および FPGA ロジックの接続に ARM の AXI を使用しています。

AXI 規格は、実証済みの業界標準を使用して、データ幅の広い高速インタフェースを

提供します。しかし、IP コアが AXI の多機能性をすべて必要としない場合や、拡張

性の方が重要な場合はどうでしょうか。極端な話をすれば、1000 線のカスタム・イン

タフェースが必要な場合もあれば、LED の点滅やスイッチの読み出しのために 1 線で

十分な場合もあります。

こうしたさまざまなニーズに対応するために、アルテラ SoC FPGA は AXI インタ

フェースに加え、Avalon® Memory-Mapped (Avalon-MM) インタフェースおよび AvalonStreaming (Avalon-ST) インタフェースをサポートしています。これらのスケーラブル

なアルテラ・インタフェース規格は、要件があまり厳しくない機能やその他の特定機

能に適しています。このため、IP 設計者は機能ごとに 適なインタフェースを選択で

きます。また、アルテラ FPGA の既存顧客は、これらのインタフェースに基づいて構

築され、AXI の恩恵が得られない IP について、AXI への移行を強制されることなく

IP を使用し続けることが可能です。

f Avalon インタフェースの詳細については、「Avalon Interface Specification」を参照して

ください。

表 15 に、FPGA IP インタフェースをまとめています。

表 15. SoC デバイスがサポートする FPGA IP インタフェース

機能アルテラ

SoC FPGA ベンダー B

FPGA IP インタフェース

AXI

Avalon-MM

Avalon-ST

AXI

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 30: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 26 柔軟性

共通フットプリントでの集積度/トランシーバ/機能のマイグレーション

共通のパッケージ・フットプリントは、設計・開発・展開における柔軟性を高めます。

アルテラ SoC FPGA は、図 9 に示すように、ゲート集積度が異なるデバイス間でも、

パッケージ・フットプリントが同じであるため、デザインのマイグレーションを容易

に行えるように設計されています。さらに、パッケージ・フットプリントが共通であ

る限り、トランシーバ内蔵デバイスとトランシーバ非内蔵デバイスの間でのマイグ

レーションも可能です。さらなるコスト削減のために、トランシーバ非内蔵モデルに

はデュアルコア・プロセッサ・バージョンまたはシングルコア・プロセッサ・バー

ジョンが用意されています。これらのオプションにより、単一のプリント基板プラッ

トフォームでさまざまなコスト目標や機能目標に対応できます。

図 9. アルテラ Cyclone V SoC ファミリの集積度/パッケージ・マイグレーション

注:1. DRAM 専用 I/O を含む。

KLE

254085110

48419 x 190.8 mm

66666666161

67223 x 230.8 mm

138138138138188

89631 x 311.0 mm

288288188

ピン

パッケージ・サイズ

ボール・ピッチ

I/O 数

デバイス・ファミリ

Cyclone VSoC FPGA

HPS I/O(1)

アルテラ:トランシーバ非搭載デバイス

KLC

28

85

22513 x 130.8 mm

54

86

40017 x 170.8 mm

100

125

130

48419 x 190.8 mm

200

130

ピン

パッケージ・サイズ

ボール・ピッチ

I/O 数

デバイス・ファミリ

A

PS I/O(1)

ベンダー B:トランシーバ非搭載デバイス

KLE

254085110350460

67223 x 231.0 mm145、6145、6145、6145、6

188

89631 x 311.0 mm

288、9288、9

188

89631 x 311.0 mm

178、12178、12

216

ピン

パッケージ・サイズ

ボール・ピッチ

I/O 数

(I/O、トランシーバ)

デバイス・ファミリ

Cyclone VSoC FPGA

HPS I/O(1)

アルテラ:トランシーバ搭載デバイス1,152

35 x 351.0 mm

350、18350、18

216

1,51740 x 401.0 mm

528、30528、30

216

Arria VSoC FPGA

KLC

74125350444

48519 x 190.8 mm150、4150、4

157

48423 x 231.0 mm

163、4

130

67627 x 271.0 mm

250、8250、8

130

ピン

パッケージ・サイズ

ボール・ピッチ

I/O 数

(I/O、トランシーバ)

デバイス・ファミリ

A

PS I/O(1)

ベンダー B:トランシーバ搭載デバイス900

31 x 311.0 mm

362、16362、16

130

1,15635 x 351.0 mm

362、16362、16

130

B

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 31: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

システム・コスト ページ 27

システム・コスト現在出荷されているほとんどすべてのシステムは、コスト圧力の高まりにさらされて

います。SoC FPGA は高度な機能を備えた革新的な製品ですが、アルテラ SoC FPGAは部品コストとシステム・コストの両方を考慮して設計されています。1 個の SoCFPGA に置き換えることで、コンポーネント・コストの 大 50% 削減に加え、システ

ム・コストの削減にもつながる可能性があります。表 16 に、システム・コスト要素

比較を示します。

SoC FPGA のコストを検討する際は、次の 3 つの側面について考えることが重要です。

SoC にすでに統合されている同等機能の数

アプリケーションにおける高速トランシーバの必要性および必要数

付随する電源コスト

統合機能

SoC FPGA ソリューションはどう統合されているのでしょうか。アプリケーションに

もよりますが、プロセッサ、すべてのペリフェラル、複数の DSP、豊富なオンチッ

プ・メモリ、高速トランシーバ、クロック管理、および大量のカスタム・ロジックに

相当するシステムを 1 個の SoC FPGA に収容することが可能です。いずれにせよ、検

討すべき事項は多くあります。

シングルコアとデュアルコアの両方のプロセッサ・バージョンが用意されている

か。

ARM プロセッサ・コアに加え、どのようなペリフェラルが統合されているか。

ハード・メモリ・コントローラはいくつ搭載されているか。

PLL (Phase-Lock Loop) は統合されているか。

コンフィギュレーション・オプションによるコスト削減方法はあるか。

FPGA アプリケーション用のハード・メモリ・コントローラは内蔵されているか、

追加の FPGA ロジックをコントローラに割り振る必要があるか。

プラットフォームのコスト 適化を図るための共通パッケージ・フットプリント

はあるか。

高速トランシーバ

高速トランシーバも非常に重要な機能であり、デザインのコストに大きく影響する可

能性があります。アルテラ SoC FPGA には、製品ライン全体にわたって高速トラン

シーバ・オプションが用意されています。具体的には、 も大規模なフル機能のデバ

イスはもちろん、ローエンドのエントリー・レベル・デバイスでも、高速トランシー

バ内蔵製品がオプションとして入手可能です。高速トランシーバは、PCIe のようなア

プリケーションには不可欠です。高速トランシーバが内蔵されていない場合、外部イ

ンタフェース・コンポーネントが必要であり、システムの部品 (BOM) コストが増加

します。その一方で、高速トランシーバが不要なエンベデッド・デザインもあるため、

アルテラでは SoC FPGA コンポーネント・コスト削減のために、高速トランシーバを

内蔵していない SoC FPGA 製品も提供しています。

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 32: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 28 消費電力

電源コスト

必要な電圧レールの数および容量は、デザインのコストおよび複雑度に大きく影響し

ます。どの SoC FPGA にも複数の電圧レールが必要ですが、必要な数はそれぞれ異な

ります。また、SoC FPGA によっては、厳密なパワーオン/パワーオフ・シーケンス・

コントロールが必要であり、より高度な ( つまり、より高コストの ) 電源が必要にな

ります。特に、パワーオフ・シーケンスは、発生し得るあらゆる潜在的な電力損失条

件のため容易ではありません。理想的には、パワーオンまたはパワーオフ条件がデバ

イスの長期的な信頼性に影響する場合、そうした要件は回避すべきです。アルテラ

SoC FPGA には、パワーオンまたはパワーオフ・シーケンス要件は一切ありません。

表 16 を参照してください。

消費電力消費電力の削減は、多くのデザインにおいて、決定的要因とは言わないまでも、ます

ます重要な要因となっています。

SoC FPGA デバイスを選択する際、消費電力に関して検討すべき重要な領域は次の 3つです。

表 16. SoC FPGA のシステム・コスト要素比較

機能 アルテラ SoC FPGA ベンダー B

シングルコアとデュアルコアのプロセッサ・オプション

ありなし

( デュアルコアのみ )

プロセッサ・システムおよび FPGA ファブリックのハード・メモリ・コントローラ

あり

( プロセッサ・システムに 1 個、FPGA に 大 3 個 )

なし

( プロセッサ・システムに 1 個、FPGA はなし )

全デバイスへの高速トランシーバ内蔵

( 統合 PCIe に必要 )あり

なし

(6 製品中 2 製品が高速トランシーバ非内蔵 )

統合アナログ・ミックスド・シグナル なしあり

(2 x 12 ビット、1 MSPS ADCs)

相対トラフィック優先順位 あり あり

ロジック集積度の範囲25、40、85、110、350、460 KLE

28、74、85、125、350、444 KLC

パッケージ・マイクグレーション あり 限定的

パワーオフ・シーケンス要件 なし あり ( 追加の外部回路が必要 )

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 33: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

消費電力 ページ 29

統合

省電力モード

パワーオン/パワーオフ・シーケンス要件

統合による消費電力削減

図 10 に示すように、単にプロセッサと FPGA コンポーネントを 1 個の SoC FPGA に統合するだけで、システム消費電力の 10% ~ 30% 削減につながる可能性があります。

多くの場合、高い電圧でデバイス間の信号を伝送する I/O は、アプリケーションの中

で も消費電力の大きい機能の 1 つです。

10 ページの「DDR メモリ・コントローラの性能」で述べたように、よりスマートな

メモリ・コントローラも消費電力の削減につながります。スマートなメモリ・コント

ローラはデータ転送の効率が高いため、メモリ帯域幅を犠牲にすることなく、動作ク

ロック周波数を下げることが可能です。たとえば、図 5 に示すように、400 MHz DDR3とスマートなメモリ・コントローラを組み合わせることにより、533 MHz DDR3 と通

常のメモリ・コントローラの組み合わせと同等以上の性能を達成することが可能で

す。この効率向上とクロック・レート低減は、数ミリワットというシステム消費電力

バジェットの大きな節約につながります。

省電力モード

SoC FPGA は、省電力およびコスト削減につながる各種電力機能を採用しています。

消費電力の大部分はデバイスの FPGA 部分で消費されるため、プロセッサ・システム

と FPGA が独立したパワー・プレーンをそれぞれ備えていることが重要です。そうす

れば、プロセッサがソフトウェア・コントロールによって FPGA を低消費電力モード

にすることで、消費電力を削減できます。

図 10. プロセッサと FPGA を 1 個の SoC FPGA に統合すると、消費電力の大きいチップ間 I/O 接続の削減につながる

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 34: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 30 消費電力

さらに、プロセッサにより、以下をはじめとする省電力機能のコントロールも可能で

す。

現在使用されていない機能のクロックをオフにする ( クロック・ドメイン・ゲー

ティング )

PLL およびクロック・ディバイダ・コントロールの設定により、現在の処理ニー

ズに応じてクロック周波数をスケーリングする

プロセッサを利用可能なスリープ・モードに移行し、後で割り込みを使用してプ

ロセッサを起動させる

DDR メモリ・コントローラをいずれかの低消費電力モードに移行する

f 詳細については、ホワイトペーパー「 Achieving Lowest System Power with Low-Power 28 nm FPGAs」を参照してください。

パワーオン/パワーオフ・シーケンス要件

シリコン・ベンダーは、デバイスの信頼性を確保したり、特定のパワーアップ状態を

保証したりするために、表 17 に示すような特定のパワーオン/パワーオフ・シーケ

ンス要件を規定していることがあります。パワーオン・シーケンス要件はかなり一般

的ですが、パワーオフ仕様はデバイスの保護手段としてはまれです。これは、電源に

回路を追加しなければならないということを意味し、そうしないとシステム・メー

カーは長期的な信頼性の問題に直面する可能性があります。

パワーオフ・シーケンス要件を伴うデバイスの場合、仕様の違反につながる個々の電

源レールの障害を防止するための予防策を講じなければなりません。それには、レー

ルを監視するためのアナログ比較回路が必要であるほか、適切な保護回路を追加する

必要があります。さらに、適切なパワーオン・シーケンスを確保するために十分なエ

ネルギー蓄積も必要です。

アルテラ SoC FPGA には、任意の順序のパワーオン/パワーオフ・シーケンスを許容

できるように、内部デバイス保護が組み込まれています。アルテラでは推奨パワーオ

ン・シーケンスを規定していますが、あくまでもコスト 小化のためのシステム電源

設計者向けガイドとしてであり、信頼性には一切影響しません。他の SoC FPGA ベン

ダーは、パワーオン/パワーオフ・シーケンスを規定しており、繰り返し違反した場

合、デバイスの長期的な信頼性の問題につながる可能性があります。

アルテラ SoC FPGA は、ボードレベルでのドライバ競合を防止するために、トライス

テートでの I/O 起動が保証されています。他の SoC FPGA ベンダーのデバイスは、パ

ワーオン・シーケンス要件に違反した場合、これが保証されません。

さらに、アルテラ SoC FPGA は「ホット・ソケット」をサポートしており、すでに電

源がオンのボードにデバイスを挿入することが可能です。この機能は、他の SoC FPGAベンダーのデバイスにはありません。

表 17. SoC FPGA のパワーオン/パワーオフ・シーケンス要件 ( 1 / 2 )

機能アルテラ SoC

FPGA ベンダー B

パワーオン・シーケンス なしI/O バンクが 3.3 V ペリフェラルをドライブする場合、デバイスの信頼性を維持するためにシーケンスが必要

I/O をトライステートで起動するためのパワーオン・シーケンス

なしI/O をトライステートで起動するにはパワーオン・シーケンスが必要

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 35: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

将来のロードマップ ページ 31

将来のロードマップ新しいプロセッサ・アーキテクチャの選択は、重大な決定です。ベンダーの製品ロー

ドマップが将来のアプリケーション要件を満たしているか、システムの差異化を可能

にするか、長期的に競争優位をもたらすかを評価することが重要です。また、大規模

なソフトウェア投資が関係することを考えると、ソフトウェア・ベースが将来世代に

容易に移行可能であることも重要です。したがって、SoC ベンダーが次世代製品につ

いて確約していることについて調べるだけでなく、次のような事項についても情報を

得ることが不可欠です。

この製品ラインに対するベンダーの投資レベル

システム・デザインに将来的な競争力をもたらす要素

ツールのロードマップ

アルテラの 3 世代プロセッサ・ロードマップ

SoC FPGA がターゲットとするアプリケーション ( 通信インフラストラクチャ、産業

機器、オートモーティブ、高性能コンピューティング、防衛機器、航空宇宙、医療機

器、多機能プリンタなど ) の処理要件を満たすために、アルテラは図 11 に示す 3 世代

プロセッサ・ロードマップを策定しています。

ロードマップは、このホワイトペーパーの主な焦点である 28nm Cyclone V および

Arria V SoC FPGA に始まります。20nm の第 2 世代である Arria 10 SoC FPGA プロセッ

サ・サブシステムは、デュアルコア ARM Cortex-A9 MPCore プロセッサ搭載という点

では変わりません。デュアルコア ARM A9 は、容易なソフトウェア・マイグレーショ

ンのためにソフトウェア互換性を維持しながら、20nm プロセス・テクノロジの恩恵

パワーオフ・シーケンス なしI/O バンクが 3.3 V ペリフェラルをドライブする場合、デバイスの信頼性を維持するためにシーケンスが必要

ホット・ソケット機能 あり なし

表 17. SoC FPGA のパワーオン/パワーオフ・シーケンス要件 ( 2 / 2 )

機能アルテラ SoC

FPGA ベンダー B

図 11. アルテラ SoC FPGA 製品ポートフォリオのロードマップ

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 36: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 32 将来のロードマップ

により、プロセッサ性能が第 1 世代から 87% 向上します。また、第 2 世代ではセキュ

リティおよびメモリ・サポートの領域での機能強化も加えられます。第 3 世代の SoCFPGA プロセッサ・サブシステムでは、Stratix 10 SoC FPGA へのクワッドコア ARMCortex-A53 プロセッサの統合により、ハイエンドの性能がさらに向上します。64 ビッ

ト A53 は、消費電力の増加を 小限に抑えながら、大幅な性能向上を実現します。必

要な場合、第 2 世代ソフトウェアとの互換性を維持するために 4 コア中 2 コアを 32ビット・モードで動作させながら、他の 2 コアを新しいアプリケーション用に 64 ビッ

トで動作させることも可能です。

シリコン・プロセス・テクノロジ

あらゆるシリコン・コンポーネントのロードマップを支える上で、シリコン・プロセ

ス・テクノロジは重要なポイントです。現在、ほとんどの SoC FPGA は 28nm シリコ

ン・プロセスで製造されています。プロセス・テクノロジにおける次の大きな進歩は

FinFET テクノロジです。

FinFET テクノロジ

FinFET トランジスタは、図 12 に示すようにチャネルを横に配置することで、2 次元

デザインから 3 次元デザインへの移行を可能にすることにより、半導体業界に革命を

もたらそうとしています。

( 画像提供:Intel Corp.)

図 12. FinFET の 3 次元構造は消費電力削減、リーク電流削減、および面積削減を実現

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 37: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

将来のロードマップ ページ 33

この新しい構造の利点は、高集積化、リーク低減、およびアクティブ消費電力削減で

す。図 13 に示すように、Intel 社 の 3 次元 FinFET デザイン技術「トライゲート」は、

従来の 2 次元プレーナ・テクノロジに比べ、大幅なリーク電流の削減を可能にします。

( 画像提供:Intel Corp.)

Intel 社 は FinFET テクノロジを主導しています。Intel 社 の第 1 世代は 22nm でしたが、

現在は第 2 世代の 14nm 「トライゲート」に移行しています。アルテラ SoC FPGA は、

14nm プロセス・ノードでトライゲート・テクノロジを採用する予定です。

f アルテラの FinFET テクノロジ実装計画の詳細については、ホワイトペーパー「トラ

イゲート・テクノロジによる FPGA のブレークスルー・アドバンテージ」を参照し

てください。

ツールのロードマップ

アルテラは、デバッグおよび開発ツールに関して、ARM 社と長期的な戦略的関係を

構築しています。2012 年 12 月、両社はアルテラ SoC FPGA 用 FPGA 対応デバッグ機

能を備えた ARM DS-5™ エンベデッド・ソフトウェア開発ツールキットを共同開発す

ることで合意したと発表しました。ARM Development Studio 5 (DS-5) Altera Editionツールキットは、アルテラ SoC FPGA の統合デュアルコア CPU サブシステムと FPGAファブリックの間にあるデバッグの壁を取り除きます。この新しいツールキットは、

ARM アーキテクチャ用の 先端マルチコア・デバッガと FPGA に含まれるロジック

に適応させる機能を組み合わせることにより、標準 DS-5 ユーザー・インタフェース

を介して、チップ全体に対するかつてないレベルの可視性とコントロールをエンベ

デッド・ソフトウェア開発者にもたらします。機能および性能の強化により、Stratix10 SoC FPGA を含め、アルテラの将来のシリコン・ロードマップにまで FPGA 対応デ

バッグを広げることで、この協力体制を推進し続けます。

図 13. FinFET デザインによりリーク電流の低減を実現

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 38: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 34 開発ツール

これらの取り組みと並行して、アルテラは FPGA に OpenCL™ 規格を導入することに

より、従来のハードウェア・アーキテクチャ (CPU、GPU など ) を大幅に上回る高性

能化と低消費電力化を実現しています。OpenCL は ANSI C 言語にエクステンション

を追加したものを利用するため、OpenCL 規格による FPGA ベースのヘテロジニアス・

システム (CPU + FPGA) の開発時間は、Verilog や VHDL などの低水準ハードウェア記

述言語 (HDL) による従来の FPGA 開発に比べて、市場投入期間の点で大きな強みとな

ります。アルテラは、2010 年に Khronos Group に参加し、次の OpenCL 2.0 仕様策定

に積極的に貢献しています。また、OpenCL コードを HDL にコンパイルするためのコ

ンパイラを提供する SDK for OpenCL を開発しました。このコンパイラは、カーネル・

コードからプログラミング・ファイルを生成します。このプログラミング・ファイル

を FPGA にダウンロードして、ハードウェア・アクセラレーションやその他の機能を

実行します。

2013 年 10 月、アルテラは SDK for OpenCL が OpenCL 1.0 規格に準拠し、Khronos Groupの OpenCL 準拠製品リストに登録されたことを発表しました。ソフトウェア開発者が

FPGA の超並列アーキテクチャを利用してシステムの高速化を図ることを可能にす

る、FPGA に 適化された OpenCL ソリューションを提供している企業は、現在のと

ころアルテラだけです。アルテラは、今後も OpenCL およびマルチコア・ヘテロジニ

アス並列処理を前進させ、SoC FPGA による性能向上と設計者の生産性向上を推進し

ます。

f アルテラの SoC FPGA 向け OpenCL の詳細については、ホワイトペーパー「 OpenCL 規格を用いた FPGA デザインの導入」を参照してください。

開発ツールSoC FPGA は、エレクトロニクス製品の高速化、低価格化、およびエネルギー効率向

上の大きな可能性を開きます。しかし、ハードウェアのイノベーションには、開発お

よびデバッグ・ツールの同様のイノベーションが伴わなければなりません。結局、設

計者がデバイスをどの程度うまく使いこなせるかは、ソフトウェアによって決まりま

す。ソフトウェア開発者は、SoC FPGA およびその機能が広範な用途において、スタ

ンドアロン・プロセッサとして容易かつ効率的に利用可能であることに気付くはずで

す。表 18 に、ARM DS-5 Altera Edition ツールを利用するアルテラ SoC エンベデッド・

デザイン・スイート (EDS) 開発環境と、ベンダー B が提供しているデバッグ・ツール

とのさまざまな違いをまとめています。

表 18. SoC FPGA デバイス用インシステム・デバッグおよび開発ツール機能 ( 1 / 3 )

機能アルテラ SoC EDS

(ARM DS-9 Altera Edition を含む )

ベンダー B のデバッグ・ツール

バージョンの比較 13.1 2013.3

FPGA 対応デバッグ あり なし

すべての ARM プロセッサと FPGA ツールに対応した USB ケーブル

あり なし

ペリフェラル・レジスタの自動表示 あり なし

VFP および Neon レジスタの表示 あり なし

デバッグ:シングルステップ、ウォッチポイントなど

あり あり

CPU↔FPGA CoreSight 互換クロストリガ ありなし

ベンダー独自

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 39: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

開発ツール ページ 35

タイムスタンプおよびトレース・データ・ストリームを含む CPU↔FPGA クロストリガ

あり

ARM CoreSight™ 互換、システム・トレース・マクロセル (STM) を使用

なし

追加のサードパーティ・ハードウェアおよびソフトウェアの購入により可能

プロセッサ・トレース・サポート あり

なし

追加のサードパーティ・ハードウェアおよびソフトウェアが必要

トレース・バッファ 32 KB 4 KB

代替デスティネーション (DRAM、高速トランシーバなど ) へのトレース・パケットのルーティング

あり

Coresight エンベデッド・トレース・ルータ

なし

外部トレース・プローブへのトレース・パケットのルーティング

あり あり

ARM トレース・ストリームへの FPGA 情報の付加

あり

ARM CoreSight STM を使用

あり

ベンダー独自のソリューション

ハードウェア支援トレースに関する Linux ネイティブ・サポート

あり

カーネルおよびアプリケーション

なし

並列マルチコア・デバッガ

あり

マルチコア・システム専用設計 ARM DS-5

なし

非対称型マルチプロセッシング (AMP) アプリケーションにおけるマルチコア・デバッグ

あり あり

対称型マルチプロセッシング (SMP) オペレーティング・システムのマルチコア・デバッグ

あり なし

Linux カーネル認識 あり なし

非侵入型コード・プロファイリング

あり

プロセッサ、FPGA、および消費電力プロファイリングを含む ARM Streamline (ds.arm.com/ds-5/optimize/ 参照 )

( 図 16 参照 )

なし

セミホスティング・サポート (JTAG 経由のホスト - ARM プロセッサ間通信 )

下記リンクを参照:infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/Bgbjjgij.html

あり なし

FPGA ロジック・アナライザSignalTap™ II ロジック・アナライザ

あり

表 18. SoC FPGA デバイス用インシステム・デバッグおよび開発ツール機能 ( 2 / 3 )

機能アルテラ SoC EDS

(ARM DS-9 Altera Edition を含む )

ベンダー B のデバッグ・ツール

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 40: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 36 開発ツール

長年、ソフトウェア開発はプロジェクト・スケジュールの大半を占めてきました。プ

ロセッサと FPGA が同じデバイスに搭載されるというハイブリッド性は、開発に新た

な次元をもたらします。この次元がプロジェクト・スケジュール、エンジニアリン

グ・チームの学習効率、ソフトウェア・ツールへの過去の投資にどう影響するかにつ

いて、慎重に検討する必要があります。

開発ツールの課題

「FPGA」の「FP」は「フィールド・プログラマブル」を意味します。つまり、開発プ

ロジェクトの過程でハードウェア・エンジニアリング・チームがハードウェアをプロ

グラムすることに加え、実行時にこのハードウェアをリコンフィギュレーションする

ことさえもあり得るということです。このフィールド・プログラマビリティは、従来

の SoC デバイスに比べて、ソフトウェア面で 2 つの重要な影響をもたらします。

CPU ソフトウェアと FPGA プログラムの開発およびデバッグが並行して行われ

る。これは大きな進歩です。従来の SoC の場合、エンベデッド・ソフトウェアの

開発は、確定したハードウェアに基づいて行う形でした。

FPGA ハードウェア定義はユーザー定義であるため、SoC FPGA に付属するソフト

ウェア開発ツールおよびボード・サポート・パッケージ (BSP) は、SoC FPGA の標

準ペリフェラルをすべてサポートしているが、ハードウェア・チームが開発する

FPGA ベースのペリフェラルのメモリ・マップ情報やデバッグ・フックはプリロー

ドされていない。

これらは、アーキテクチャの重要性がハードウェアと同じようにソフトウェアにも当

てはまることを示す非常に重要な影響です。

ARM との互換性は前提であり、FPGA の実装が差異化をもたらす

何よりもまず、これらの新しいデバイス用のツールは ARM 互換であり、ARM エコ

システムを利用可能であることが不可欠です。現在市販されている SoC FPGA はすべ

て、一般に ARM プロセッサ・ソフトウェア開発ツールの広大なエコシステムからの

サポートを含む ARM プロセッサ IP を利用しています。しかし、デバイスに追加され

た FPGA 部分の扱い方は、ベンダーによって異なります。これらの違いは、特に以下

の領域に影響します。

ベアメタル・アプリケーション開発

扱いやすい OpenBSD ライセンスによる変更可能ハードウェア・ライブラリ

ベンダー独自の BSP プロジェクト・ビルド

ハードウェア VFP および NEON コンパイラ・サポート

あり (Linux)

14.0 でベアメタル・コンパイラをサポート予定

あり (Linux/ ベアメタル )

表 18. SoC FPGA デバイス用インシステム・デバッグおよび開発ツール機能 ( 3 / 3 )

機能アルテラ SoC EDS

(ARM DS-9 Altera Edition を含む )

ベンダー B のデバッグ・ツール

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 41: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

開発ツール ページ 37

チップ全体のデバッグ

CPU および FPGA のプロファイリング

マルチコア・デバッグ

標準ツールおよびフロー

チップ全体のデバッグ

スタンドアロン・プロセッサでのアプリケーションのデバッグは、よく理解された問

題であり、実証済みのソリューションを提供する成熟したソフトウェア・エコシステ

ムがあります。SoC FPGA の場合、もはや SoC が定義済みではないため、デバッグ・

ツールはさまざまな新しい構造をサポートしなければなりません。

FPGA に実装された追加のユーザー定義ペリフェラル

FPGA に実装されたハードウェア・アクセラレーション・ブロックを含むソフト

ウェア機能

独自アルゴリズムを実装した FPGA 内のカスタム・ロジック・ブロック

従来のソフトウェア・デバッグ・ツールは、FPGA 内のカスタム機能を扱うように設

計されておらず、従来の FPGA ツールにはソフトウェア・ツールに戻すフックがあり

ません。 近まで、CPU と FPGA サブシステムの間には見えない壁があったのです。

このデバッグの壁を打ち破るには、以下を提供するツールセットが必要です。

プロセッサおよび FPGA サブシステムに対するチップ全体にわたる可視性

CPU と FPGA サブシステム間のクロストリガおよびインシステム・トレース

ソフトウェア、CPU ハードウェア、および FPGA ハードウェア・イベントのシス

テム規模の監視

性能プロファイリング

上記の機能は、デバッグ・ツールがデバッグ対象に自己適応できるという、デバッグ

の世界における新時代の到来を意味します。デバッグ・ツールが FPGA とほぼ同様の

柔軟性を備え、実績と適応能力という、2 つの異なる要素のそれぞれ長所を開発者に

もたらすことが理想です。

FPGA 対応デバッグ

「FPGA 対応」とは、ソフトウェア・デバッグ・ツールが FPGA ロジックの変更に伴

うハードウェアの変化に自動的に適応することを意味します。言い換えれば、ハード

ウェア・エンジニアが FPGA に操作を加えるごとに、ソフトウェア・デバッグ・ビュー

が自動的に更新され、FPGA ベースのペリフェラルがすべてレジスタ・ビューに自動

的に表示される必要があるということです。

では、FPGA 対応デバッガにはどのような機能が必要なのでしょうか。まず、FPGA側のハードウェア・デザインがプログラマのモデルに表示され、デバッガのレジス

タ・ウィンドウにレジスタ・セット別に表示できなければなりません。ハードウェ

ア・チームが FPGA ロジックを変更または更新したら、ソフトウェア・デバッガは変

更点を認識し、新しいハードウェアをデバッガに表示できる必要があります。この機

能があって初めて、ユーザーは CPU サブシステムと同じように FPGA サブシステム

を容易に確認し、コントロールすることが可能になります。

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 42: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 38 開発ツール

1 本のデバッグ・ケーブルによる ARM および FPGA の開発

デバッグ・ツールとそれに付随するツールは、ARM プロセッサ用のソフトウェア側

でも、FPGA ベンダーのツールおよびケーブルを使用するハードウェア側でも提供さ

れていますが、両方を同時に使用すると 2 本のケーブルと 2 つの独立したツールセッ

トを使用することになります。実際的な面では、ほとんどの開発者は、ハードウェア

とソフトウェア・ツールの両方をサポートした 1 本の低コスト JTAG ケーブルを求め

ています。そうすれば、ハードウェア・チームとソフトウェア・チームがそれぞれの

ツールを使用して連携でき、真のコラボレーションへの道が開かれます。

ハードウェアとソフトウェア間のクロストリガ

望ましくないバグが見つかった場合、開発チームはそれがハードウェアの問題か、ソ

フトウェアの問題かを判断する必要に迫られます。プロセッサ・サブシステムと FPGAサブシステムがコードから波形または波形からコードにクロストリガ可能で、特定の

状態がシステム内でなぜ、どう発生するかを開発チームが発見・追跡できれば、問題

の発見がはるかに容易になります。図 14 に、ARM DS-5 Altera Edition ツールキット・

ソフトウェアからのクロストリガの例を示します。クロストリガ、トレース、および

グローバル・タイムスタンプは、プロジェクトの IP 検証、カスタム・ドライバ開発、

およびシステム統合部分に役立つ機能です。

対照的に、ベンダー B のデバッグ・ツールはクロストリガをサポートしているようで

すが、CoreSight 以外の独自メカニズムを使用しています。独自の方式でもプロセッ

サと FPGA ハードウェア間のクロストリガは可能ですが、グローバル・タイムスタン

プなど、ARM の DS-5 環境が提供する固有の可視性がいくつか欠けています。しか

も、ベンダー B の場合、トレース・バッファがかなり小さいという問題もあります ( アルテラ SoC FPGA の 32 K バイトに対して 4 K バイト )。ベンダー B は、ある程度

拡張されたトレース機能をオプションでサポートしていますが、それには追加のサー

ドパーティ・デバッグ・ハードウェアおよびソフトウェアが必要であり、別料金がか

かります。

図 14. ハードウェアの世界からソフトウェアの世界へのクロストリガ

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 43: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

開発ツール ページ 39

ハードウェアおよびソフトウェア・イベントの追跡・監視

障害位置の発見に加え、システムがなぜ、どのようにその障害状態になったかを正確

に把握することも重要です。ARM システム・トレース・モジュール (STM) は、CPUベースのソフトウェア・イベントの追跡を可能にします。アプリケーション・ソフト

ウェアは、システムの実行と同時にハードウェアおよびソフトウェア・イベントの

「パンくずリスト」を発行して、時間を追ってシステムの動作を監視することにより、

動作に対する深い洞察を得ることができます。「FPGA 対応」デバッグ環境では、STMにより、システムを実行したまま CPU と FPGA の両方のドメインのイベント監視が

可能です

CPU および FPGA のプロファイリング

優れたデバッガの一部であるシステム・プロファイリングは、以下のような一般的な

疑問に対する答えを得るのに役立ちます。

システム内のホット・スポットはどこか。

CPU コアが時間を費やしている部分はどこか。

キャッシュはどのくらい効率的に使用されているか。

FPGA が統合されたプロセッサ・ベースのシステムでもプロファイリングが真に役立

つようにするには、FPGA イベントもプロファイルの一部にしなければなりません。

そうしないと、FPGA 対応デバッグがない限り、チップ部分しか確認やコントロール

ができないことになります。図 15 は、ARM DS-5 Altera Edition ツールキットに含ま

れる ARM DS-5 Streamline ツールが、SoC FPGA のプロセッサおよび FPGA エレメン

トの非侵入型プロファイリングをどう実現するかを示しています。

図 15. ARM DS-5 Streamline ツールは SoC FPGA のプロセッサと FPGA 間の可視性を実現

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 44: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 40 開発ツール

マルチコア・デバッグ

PC がマルチコア・プロセッサに移行したのと同様に、エンベデッド・システムでも

マルチコアが標準になりつつあります。エンベデッド・プロセッサのマルチコアへの

移行に伴い、開発ツールの移行も重要になります。マルチコア・プラットフォーム用

ソフトウェアの開発は、シングルコアの場合に比べてはるかに複雑です。どちらのコ

アにブレークポイントを設定するか、いつ特定の時間にどちらのコアでソフトウェア

を実行するかと言った問題は、マルチコア・デバッグにおいて極めて重要になります。

マルチコア・デバッグでは、プロセッサ・コアを同時および独立してコントロール/

監視する機能が不可欠です。単一のブレークポイントで両方のコアを停止させた方が

よい場合もあれば、あるブレークポイントで一方のプロセッサのみを停止させ、別の

コアはコードの実行を継続させた方がよい場合もあります。また、各コアで動作する

ソフトウェアに対する可視性も重要です。デバッガおよび解析ツールは、特にマルチ

コア・アプリケーションをサポートできるように設計されている必要があります。対

照的に、GNU GDB ベースのデバッガ・ツールは、そもそもシングルコア時代に設計

されたものです。GDB ベースのデバッガは非常に役立ちますが、複数のコアを同時

にデバッグすることはできません。マルチコア・システムに対して GDB ベースのデ

バッガを使用する場合、複数のコアにわたってブレークポイントを設定できますが、

アプリケーション・ソフトウェアが 終的にいずれかのブレークポイントに到達した

場合、発生したブレークポイントをトリガしたコアしか観測できません。つまり、基

本的に一度に 1 つのコアしかデバッグできないということです。デバッグ・セッショ

ンでは、他のコアに対する可視性が失われるため、マルチコア・デバッグの上で大き

な制約となります。

幸い、ARM 社と同社のエコシステム・パートナーは、このマルチコアの問題に対応

するために、強力かつ高品質のマルチコア・デバッグ・ツールを開発しました。SoCFPGA を選択する際は、真のマルチコア・デバッガに容易にアクセスできる SoC FPGAファミリを選ぶことが重要です。

標準ツールおよびフロー

誰もなじみのない新しい「フロー」や新しい「エンドツーエンド」ツールでは、ソフ

トウェア・エンジニアの生産性は向上しません。むしろ、ソフトウェア・エンジニア

の生産性は、すでに使用方法を知っている人々が使い慣れた実証済みのツールを使え

るようにした方がはるかに高まります。新しいハードウェア機能は、使い慣れたツー

ル内からアクセス可能です。ほとんどのエンジニアは、新しい独自フローではなく、

広く支持された「標準」ツールを使用してアプリケーションの編集、コンパイル、ダ

ウンロード、およびデバッグを行うことを望んでいます。

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 45: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

開発ツール ページ 41

ARM DS-5 Altera Edition ツールキット

このホワイトペーパーで解説した SoC FPGA のソフトウェア開発およびデバッグの

ニーズに対応するために、アルテラは業界リーダーである ARM 社と協力して、アル

テラ SoC FPGA 固有の利点や機能をサポートする、業界標準の ARM DS-5 ツールキッ

トの特別エディションを開発しました。業界をリードする取り組みの成果である

ARM DS-5 Altera Edition ツールキットは、図 16 に示すように、使い慣れた業界標準

インタフェースを使用して、FPGA 対応デバッグやその他のマルチコア機能を提供し

ます。しかも、1 本のアルテラ USB-Blaster™ II ケーブルを使用して、ハードウェアと

ソフトウェアの両方のデバッグが行えます。

f ARM DS-5 Altera Edition ツールキットの詳細については、http://www.altera.co.jp/devices/processor/arm/cortex-a9/software/proc-arm-development-

suite-5.html を参照してください。

開発ツールのまとめ

SoC FPGA の ARM プロセッサと FPGA ロジック部分に対する洞察とコントロールを

同時に提供する優れたインシステム・デバッグ・ツールは、プロジェクト・スケジュー

ルを軌道に乗せながら、この新しいデバイスに高度な機能を実装する上で欠かせませ

ん。アルテラ EDS と別の SoC FPGA ベンダーのツールの対照比較については、34 ペー

ジの表 18 を参照してください。

図 16. ARM DS-5 Altera Edition ツールキットは、多くの ARM 開発者が使い慣れたインタフェースを採用

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性

Page 46: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

ページ 42 結論

結論SoC FPGA は、幅広いエレクトロニクス・デザインに応用できる新しいタイプの強力

なプログラマブル・デバイスです。市販デバイスでは、標準 ARM プロセッサ (Cortex-M3 またはより強力なデュアルコア Cortex-A9) と豊富なペリフェラル・セット、オン

チップ・メモリ、高速内部インタコネクト・アーキテクチャ、オンチップ・メモリの

階層、および 先端の FPGA ファブリックが統合されています。市販デバイスは一

見、同じように見えますが、デバイス選定にあたっては、基礎となるアーキテクチャ

の違いを見極めることが重要です。

このホワイトペーパーでは、システム性能、デザインの信頼性と柔軟性、システム・

コスト、消費電力、将来の製品ロードマップ、および開発ツールが SoC FPGA の成功

において果たす重要な役割など、特定のアプリケーションに 適な SoC FPGA を選択

する上でのさまざまな評価基準について解説しました。

f 特定のデザインに対する SoC FPGA の選定についての詳細は、このホワイトペー

パーに含まれる情報のまとめとして、「SoC FPGA のデザイン検討事項チェックリス

ト」を参照してください。

2013 年 11 月 Altera Corporation SoC FPGA 選定におけるアーキテクチャの重要性

Page 47: SoC FPGA 選定におけるアーキテクチャの重要性 - Intel · 2020. 12. 25. · Title: SoC FPGA 選定におけるアーキテクチャの重要性 Author: Altera Corporation

詳細情報について ページ 43

詳細情報について ビデオ・シリーズ:SoC FPGA 選定におけるアーキテクチャの重要性

www.altera.co.jp/socarchitecture

SoC FPGA の概要www.altera.co.jp/socfpga

ホワイトペーパー:SoC におけるリアルタイムの課題と機会www.altera.co.jp/literature/wp/wp-01190-real-time-socs_j.pdf

ホワイトペーパー:Error Correction Code in SoC FPGA-Based Memory Systemswww.altera.com/literature/wp/wp-01179-ecc-embedded.pdf

ホワイトペーパー:Achieving Lowest System Power with Low-Power 28-nm FPGAswww.altera.com/literature/wp/wp-01181-lowest-system-power.pdf

ホワイトペーパー:FPGA-Adaptive Software Debug and Performance Analysiswww.altera.com/literature/wp/wp-01198-fpga-software-debug-soc.pdf

ARM 社 のホワイトペーパー:Better Trace for Better Softwarewww.arm.com/files/pdf/Better_Trace_for_Better_Software_-_CoreSight_STM_with_LTTng_-_19th_October_2010.pdf

ARM Development Studio 5 (DS-5) Altera Edition ツールキットds.arm.com/altera

謝辞 Todd Koelling, Sr. Manager, SoC Products, Altera Corporation

文書改訂履歴表 19 に、本資料の改訂履歴を示します。

表 19. 文書改訂履歴

日付 バージョン 変更内容

2013 年 11 月 1.0 初版

2013 年 11 月 Altera CorporationSoC FPGA 選定におけるアーキテクチャの重要性