2012年2月8日水曜日

Xilinx ISEのシミュレータは意外に使えるじゃん

企業のエンジニアだったときはLSI開発のシミュレータとしてvcsを使っていたので、XilinxのFPGAの開発システム(ISE)上にどんなシミュレータがあるのか知らないわたしでした.

以下、LSI開発経験者にしか判らない話題だと思われます.orz

ISEのシミュレータについてネットを検索すると、下記のようなウインドウ画面でclockを設定してRUNさせればカウンタが動きます的な解説はあるんだけど、そんな初歩的なことを知ってもシミュレーションなんかできないわけで、役にたちません.
そんな役立たずにしかなりえない解説ページなんかどうして書くんですかね? STM8Sの解説ページをわたしが書いた動機は、STM8Sの使い方解説ページも役立たず記事ばっかりで、不機嫌になったからでした.マシン語のループディレイでLEDをチカチカさせる方法なんか知ってもプログラミングの役には立ちませんよね? その先にある、英文資料を読んでライブラリコードを読んで動かしてやっと総体的に理解できるところを解説してくれなかったら役に立たないじゃないですか???

話をISEのシミュレータに戻しますと、統合開発環境ISEの中にあるISimをいじっていたら、ちゃんとforeverが使えるんです.
     forever #1000 clk = ~clk;
さらに、$writeも使えます.
     $write("clk %d div %d i %d\n",clk,div,i);
さらに、$readmemhも使えます.
     $readmemh("test.hex", ROM);

これならやる気がでますわ.

残念なこともあります.下記はノーエラーで通りますけど、Isimの動作的には無視されているようです.
     $dumpfile("wave.vcd");
     $dumpvars(0, testbench);

0 件のコメント:

コメントを投稿