ソフト・マクロのCPUを使おう! ――FPGAによるシステムLSI設計の意味
●CPU
外部の制御機器から入ってくる情報を処理して制御機器へフィードバックする,あるいはデータをロギング(収集)するような組み込みシステムを考えてみましょう.このシステムに必要なCPUの処理能力は,1回に入力される情報量,入力間隔,フィードバック時間などによって決まります.大きな幅がありますが,ほとんどの場合は数十~200MIPS
の範囲に収まるのではないでしょうか.
●メモリ
搭載するマイコンと処理内容を吟味し,多少,将来のための余裕を織り込みながら,必要最小限のメモリを搭載します.
ROMの種類は,基板実装後に書き込めるフラッシュ・タイプが主流です.最近では,EPROMタイプが使われることは少なくなりました.
RAMの種類は,必要な容量によって変わります.4Mバイト程度までならばSRAM,それ以上ならばSDRAMというのが一つの目安でしょう.
マイコンには,必要なメモリを接続するためのメモリ・コントローラが必要です.マイコンに搭載されていない場合はFPGAなどで設計します.
●I/Oおよび通信インターフェース
組み込み機器本体と外部の制御機器は別電源で使用することが多いので,機器間を絶縁して電源の回り込みなどによる破壊から保護する回路などが必要です.
通信系については,外部に接続する機器が装備している通信インターフェースと同じものを実装します.昔はRS-232-CやGPIBなどが主流でしたが,ネットワークが普及した現在では100Base-TXのLANやUSBが多く用いられます.最近ではLVDS(low voltage differential signaling)などの差動伝送を採用したインターフェースがよく使われるようになっています.
●専用回路
ウォッチドッグ・タイマや緊急時のフェイル・セーフなど,CPUが介在できない機能は専用回路によって実装します.特定機能のLSI部品を使用するか,もしくはFPGAなどで実現することになります.