2012年2月3日金曜日

Xilinx FPGA開発ツールのChipScopeは便利

XilinxのSpartan6を使ってロジック開発をしているんですが、実はわたしはXilinxにせよALTERAにせよ、デザインフローの中にあるはずのsimulation toolの使い方を知らないっていうヘタレ小僧なんです.

だって、いままで、vcsという高級simulation toolを使いたい放題だったんだもん.しかし無職になったらvcsが使えなくなってしまったので、不便になりました.こういうところは企業に属しているエンジニアの役得だったんだよね.

いま設計しているDDR3のsample designの中に、ChipScopeというツールが組み込まれていたので、使ってみましたら、なかなか便利ですわ.

たぶんこういう原理です.
FPGA内部の任意のノードの信号を深さ1000段のメモリにどかどか積みます.メモリが満タンになったら、メモリの内容物をUSB経由でPCに転送します.PC上のアプリソフトが、そのデータをロジアナ風の画面に整形して表示します.その結果、下のような画面をPC上で見れます.画面のupdate intervalは2秒ぐらいです.

1000クロックのまとまりでしか観測できません.また、クロックでサンプルされた信号しかモニタできませんので、クロックとクロックの間のハザード感はつかめません.まぁそれでもソースコードを眺めているよりははるかにデバッグの役に立ちます.
使い方は簡単には、こんなblack boxなmoduleがあり、[255:0]のポートに、観測したい信号をダーッと並べて接続すればいいんです.
module ilax (
   input CLK,
   inout [35:0] CONTROL,
   input [1:0]  TRIG0,
   input [255:0] DATA
endmodule

ひとつ残念なことは、ISEという開発ツールのうち、フリーライセンスで使えるWebPACK版にはこのChipScopeは含まれていないっていうことです.試用期間のみの短い命.

0 件のコメント:

コメントを投稿