eFPGAとアダプティブASIC
Achronix、Menta、QuickLogic、Flex Logixの組み込みFPGA IP、SoCにプログラマブルロジックのブロックを置く価値がある場合、そしてFPGAとフルカスタムチップの間にあるストラクチャードASICとチップレットの道を解説します。
概要
組み込みFPGA(eFPGA)は、ルックアップテーブル、配線、場合によってはブロックRAMとDSPからなるブロックをIPとして提供し、他社のASICやSoCの内部に配置するものです。チップは固定ですが、その一領域はテープアウト後に再プログラムできます。このハブは、その領域が面積に見合うかどうかを判断するアーキテクトと、それをターゲットにすることになったFPGAエンジニアのためのページです。逆方向の動きも扱います。FPGA設計から出発し、数量が正当化するときに、その全部または一部をストラクチャードASICやチップレットに移行することです。
eFPGAの売り文句は狭いものです。ASICは単価が最も安く最も速いですが、変更できません。FPGAは自由に変更できますが、単価が高く、消費電力が大きく、SoCの外側にインターフェースを挟んで置かれます。eFPGAは、不確実性のある場所に数パーセントのプログラマブル領域を置き、チップの残りはハードにします。それが見合うかどうかは、何を変更する必要があるかについてどれだけ確信があるかによります。
重要な考え方
プログラマブルロジックを組み込むべき場合
出荷に至った事例には共通のパターンがあります。プログラマブル領域が実装するのは、仕様が遅く決まるもの、顧客や規格によって変わるもの、現場で更新しなければならないものです。まだ最終化されていないプロトコル向けのパケットパーサー、多くのカメラベンダーに販売する製品のセンサーインターフェース、暗号アジリティのブロック、規制に追従しなければならない無線フィルタ、発売後にアルゴリズムを調整する予定のハードウェアアクセラレータなどです。防衛・航空宇宙分野では、機密性の高いアルゴリズムをマスクセットから完全に外すためにeFPGAを使います。失敗する事例は、既知の用途もなく保険として領域を追加したものです。遊んでいるeFPGAはダイ上で最も高価なシリコンだからです。eFPGAタイルは同等のハードロジックのおよそ20倍から40倍の面積で、クロックレートはおそらく3分の1なので、問いは決して「これをプログラマブルにできるか」ではなく、「何を変更するのか、その代わりに再テープアウトするといくらかかるのか」です。
誰が販売し、どう提供されるか
Achronix Speedcoreは特定プロセス(TSMC 16 nmと7 nmなど)向けのハードマクロとして提供され、顧客がLUT、RAM、DSP、機械学習タイルの構成比を選び、Achronix自身のSpeedsterチップと同じACEツールを使います。Flex Logix EFLXは数千LUTのタイルを隣接させて大きなアレイを構成するもので、180 nmから7 nmまでの幅広いノードで提供され、防衛および自動車プログラムにライセンスされてきました。QuickLogic ArcticProは同社自身の低電力FPGAから発展したもので、成熟ノード上の小さなアレイ向けに位置づけられ、オープンソースのツールフロー(同社のAuroraツールを通じたYosysとVPR)を売りにしています。フランスのMentaは、RTLで記述されたソフトeFPGAを提供しており、どのファウンドリのスタンダードセルフローでも合成できますが、密度では多少の代償があります。これら以外に、OpenFPGAプロジェクトは記述ファイルからファブリックとそのビットストリームツールを生成します。いくつかの学術チップと一部の商用チップは、これによってプログラマブル領域を得ました。いずれの場合も、eFPGAベンダーがファブリック、ビットストリームツール、コンフィギュレーションインターフェースを提供し、SoCチームがクロック、電源ドメイン、接続用のAXIまたはカスタムバスを提供します。
逆方向: FPGAからASICへ
数量が出るようになったFPGA設計は、段階的により安価なプラットフォームへ移行できます。ストラクチャードASICは最も短いステップです。AlteraのeASICデバイス(本稿執筆時点ではN5Xファミリー)は、ロジックとメモリの事前製造されたアレイから作られ、数層のメタル層でカスタマイズされます。そのためStratix 10やAgilexの設計は、控えめな初期費用、FPGAの何分の一かの電力、一部パッケージではピン配置の変更なしで移行できます。設計会社によるフルカスタム変換は、FPGAをスタンダードセルASICに置き換え、最低の単価と最高のNREになります。チップレットは最も新しい選択肢です。固定ロジック用のハードチップレットとFPGAチップレット(AMDもAlteraも大型デバイスを内部的にこの方法で作っています)が、UCIeのようなダイ間リンクを介してパッケージを共有します。どの道を選ぶにせよ、RTLは最初から移植可能に設計してください。推論された構造で済むところではベンダープリミティブを避け、クロックドメイン間の乗り換えを明示的に保ち、メモリはラッパーの背後に置きます。
どこから始めるか
eFPGAは周囲のチップを除いたFPGAなので、入門トラックがそのまま当てはまります。/learn/beginner/01-what-is-an-fpga/と/learn/beginner/03-combinational-logic-and-luts/は組み込まれるファブリックを説明し、/learn/beginner/02-how-an-fpga-is-programmed/はホストCPUが駆動するコンフィギュレーション機構を扱います。/topics/fpga-architecture/ハブはタイルとは何かを説明し、/topics/soc-fpgas/はeFPGAが再利用するプロセッサとファブリック間のインターフェースを扱います。実験するなら、YosysとVPRを用いたOpenFPGAでシミュレーション可能な小さなファブリックを生成できます。シリコン統合に関するエキスパートトラックは準備中です。
ツールとベンダー
| ベンダー | 製品 | 提供形態 | ノード | ツール |
|---|---|---|---|---|
| Achronix | Speedcore | ハードマクロ、タイル構成はカスタム | 16 nm、12 nm、7 nm、その他は要相談 | ACE(Speedsterと同じ) |
| Flex Logix | EFLX | 隣接配置するハードタイル | 180 nmから7 nm | EFLXコンパイラ |
| QuickLogic | ArcticPro、Australis | ハード、ノードごとに生成 | 180 nmから、本稿執筆時点でIntel 18Aまで | Aurora(YosysとVPRベース) |
| Menta | eFPGA IP | ソフトRTL、顧客が合成 | 任意 | Origami |
| OpenFPGA(オープンソース) | 生成されるファブリック | RTLとビットストリーム生成器 | 任意 | Yosys、VPR |
| Altera | eASIC N5X | ストラクチャードASIC、FPGAからの移行 | 16 nm | Quartus Prime Pro移行フロー |
ハードeFPGA IPには、ノードごとのライセンス料とロイヤルティ、そして認定のリードタイムが伴うので、判断はRTLの段階ではなくアーキテクチャの段階で行います。
よくある間違い
- 最初の用途とビットストリームの担当者を決めないままeFPGA領域を追加する。
- 面積を過小評価する。ハードロジックが動作するクロックレートで、eFPGAタイルとハードロジックを比較してください。
- コンフィギュレーションの経路を忘れる。起動時にビットストリームをどう認証し安全に読み込むかを含みます。
- SoCの最速ドメインからeFPGAをクロックして収束を期待する。ハードクロックの3分の1を見込んでください。
- 後でeASICやASICに移行するデバイス向けに、ベンダー固有プリミティブだらけのFPGA RTLを書く。
- ストラクチャードASICを検証不要と見なす。メタル層のカスタマイズにも、他のテープアウトと同じサインオフが必要です。
さらに深く
- Achronix Speedcore eFPGA。タイルのオプションとプロセス一覧があります。
- Flex Logix EFLXの文書は、2024年の買収後はAnalog Devicesを通じて配布されています。本稿執筆時点で単独のサイトはオフラインでした。
- QuickLogic eFPGA。オープンソースツールに関する注記を含みます。
- Menta。ソフトeFPGAのベンダーです。
- OpenFPGA。ファブリックの生成と書き込みに関する文書があります。
- UCIeコンソーシアム。チップレット相互接続の仕様があります。