ソフト・マクロのCPUを使おう! ――FPGAによるシステムLSI設計の意味
4.FPGA向けCPUならではの使いかた
ベンダ側の提案,そして筆者が考えているソフト・マクロCPUならではの使いかたをいくつか紹介します.
●マルチプロセッサ
ソフト・マクロのCPUは,FPGAの内部リソース(論理セルや配線領域)が許すかぎり,1デバイス中に何個でも実装することが可能です(ロイヤリティが不要の場合,図7).
例えば単純なシーケンサであっても,ハードウェアで設計するのは意外と手間がかかるものです.しかしソフトウェアであれば,あっという間にでき上がります.CPU処理ならシーケンスの変更にも柔軟に対応できます.ソフトウェア処理に適した一つの機能ごとに一つのCPUを使ってしまうという方法です.単機能の処理であれば,タスク管理などの複雑さもなくなります.
このようなアイデアは考えられるものの,内蔵メモリなどの制約から,実際に組み込めるCPUの数は限られます.また,むやみにCPUを入れてしまうと,ソフトウェアのデバッグが長期化する可能性も出てきます.デバッグについても十分に意識しながら,システム設計を行う必要があるでしょう.
〔図7〕ソフト・マクロのCPUによるマルチプロセッサ・システムの例
一つの機能を一つのCPUに担当させる.こうすればソフトウェアをシンプルに設計できる.