FPGAデザインは再び流行しているのか?

投稿日 十一月 1, 2021
更新日 七月 1, 2024

1970年代のASIC革命から生まれたのは、MCU、MPU、そしてFPGAの革命で、ホストコントローラーがロジックブロックと多くの統合機能を備えた単一のチップ上に構築されました。2021年には、業界の一部でFPGAが先進的なアプリケーションの選択肢として現在のプラットフォームであると宣言されています。人々が何を言っているのか、そしてあなたの設計でFPGAを選択するかもしれない場所を見てみましょう。

私は1970年代を覚えているほど年を取っていませんが、その時代にASICが市場に登場し、最終的にはより高いレベルの統合とフォームファクターの削減を支援していました。ASICの遺産は今日まで続いており、人気のあるメーカーは依然として特殊な機能を持つ小さなフットプリントのチップを幅広く提供しています。一般的なプログラマブルロジックでは非常に実装が困難だったタスクが、特殊なロジックや専用の機能を備えたASICに組み込まれたときに突然簡単に実装できるようになりました。同じ十年の初めに、インテルによってマイクロコントローラーが導入され、設計者は離散ロジック回路に依存するのではなく、より統合されたシステムを構築するために必要なすべてを提供しました。

ASICとMCUの後には、1984年にXilinxによって導入された最初のコンポーネントとともに、フィールドプログラマブルゲートアレイが登場しました。初期には、ASIC設計者は、ASIC設計で実装するつもりのロジックをエミュレートするためのテストプラットフォームとしてFPGAを使用していました。時が経つにつれて、FPGAは、典型的なASICへの補完として、または他のプロセッサーやASICでは利用できない特殊なロジック機能を実装するために、より多くの製造ハードウェアで実装されました。FPGAプラットフォームで利用可能なインターフェースの数も拡大し、FPGAは任意の組み込みシステムのホストコントローラーとして使用できるようになりました。

今日、FPGA設計は経験豊富な組み込み開発者の間で引き続き人気があり、世界のFPGA市場の予測成長率は6.4%から10%のCAGRに及ぶとされています。参考までに、上限の推定値は、世界のMCU市場の10.1%の予測CAGRと同等です。組み込み設計者にとっての問題は、FPGAの人気を他のプラットフォームと比較して何が推進しているのか、そして新しい設計の出発点としてFPGAを選ぶべきかどうかです。これらの質問をさらに詳しく見ていきながら、新しい組み込みシステムのためのいくつかのシステムアーキテクチャオプションを比較します。

新しいFPGA設計を推進するものは何か?

FPGAは、その適応性のおかげで、以前のこのブログの記事で議論されたように、幅広いケースで常に人気がありました。FPGAが従来成功していた主な分野には以下のようなものがあります:

  • 通常MCUで遅い順次ロジックを使用して実装する必要がある、コンパクトなプラットフォームでの特殊ロジックの実装

  • ASICの長い開発時間のため、市場投入までの時間が重要なアプリケーション領域や製品

  • ハードウェアの仮想化やエミュレーションが必要なアプリケーション

  • 外部システムに接続せずに高速で再プログラミングが必要な製品

FPGAの設計とプログラミングに慣れていない場合でも、FPGAの操作を支配する基本的なアイデアをいくつか知っていれば、上記のリストに驚くことはないでしょう。これらはかなり広範な分野ですが、いくつかの業界で実際のアプリケーションに翻訳されます。

FPGA vs. MPU/MCUおよびASIC

上記から、ASICをFPGAの主な競合として多く参照していることに気づくでしょう。実際、膨大な範囲のコンポーネントが組み込み開発者にMCU、特殊機能とASIC、および低速の周辺機器やインターフェースを組み合わせることを可能にします。FPGAはさまざまな分野でいくつかの利点を持っており、これらのオプションを組み込みシステムに関連して比較することが重要です。

上記のリストから、FPGAが果たすことができる役割が明確になるはずです:アプリケーションおよびOSに依存しない組み込みシステムのための適応可能なホストコントローラー。FPGA設計は、ボードとシステム設計がこれらの変更を受け入れることができる限り、アップグレードの追加の利点を提供します。業界でのいくつかの新しいアプリケーションを見ると、FPGAが今日より人気があり、近い将来に成長が期待される理由が明らかになるはずです。

主要な業界ユーザー

FPGAの消費に伝統的に責任がある単一の製品カテゴリーはありません。最初に導入されて以来、FPGAの主要な業界消費者には、テレコムシステム、ミルエアロ、自動車、軽量消費者製品、さらには石油およびガス産業が含まれます。実際、FPGAになる原始技術のいくつかは、そのIPが後にXilinxによって取得されたExxonの子会社であるZilogの下で最初に開発されました。

FPGAが人気を博して以来、巨大な数のASICが多くのベンダーから提供されているにもかかわらず、単一のプロセッサ上に直接実装された特殊ロジックを必要とする他の業界に焦点が移っています。例として、ミルエアロ市場の多くのメザニンカードおよびドーターカード製品は、バックプレーンを介して複数の周辺機器およびカードにアクセスできる非常に高速なデータレートを提供する適応可能な組み込みコンピューティングプラットフォームとしてFPGAを使用しています。テレコムおよびネットワーキングは、市場投入までの時間が速く、標準および技術の展開における変更に対応するためのアップグレードの相対的な容易さのため、広範なFPGA設計および開発が行われているアプリケーション領域のままです。

今日のFPGA設計と開発

上で強調された領域では、FPGAの使用が減少していません。テレコムは注目すべき一つの領域です。例として、Huaweiは世界最大のFPGAの消費者の一つであり、加速されたクラウドコンピューティングをサービスとして提供する「FPGAクラウド」プラットフォームを市場に出しています。アプリケーション開発を始めるのを助けるためのHuawei Cloud GitHubリポジトリさえあります。彼らのインフラストラクチャでのFPGAの使用は、他のテレコムよりも早く5Gサービスを展開する能力にも貢献しています。今日、上で特定された同じ利点が、FPGAの設計と開発をロボティクスとAIの二つの領域に押し進めています。これら二つの領域は深くリンクしていますが、AIは新しいFPGAの設計と開発のより大きな推進力であると言えます。

AIがFPGAの設計と使用を推進している

FPGA分野のリーダーたちは、ハードウェアシステムでのAIの実装がこれらのコンポーネントのシリコン使用に大きな変化をもたらすと予測しています。これは、ロボティクスや軽量AIにMCUを使用できないと言っているわけではありません。USBやPCIeブリッジを介して接続するAIアクセラレータモジュールの普及は、インテリジェントな組み込みシステムのためのMCU/MPU開発者を収容する努力を示しています。しかし、FPGAは推論計算を計算の並列化によって非常に迅速に実行できる、より適応可能なプラットフォームです。FPGAファブリックはアルゴリズムに合わせてカスタマイズできますが、GPU/MCU/MPUの逐次ロジックではできません。

オンボードAI推論を実装するシステムを含む、高計算組み込みシステムで使用されている新しいコンポーネントの一つは、XilinxのZynq-7000 All ProgrammableシリーズSoCです。このコンポーネントは、ARM Cortex-A9コアベースのアプリケーションプロセッサで最大866 MHzで動作します。ギガビットイーサネット、DDR、フラッシュ、PCIe、高GPIOカウントなどの追加インターフェースにより、このコンポーネントはエッジコンピュートシステムに簡単に統合できます。I2CやSPIなどの低速インターフェースも、アナログセンサーやその他の標準インターフェース(CANBus、RS-485など)からデータをキャプチャするASICとZynqを動作させることを可能にします。

XilinxはFPGA上のAIのリーダーの一つであり、多くの開発者リソースを提供しています。Zynqプロセッサーとの興味深い開発の一つは、Xilinxがそれを呼ぶように、Zynq上のPythonの実装、またはPYNQです。他のFPGAベンダーもZynqと競合する製品ラインを構築しているので、組み込みAI開発者はFPGA設計を使用してデバイス上でのAI計算に多くのオプションを持つでしょう。

FPGAを使用する際の課題

FPGAは、より高度なアプリケーション領域で働いている経験豊富な開発者にとって素晴らしいプラットフォームです。標準の風景、ASICソリューションの風景、およびMCU/MPUの能力が不足しているか急速に変化している場合、新しいシステムにはFPGAがおそらくより良いオプションです。FPGAはさまざまな領域で成功を可能にしてきましたが、それらは独自のハードウェアおよび開発の課題を持っています:

  • 熱管理:FPGAは、そのコンポーネントのサイズに応じて、MCU/MPUの親戚のように、かなりの熱を発生させることがあります。これは新しい課題ではありませんが、エッジコンピューティングや高出力の5G機器のような、コンパクトで高計算システムの設計要件によって複雑になっています。私のクライアントの中には、これらのシステムで独自のヒートシンクを使用したり、エンクロージャに接合することによる熱放散戦略を検討している人もいます。

  • 配置と配線:高計算アプリケーションでは、プロプライエタリなベンダーソフトウェアがFPGAファブリックにマッピングされる場所と配線のタスクにまだ課題があります。これには時間がかかります。なぜなら、コンパイラソフトウェアは、アプリケーションのすべてのロジック機能をサポートするマッピングを見つけるためのアルゴリズムを使用しなければならないからです。この課題があるアプリケーション領域は、高性能コンピューティングとデータセンターです。これは、FPGAが推論/トレーニングに加えてシステムレベルのタスクに使用されるAIでも問題になる可能性があります。

  • 開発リソース:FPGA開発者コミュニティは、ASIC + MCUコミュニティやオープンソースソフトウェアコミュニティ全体と比較しても、それほど大きくありません。MCUは、ArduinoやESP32のような非常に人気のあるプラットフォームのおかげで、経験の浅い開発者が使用を開始するのが容易です。しかし、FPGAベンダーは開発者がFPGA上で迅速にソリューションを実装できるように、リソースを提供する点で大幅に改善しました。GitHub上の新しいFPGAプロジェクトの数も、MCUプロジェクトと同じペースで増加しています。下の表を参照してください。

将来、FPGAはどのような姿になるのでしょうか?

現在のFPGAは、古いFPGAベースの製品が多数の周辺機器と複数のインターフェースを介して接続する必要があったため、シリコン領域の約50%以上をIOに割り当てています。AIのような高計算アプリケーションに焦点が移るにつれて、AI計算ブロックにより多くのシリコン領域が割り当てられることに驚かないでください。これには、実行時のインターコネクトの進化と柔軟なデータ移動も含まれる可能性があります。異種統合もFPGA SoCに取り入れられ、AIブロック、GPU/TPU、高帯域幅メモリ、RFフロントエンドが単一のコンパクトパッケージに組み合わされます。

FPGAは必要に応じてFPGAファブリックで実装および再プログラム可能なASIC機能を持つことができますが、ASICベースのシステムに対して依然として優れた補完物です。一つの設計アーキテクチャとしては、アップグレードが必要な可能性のあるすべての機能をFPGAに配置し、ASICの標準化を使用してセンサーやデータバスなどの単純な周辺機器とのインターフェースを行うことが理にかなっています。これにより、開発者は最終製品に必要な高計算機能の完成に集中できるため、FPGAの設計時間が確実に短縮されます。このタイプのアーキテクチャをインテリジェント組み込みシステムで使用したい場合は、他にもいくつかのコンポーネントが必要になるでしょう:

次のFPGA設計のためのコンポーネントを探す必要がある場合は、Octopartの高度な検索およびフィルタリング機能を使用してください。Octopartの電子部品検索エンジンを使用すると、最新のディストリビュータ価格データ、部品在庫、および部品仕様にアクセスでき、すべてがユーザーフレンドリーなインターフェースで自由に利用可能です。統合回路のページをご覧ください、必要なコンポーネントを見つけてください。

最新の記事を読むために、ニュースレターに登録してください

 

 

 

 

 

関連リソース

ホームに戻る
Thank you, you are now subscribed to updates.