SANMAN

思いつきの考えを垂れ流すブログ

続・FPGAの話

どうして市販チップよりも高いFPGAを載っけてシステムを作るのか。

昨今のめまぐるしい製品開発競争と、開発コストが主な理由。
結局カネですわ。
 
コストの原因としては以下の3つ
1)機能の問題
2)設計・実装難易度の問題
3)アップデートを含めた仕様変更への対応問題
がある。

機能的問題

ハード的な要求仕様を満たせない。
市販チップはメーカーが想定した用途に合わせた機能・インターフェースを持つが、それがマッチしないことは多々ある。
例えば最新のインターフェースへの対応や、スループットの問題。
 
こうした状況をこれまではカスタムLSI(ASICと呼ばれている)を作って対応していたのが、FPGAに置き換わってきた。

実装コスト・リスクの問題

わざわざLSIを作るというのは過去の資産があっても結構大変なもので、物になるのに早くても半年くらいかかる。
マスクと呼ばれる回路の金型的なものを作る費用が莫大にかかるため、論理回路のバグは許されない。
バグると億レベルが吹き飛ぶイメージ。
そのためマスク作る前段階で、シミュレーションによる充分な回路検証する必要があり、これが時間がかかる。
回路検証が終わっても製造自体も軌道に載るのにそれなりに時間がかかる。
工場動かす作業なので。
あと大量に作って売らないと投資金額が回収できない。
 
FPGAはチップはすでにある部品であるため、チップ製造について気にしなくて良い。
部品が手に入りさえすればFPGAでの回路設計を即実行できる。
FPGAはPCと電源さえあればどこでも回路修正が可能。
なので、LSIに比べるとバグに対して寛容。検証も簡易にして、実機で動かしてバグ取りした方が早かったりする場合もある。
期日までに動けば正義。
 
最近のFPGAは高性能なので、やりたいことはだいたいできる。
どうしても出来ない超ハイスペックな場合はLSI作る事を検討しなければならないが。

柔軟な仕様変更に対応

FPGA内部ロジックに関してはいつでも変更可能。
アルゴリズムの改善等すぐ試せる。
MicrosoftFPGAを載せたがる理由はこの点がメイン。
金融でのHFT(High Frequency Trading)にFPGAつかうのもこの点。
 
LSIだと回路変更=マスク改定となり、めちゃくちゃ大変。
もちろんその前のRTLの再検証も大変。
金があるMicrosoftでも時間は買えない。

再利用のしやすさ

これはFPGA特有ではないけれど、
RTLは基本部分は流用可能なので、LSI化する場合のコストが下がる。
FPGAである程度の実績があるため、ちょっと安心。
LSI化しなくてもIPという形(ソフトウェアライブラリのようなイメージ)でRTLの提供ビジネスもできなくもない。

おわり

FPGAが利用される世界について雑に説明。

次はFPGA設計者に要求される知識や技能について書こうかな。