SoC プロセッサに関する FAQ

ハードコア・プロセッサとソフトコア・プロセッサ

Q. FPGA では、どのようなプロセッサを使用できますか?

A. FPGA プロセッサには「ハード」と「ソフト」があります。ハードコア・プロセッサは、シリアル・トランシーバと同じように、FPGA の固定シリコン・ロジック内に実装されます。 しかし、FPGA 上のプロセッサは、カスタム機能やアプリケーション固有の機能に使用できるプログラマブル・ロジックに取り囲まれています。 ハードコア・プロセッサは、プロセッサ・アーキテクチャ、クロック・レート、およびプロセス・テクノロジなどの要素に応じて、ソフトコア・プロセッサよりも高い CPU 性能を提供します。 その名前が示すように、ハードコア・プロセッサの機能セットは固定されており、通常、特定の SoC FPGA のバリエーションとして提供されます。 SoC FPGA 内のハードコア・プロセッサの数とタイプもまた、特定の SoC FPGA のファンクションとして固定されています。
アルテラでは、Stratix® 10 SoCArria® 10 SoCArria® V SoC、および Cyclone® V SoC ファミリでハードコア・プロセッサを提供しています。

Nios® II プロセッサ などのソフトコア・プロセッサは、プログラマブル・ロジックに実装され、ロジック・エレメントや乗算器、メモリなどのオンチップ・リソースを使用しており、ほとんどの FPGA ファミリで実装することが可能です。ソフトコア・プロセッサの性能とコストは主に、そのコアが実装される FPGA に依存しますが、性能とコストは一般にハードコア・プロセッサより低くなります。1 個のデバイスで実装できるソフトコア・プロセッサの数は、デバイスのリソース (ロジック、メモリなど) によって制限されます。例えば、高集積 FPGA には数百個のソフトコア・プロセッサを実装可能です。同様に、16 ビットまたは 32 ビット、性能の最適化、ロジック面積の最適化など、さまざまな種類のソフトコア・プロセッサを実装することができます。ゲート・アレイまたはセル・ベース・デザインに移行するときには、設計者はソフトコア・プロセッサ・デザインをハードコア実装に移植することを選択できます。また、SoC FPGA の FPGA 部分で 1 つまたは複数のソフトコア・プロセッサを使用することも可能です。


組込みシステムでの FPGA の使用

Q. 組込みデザインではどのように FPGA を使用できますか?

A. 組込みシステムではさまざまな方法で FPGA を使用することができます。以下に一般的な使用方法を示します。

  • I/O およびペリフェラルの拡張
    — LCD コントローラやメモリ・コントローラなど、現在のプロセッサに欠けているペリフェラルを追加したり、イーサネット、汎用 I/O (GPIO)、または UART ポートを追加してシステムの I/O チャネル数を増やしたりすることができます。
  • コプロセッシング
    — 計算量の多いアルゴリズムを、プロセッサ上で動作するソフトウェアから FPGA のハードウェアに移動することによって、システム性能を向上させます。信号処理、画像処理、およびパケット処理アプリケーションは、ソフトウェアではなくハードウェアで動作させることによって大幅な性能向上を達成できます。
  • カスタム・エンベデッド・コントローラ
    — カスタム・エンベデッド・コントローラに、プロセッサ、ペリフェラル、インタフェース、ダイレクト・メモリ・アクセス (DMA) チャネルおよびメモリのどれを (いくつ) 含めるかを選択できます。
  • マルチプロセッサ
    — 複数の CPU にタスクを分散することによって、ソフトウェア開発を加速し、コードの信頼性を改善し、保守性を向上させます。マルチプロセッサ・システムを 1 個の FPGA の内部にカスタム・システムとしてデザインするか、または外部 CPU や DSP を補完することができます。

Q. FPGA でのデザインにより、どのようにエンベデッド・デザインのリスクを軽減できますか?

A. FPGA 開発者は、従来のエンベデッド・ソリューションにはない以下の利点を得ることができます。

  • ソフトウェアへの投資をプロセッサの陳腐化から保護
    — FPGA ベースのエンベデッド・プロセッサのハードウェア・デザインを保有しているため、ソフトウェアへの投資はプロセッサの陳腐化から保護されます。最悪のシナリオでは、エンベデッド・デザインをボードの再設計が必要となる新しい FPGA ファミリに移植することが考えられます。しかし、プロセッサ・サブシステムは変わらないため、ソフトウェアへの投資が損なわれることはありません。
  • 「Time to Market」 の短縮
    — FPGA をターゲット・デザインに追加することにより、最適な機能を備えた新しい製品をより早くリリースし、長期にわたってハードウェアをアップグレードすることができます。アルテラは、インターネットを利用して FPGA ハードウェア・デザインをリモートで簡単にアップデートする方法を提供しています。場合によっては、製品ライン全体が 1 つのボード・デザインをベースにすることができますが、変化する内容は FPGA に含まれています。
  • 変化する要求条件への対応
    — FPGA を使用することにより、PCB 設計が完了した後でもハードウェア機能を追加または変更して、デザインの最終段階での変更や規格の進化/変更に対応することができます。
  • ボードを再設計することなくシステム性能を向上
    — デザイン・プロセスの後半になって、システムが必要な性能を満足しないことに気付く場合があります。システムに FPGA を搭載することにより、ボードを再設計したり、スピード・グレードの高いデバイスを購入したり、C コードをアセンブリで記述したりする必要なく、性能を増強することができます。FPGA に複数のプロセッサ、カスタム・インストラクション、およびハードウェア・アクセラレータを追加して、ボードを再設計することなくシステム性能を向上させることが可能です。

開発ツール

Q. アルテラ SoC を利用した開発にモデル・ベースのデザイン・フローを使用できますか?

A. MathWorks 社の Simulink、Embedded Coder、および HDL Coder ツールは、シミュレーション、プロトタイピング、検証、および実装にまたがるアルテラ SoC のハードウェア/ソフトウェア・ワークフローを提供します。
詳細については、 www.mathworks.com/hardware-support/altera-soc-ecoder.html をご覧ください。