2011年11月24日木曜日

Veritak でシミュレーションする


by yosikawa » 2011年2月12日(土) 19:24
ISim は起動が遅いし、それにISimが動いている間は、ISEの環境全体が重くなる。
ちょっと耐えがたいので、Veritakを試してみた。結果は良好だ。

Veritakのページ
Vectorにて4,830円。もう少し試してから買うことになりそうだ。


ロータリスイッチを使う
で作成したコードをveritakでシミュレーションしてみる。

veritakを起動する。
メニュー->Verilogプロジェクト->新しいプロジェクトを作成
ファイル名を適当に入力。

すると、対象ファイルを選択する画面になる。
t_top.v, top.v, S3E_Rotary.v を選択し、Addボタンをクリックする。
Save Projectボタンをクリックする。
Exitボタンをクリックする。

メニュー->Verilogプロジェクト->Load verilog プロジェクトを選択。
先ほどのプロジェクトファイルを再度選択する。

すると、自動的にコンパイルされる。
エラーがなければ、メッセージが緑色で表示される。
エラーがあると、白色で以下のように表示される。
コード: 
C:\WORK\FPGA\Spartan-3E\T2-LED2\t-top.v(118)::   Parse Error.yy=syntax error

この行をダブルクリックするとエディタが起動するので、修正して保存する。
再度実行するには「コンパイルします。。。。」というツールチップのアイコンをクリックする。

エラーがなければ、Goボタンをクリックする。
最初、何も起こらないと思ってしまったが、一番下のステータスバーをみるとシミュレーションがガンガン進んでいる。
Goボタンがpauseのボタンに変わるので、もう一度クリックしてシミュレーションを止める。

「Scope Tree Viewerを前面にします」という、これまた分かりにくいアイコンをクリックすると、シミュレーションの画面が表示される。
でもまだ真っ白の状態。
Scope Tree Viewの左に、テストベンチであるt_topが表示されている。
これを右クリック->「信号をWaveform Viewに追加する」->「この階層以下の信号をWaveform Viewに追加する」を選択する。

しばらくして、結果が表示される。
スケールがps単位で、ところが先ほど作ったテストベンチでは最初に100ns時間待ちをするようになっているから、
見たい部分ははるかずっと右の方だ。

画面操作方法(詳しくはveritakのホームページに詳しいチュートリアルがある)
  • ctrlキーを押しながら、マウスのホイールを回すと横方向のスケールが変わる。
  • Waveform Viewのタイトルバーを右ダブルクリックすると、時間軸の単位が変わる。
  • 左クリックで時刻T1を決めるバーが現れ、右クリックでT2のパーが出る。それぞれの時刻や時間差がステータスバーに表示される。
  • マウス中ボタンでメニューが出る。Enable Gridlineにチェックを付けると縦の線が表示されて、時間の関係を把握するのに役立つ。
  • 目盛(80.000nsなどの時刻が表示されているところ)の上でマウスの中ボタンをクリックすると、グリッドの幅が変わる。表示->グリッドで数値で設定することもできる。
    ここで分かりにくいことに、この設定画面のEnableというチェックをONにすると数値で指定した方が有効、チェックをOFFにすると、先ほどの中ボタンを使った設定が有効、という意味になる。先ほどのEnable Gridlineとは意味が違う。

まとめると、veritakは使える。
ちょっとへんなインタフェースだが、慣れの問題だろう。
きめ細かい設定などができて、便利そうだ。
なにより速いのは重要で、十分に実用的だと思う。

1 件のコメント:

  1. yosikawa » 2011年11月21日(月) 16:16

    Veritak で Xilinx 用プロジェクトをシミュレーションするときに必要な、Xilinx固有の定義を読み込む設定
    よく忘れるのでメモ。

    1. glbl.v を追加
    メニュー、Verilogプロジェクト、プロジェクトの編集 で、
    ISEインストールディレクトリ/(バージョン)/ISE_DS/ISE/verilog/src/glbl.v
    を選択してAddする。

    2. ライブラリディレクトリを追加
    同様にして、
    ISEインストールディレクトリ/(バージョン)/ISE_DS/ISE/verilog/src/unisims
    を選択して (フォルダアイコンの選択ではなく、フォルダの内容が表示されている状態)
    Add Lib Dirボタンをクリック。

    3. セーブ
    Save Projectボタンを忘れずに。

    返信削除