ソフト・マクロのCPUでLinuxを動かす(後編) ──OSの実装とネットワーク対応機器への応用
●○● Column ●○●
◆Spartan-3による量産ボードの製作◆
本稿は米国Xilinx社のSpartan-IIEを採用した試作ボードをもとに執筆していますが,量産向けにはSpartan-3を搭載します.Spartan-3は同社のVirtex-IIアーキテクチャを継承し,90nmプロセスで製造される低コストのFPGAです.
● ソフト・プロセッサに向いた低コストFPGA
Spartan-3は,ソフト・プロセッサを実装するのに魅力的なFPGAです.
1)内蔵メモリ(BRAM)の増加
Spartan-3の40万ゲート品は,Spartan-IIEの40万ゲート品に比べて,内蔵メモリが1.8倍に増えました.総容量は294,912ビットになります.多くのメモリをキャッシュ・メモリに割り当てることができれば性能向上を期待できます.アプリケーションによっては,外付けメモリすら不要になります.
2)ハードウェア乗算器の実装
ハードウェア乗算器(18×18ビット)により,高速な演算処理を実現できます.
3)動作速度の向上
Spartan-3のスピード・グレード"-4"は,Spartan-IIEのスピード・グレード"-6"と比べて,約1.3倍高速です.タイミング・アナライザでは52MHzの値が得られました.Spartan-IIEでは約40MHzでした.
4)DCM(Digital Clock Manager)の搭載
出力周波数を任意にてい倍・分周できるため,アプリケーションに合わせたクロックを簡単に生成できるようになります.製作したボードには3.6864MHzの発振器を載せ,FPGAの内部でてい倍して使用するようにしました.現在は51.6096MHzまでてい倍して動作させています.
● ハードウェア設計の注意点
Spartan-3は,最新プロセスで製造されるFPGAであり,回路設計においていくつかの注意点がありました.その一例を紹介します.
1)VCCINT電源電圧変動範囲
コア電圧VCCINTの電圧範囲は,1.2V±5%(1.14V~1.26V)です.電源電圧が下がった分,許容される変動範囲も狭くなっています.そのため,使用するDC-DCコンバータや電源レギュレータの負荷急変応答性や,入力電圧変動応答性には気をつける必要があります.また,コンデンサも低ESR品を選択するのがベターでしょう.
2)VCCOの立ち上がり時間
I/O電圧VCCOは,コア電圧が与えられてから600μs以上たってから供給する必要があります(Device Revision0の場合).この600μsの時間を確保するために,遅延回路を設ける必要があります.回路設計時には,参考文献(19)などを参照するとよいでしょう.
3)VCCAUX
JTAGピンやコンフィグレーション・ピンの一部は,VCCAUXから電源供給される2.5V仕様のI/Oとなっています.これらのピンと接続したいデバイスの入出力レベルが3.3Vの場合には,制限抵抗やバッファなどを入れる必要があります.Spartan-3の入力ピンに対し,10mA以下になるように制限抵抗を挿入します.
● 低価格の製品化を実現
今回設計したボードは,産業用および教育用として市販します.Spartan-3を搭載し,ソフト・マクロのCPUとLinuxを活用したことで,40万ゲート・タイプで1台20,000円という低価格化を実現できました.このほかに,100万ゲート・タイプを用意する予定です.
今回紹介したボードの各種ドキュメント,FPGAプロジェクト構築情報,Linuxソース・コード,ツール・チェーン,ダウンローダなどの最新のツールと情報は,以下のWebサイトから入手することができます.
「製品/技術」から「SUZAKU[朱雀]」を選んでください.