Q. FPGA では、どのようなプロセッサを使用できますか?
A. FPGA プロセッサにはハードコアとソフトコアがあります。ハードコア・プロセッサは、シリアル・トランシーバと同じように、FPGA の固定シリコン・デザイン内に実装されます。しかし、FPGA 上の CPU は、カスタム機能やアプリケーション固有の機能に使用できるプログラマブル・ロジックに取り囲まれています。ハードコア・プロセッサは、プロセッサ・アーキテクチャ、クロック・レート、およびプロセス・テクノロジなどの要素に応じて、ソフトコア・プロセッサよりも高い CPU 性能を提供します。その名前が示すように、ハード・コア・プロセッサの機能セットは固定されおり、通常特定の FPGA のバリエーションとして提供されるにすぎません。FPGA 内のハードコア・プロセッサの数とタイプもまた、特定の FPGA のファンクションとして固定されています。アルテラでは、Arria® V SoC および Cyclone® V SoC FPGA ファミリでハードコア・プロセッサを提供しています。
ソフトコア・プロセッサはプログラムブル・ロジックに実装され、ロジック・エレメントや乗算器、メモリなどのオンチップ・リソースを使用しており、ほとんどの FPGA ファミリで実装することが可能です。ソフトコア・プロセッサの性能とコストは主に、そのコアが実装される FPGA に依存しますが、性能とコストは一般にハード・プロセッサより低くなります。1 個のデバイスで実装できるソフトコア・プロセッサの数は、デバイスのリソース (ロジック、メモリなど) によって制限されます。例えば、高集積 FPGA には数百個のソフトコア・プロセッサを実装可能です。同様に、16 ビットまたは 32 ビット、性能の最適化、ロジック面積の最適化など、さまざまな種類のソフトコア・プロセッサを実装することができます。量産 HardCopy® ASIC に移行するときには、設計者はソフトコア・プロセッサ・デザインをハードコア実装に移植することを選択できます。また、ハードコア・プロセッサの FPGA 部分で 1 つまたは複数のソフトコア・プロセッサを使用することも可能です。
組み込みシステムでの FPGA の使用
Q: 組み込みデザインではどのように FPGA を使用できますか?
A: 組み込みシステムではさまざまな方法で FPGA を使用することができます。以下に一般的な使用方法を示します。
- I/O およびペリフェラルの拡張 – LCD コントローラやメモリ・コントローラなど、現在のプロセッサに欠けているペリフェラルを追加したり、イーサネット、GPIO、または UART ポートを追加して、システムの I/O チャネル数を増やせます。
- コプロセッシング – 計算量の多いアルゴリズムを、プロセッサ上で動作するソフトウェアから FPGA のハードウェアに移動することによって、システム性能を向上させます。信号処理、画像処理、およびパケット処理アプリケーションは、ソフトウェアではなくハードウェアで動作させることによって大幅な性能向上を達成できます。
- カスタム・エンベデッド・コントローラ – カスタム・エンベデッド・コントローラに、プロセッサ、ペリフェラレル、インタフェース、ダイレクト・メモリ・アクセス(DMA) チャネルおよびメモリのどれを(そして何個)含めるかを選択できます。
- マルチ・プロセッサ – 複数の CPU にタスクを分散することによって、ソフトウェア開発を加速し、コードの信頼性を改善し、保守性を向上させます。 マルチプロセッサ・システムを1個の FPGA の内部にカスタム・システムとしてデザインするか、または外部 CPU または DSP を補完することができます。
Q: FPGA でのデザインにより、どのようにエンベデッド・デザインのリスクを軽減できますか?
A: FPGA 開発者は、従来のエンベデッド・ソリューションにはない以下の利点を得ることができます。
- ソフトウェアへの投資をプロセッサの陳腐化から保護 – FPGA ベースのエンベデッド・プロセッサのハードウェア・デザインを保有しているため、ソフトウェアへの投資はプロセッサの陳腐化から保護されます。最悪のシナリオでは、エンベデッド・デザインをボードの再設計が必要となる新しい FPGA ファミリに移植することが考えられます。しかし、プロセッサ・サブシステムは変わらないため、ソフトウェアへの投資が損なわれることはありません。詳細は、プロセッサ陳腐化からのソフトウェア投資の保護ページご覧ください。
- 「Time to Market」の短縮 – FPGA をターゲットデザインに追加することにより、最適な機能を備えた新しい製品をより早くリリースし、長期にわたってハードウェアをアップグレードすることができます。 アルテラは、インターネットを利用して FPGA ハードウェア・デザインをリモートで簡単にアップデートする方法を提供しています。場合によっては、製品ライン全体が1つのボード・デザインをベースにすることができますが、変化する内容は FPGA に含まれています。「Time to Market」の短縮および生産性の向上についての詳細は、生産性向上を実現する強力な開発ツールページをご覧ください。
- 変化する要求条件への対応 – FPGA を使用することにより、PCB 設計が完了した後でもハードウェア機能を追加または変更して、デザインの最終段階での変更や規格の進化に対応することができます。柔軟性についての詳細は、柔軟なハードウェアによる競争力の確立ページをご覧ください。
- ボードを再設計することなくシステム性能を向上 – デザイン・プロセスの後半になって、システムが必要な性能を満足しないことに気付く場合があります。システムに FPGA を搭載することにより、ボードを再設計したり、スピード・グレードの高いデバイスを購入したり、C コードをアセンブリでコードで記述する等をおこなうことなく、性能を増強することができます。FPGA に複数のプロセッサ、カスタム・インストラクション、およびハードウェア・アクセラレータを追加して、ボードを再設計することなくシステム性能を向上させることが可能です。性能の向上についての詳細は、システム性能の向上ページをご覧ください。
