ソフト・マクロのCPUでLinuxを動かす(前編) ――FPGAベースのボード・コンピュータを設計する
● コンフィグレーション回路
SRAMベースのFPGAでは,回路データを保存するコンフィグレーションROMが必要です.FPGAメーカが提供する専用ROMを使用するのが一般的ですが,今回はリモート・コンフィグレーションの機能を実現するために,東京エレクトロンデバイスの「TE7720」と汎用フラッシュ・メモリを組み合わせた構成を採りました.
TE7720は,Xilinx社のFPGA向けコンフィグレーション制御LSIです.汎用フラッシュ・メモリに記録されたコンフィグレーション・データをFPGAに書き込む機能を持ってます(図4).
TE7720は,CPUバスにも接続可能です.FPGAのコンフィグレーション・データで使用しないメモリ領域は,CPUから使用できます.このため,FPGA専用ROMを使用する場合と比べてコストを下げられました.
CPUからフラッシュ・メモリをアクセスする機能を使うことで,FPGAのリモート・コンフィグレーションを実現できます.LANやシリアル・ポートなどを使ってコンフィグレーション・データを送り,フラッシュ・メモリを書き換え,再起動すれば,新しい機能として動作します(図5).
図4 コンフィグレーション回路の動作
TE7720を使い,フラッシュ・メモリへのFPGAコンフィグレーション・データの書き込み,フラッシュ・メモリからのFPGAのコンフィグレーション,ソフト・プロセッサのためのプログラム読み出しを行う.
図5 リモート・コンフィグレーション
LANやシリアル・ポートなどを使ってコンフィグレーション・データを送り,フラッシュ・メモリを書き換え,再起動すれば,新しい機能として動作する.