FPGAプロセッサコア

 FPGAプロセッサコアとはFPGA内に組み込まれたCPUのことを言う。FPGAのため、複数のCPUを1つのチップに入れたり、必要な周辺ハードをチップ内に作成するなど、オリジナルなCPUを作ることができる。


 プロセッサコアにはソフト・マクロ(ソフトIP)とハード・マクロ(ハードIP)の二つの形態がある。ソフトIPはFPGAの論理ブロックや配線リソースを用いてプロセッサを構成する方法である。一方ハードIPの場合は、専用の回路ブロックがFPGAの中に最初から埋め込まれている。我々の開発した新しいコントローラでは、ハードIPのVirtex-II Proを用いて、シリアル接続のモータ制御回路やA/Dコンバータ回路などを組み込み、オリジナルのプロセッサを製作した。
このコントローラは以下のような性能を持つ。インターフェースとしてICS2.0を6つ持つ。ICS2.0は近藤科学のシリアルサーボで使用されている通信規格。プロセッサコアは今回は1つだけ。

FPGA Virtex-II Pro XC2VP4 FG256
ロジックセル6,768
BRAM 16Kbyte
プロセッサコア IBM PowerPC 405
・32 ビットRISC プロセッサ
・32 ビット固定長命令
・32 個の汎用32bit レジスタ
・MMU
・265MHz
コンフィグレーション TE7220
メモリ SDRAM 16Mbyte
Flash 8Mbyte
インターフェース LAN × 1
RS232C × 2
ICS2.0 × 6
A/D × 6
画像入力(予定)
消費電流 300mA
   
   


 開発にはザイリンクスのエンベデッド開発キットEDKを使用。このツールでは色んなIPが提供されていて、簡単に?オリジナルCPUができる。プログラミング言語はCを使用した。




開発環境
PC WindowsXP
FPGAプログラミング Xilinx EDK
Platform Studio
ISE
アプリケーションプログラミング GNU GCC Compiler(EDKに含まれる)

FPGA内部のブロック図

EDKで設計