”Veritakでのシミュレーション方法2(SuzakuV DDR2 SDRAMテスト回路を使用)”の続き。
ここからVeriak-Basic Version 3.49C Build Aug.20.2008 をインストールして試しました。
26.”シミュレーションを開始します。”ボタンをクリックすると、シミュレーションが開始される。

27.シミュレーションが開始され、Document View にDDR2 SDRAMモデルからの表示が表示され、シミュレーションの一時停止($stop) で終了する。(私はNotepad++ を外部エディタとして指定しているので、そのテストベンチVerilogファイルの$stop にフォーカスがいっている)

28.”Scope Tree View を前面にします。”ボタンをクリックする。

29.Scope Tree View と Waveform Viewer と WaveformView Manager が起動する。

30.Scope Tree View の左側にVerilog moduleのインスタンスが表示されている。四角に+をクリックすると展開されるので、DDR2_SDRAMtest_tbの下のddr2_sdram_cont_inst をクリックする。右のペインに信号が表示されるのですべて選択する。

31.30.で選択した信号のところで右クリックして、”選択信号をWaveform Viewerに追加”を選択する。

32.Waveform Viewer に選択した信号が表示される。ちなみにScope Tree View で選択した信号をWaveform Viewer にドラック・アンド・ドロップしてもOK。

33.Waveform Viewer で全体の波形を見てみよう。Waveform Viewer の一番左のピンクの四角で囲ったアイコンをクリックすると、シミュレーション全体の波形を見ることができる。
”

34.シミュレーション全体の波形を見ている状態。ここで、左クリックが黒カーソル出て、右クリックが赤カーソルが出る。下の図のように黒カーソル、赤カーソルを配置して、ピンクの四角で囲ったアイコンをクリックする。

35.黒カーソルと赤カーソルの間がズームされる。信号はWaveform Viewer 内でドラック・アンド・ドロップすることができる。信号を多少並べ替えたWaveform Viewer の図。この辺はDDR2 SDRAMの初期化部分。

36.Waveform Viewer の信号名表示の位置で右クリックすると、いろいろなメニューがでる。例えば、空白行を入れたり、名前行を入れたりできる。”波形フォーマットを保存”は、Waveform Viewer に入れた信号名を??????.do というファイルに保存しておくことができる。

37.それでは、先ほどのWaveform Viewer に入れた信号名を保存した??????.do を読み込むときはどうするかだが。。。これは、ユーティリティメニューから”Doファイル(Waveform Viewerフフォーマット)の読み込み”を選択する。

38.ダイアログが開くので、DDR2_SDRAMtest_tb1.do を選んで開く。

39.そうすると、私が見たい信号を入れておいたWaveform Viewer が開く。

この辺でVeritakのチュートリアルは終了する。
そういえば、本題のDDR2 SDRAMの初期化部分の後ろで、何かやっているみたいなところがDDR2 SDRAMへのWRITEとREADなので、このチュートリアルでやったように拡大してご覧ください。
なお、Veriak-Basic Version 3.49C Build Aug.20.2008 にすると、新規プロジェクトを作成してプロジェクトをロードするときVeritakが落ちるときがあるようだ。
その場合は、最初にThread generate Error. status_process というダイアログを表示する。次に Microsoft Visual C++ Runtime Error のダイアログが出てVeritakが落ちてしまうことがある。解決方法としては、もう一度Veritakを起動して作ったプロジェクトをロードすれば問題なく実行することができる。2008/09/06 追記:Veriak-Basic Version 3.50A Build Sep.2.2008 では新規プロジェクトを作成したときにVeritakが落ちることはなくなった。
2008/08/28 追記: Veritakの作者の方によるとDoファイルは将来的には廃止方向だそうだ。WaveformView Managerを使用してほしいとのことだった。私もWaveformView Manager について勉強しようと思う。
2008/09/06 追記:
controller.v などではステートマシンのステートをシミュレータで見やすいように定義してある。
それが下の図に示すINT_STATE, MAIN_STATE, STAT_DETS などなのだが、ディフォルトのままではステート名は表示されていない。

そこで、それらの信号を選択して右クリックし、右クリックのメニューから表示の選択 -> ストリングを選択する。

そうすると、ステート名が見えるはずだ。

2009/07/09 追記:
最新のVeritakバージョン3.71Cではdoファイルの項目は削除されている。前のWaveform Viewerの状態が保存されているので、doファイルを使う必要はなくなっている。
- 2008年08月28日 05:04 |
- FPGAリテラシー及びチュートリアル
-
| トラックバック:0
-
| コメント:0