VirtexII ProのPowerPCを動かしてみる
VirtexII Proの中のPowerPCを動かそうと、EDKで開発。
PowerPCと、UARTと、4ビットのLED用GPIO、そしてデータ・命令兼用のブロックRAMを入れてみた。
ブロックRAMは、アドレス0xffffc000~0xffffffffにマッピングされている。
OCMのバスは使用していない。
これらのCPU一式をSubModuleとして、上位のモジュールをVHDLで開発した。
上位のモジュールはRocketIOを4基備えている。
ISE6.2で全体をSynthesize(中でEDKが動作)+Implementすると、約6分30秒かかった。
そのうち、EDKでの処理に3分程度かかっている模様。
MicroBlazeの時よりはずっと速い気がするのだが、それでもずいぶん待たされる。
ハードウェアを変更せず、FPGAの中に組み込んだソフトウェアの変更だけならば15秒ほどしかかからないが、FPGAのロジックを変更しようとすると、3~6分程度かかってしまう。
なお、CPU一式を外して、上位のモジュール(RocketIO周辺のみを実装)だけだと、Synthesize+Implementで1分しかかからない。
PowerPCを使うために毎回プラス2~5分の合成時間が必要ということになると、ちょっとためらってしまう。
FPGAの中に作りこんだレジスタをRS232で身をいろいろと操作したいだけなので、UARTとステートマシンで頑張りたくなってしまう。
今日の収穫は、EDKの中で書くソフトウェアのためのライブラリのリファレンスは下記のファイルの中にあることがわかったこと。下記のファイルはWebで検索すればすぐに見つかる。
・xilinx_drivers.pdf UARTやGPIOや、IICなど、各種IPのリファレンス
・edk_libs_ref_guide.pdf xil_printfなどのリファレンス
| 固定リンク


コメント