ソフト・マクロのCPUを使おう! ――FPGAによるシステムLSI設計の意味
5.ソフト・マクロのCPUに対する疑問
FPGAを使用している設計者の方々であっても,ソフト・マクロのCPUの利用について,あまり積極的ではないケースがあるようです.その理由はいくつかに集約されるのですが,中にはかなりの誤解もあるようで残念なかぎりです.
●CPUは外付けにしたほうが安い?
―― No! FPGAのすき間に実装すればタダ同然FPGAは価格が高く,量産には向かないというイメージがついて回っているようです.このため,高価なFPGAにソフト・マクロのCPUを入れるくらいなら,ひと回り規模の小さなFPGAとリーズナブルな価格の汎用CPUを併用したほうがコスト・パフォーマンスが良いと考えがちです.たしかにFPGA向けのソフト・マクロのCPUが発表された当時はその傾向がありましたが,最近では大きく事情が変わってきています.
例えばAltera社のCycloneファミリの場合,いちばん規模が小さい「EP1C3」にNiosコアを実装すると,使用率は約50%になります.そこで「EP1C3の2004年における大量購入時の価格は4ドルなので,CPU分のコストは2ドル」という説明もあります.
さすがに筆者はこれをうのみにはしません.FPGAの設計で,使用率100%を前提として話をするのはおかしいですし,FPGA向けのアプリケーションで大量購入時の価格を適用するのも無理があります.こう考えると,500円~1,000円程度をCPUのためのコストと見なすのが適切ではないでしょうか.この程度でカスタム・マイコンが手に入るのであれば,メリットが大きいと考えます.部品点数や実装面積の削減によるコスト・メリットも出てくるかもしれません.
ソフト・マクロのCPUを実装するためにひと回り大きなFPGAを使わなければならないとしたら,差額分だけコスト・アップになると考えている人もいるようです.しかし,実際の設計を考えると,CPU処理を必要とするような機能であるなら,EP1C3よりもう少し大きめの規模のデバイスを使うことになるはずです.いまや数十万ゲート規模のFPGAの使用など珍しくありません.この規模のFPGAであれば,CPUコアのゲート規模は全体の数%~10%以下です.FPGAで使用率100%を前提とした設計がないということは,もともと余っている「すき間」にソフト・マクロのCPUを実装できる可能性があるとも言えます(図10).この場合,CPUのコストは実質タダということになり,汎用LSIとその周辺回路がなくなる分だけコスト削減につながります.
〔図10〕ソフト・マクロのCPUは'すき間'に入る