FC2カウンター FPGAの部屋 2007年02月11日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Verilog2001版DDR SDRAMコントローラーのModelSimシミュレーションまとめ2

Verilog2001版DDR SDRAMコントローラーのModelSimシミュレーションまとめの続きだ。
前回、コンパイルしたところで終了だったので、今度はシミュレーションをスタートする。
以前やったVerilog2001版DDR SDRAMコントローラーのModelSimシミュレーション2を参考にしてほしい。
unisim_ver ライブラリを読み込んで glbl も読み込むために以下のコマンドをtranscriptペインで実行する。

vsim -t ps -L unisims_ver work.DDRtest_tb work.glbl


Verilog_simu_15_070209.png

コマンドを実行するとインスタンスがエラボレートされて以下のような状況になると思う。
Verilog_simu_16_070209.png

Waveウインドを表示するために、View メニューからDebug Windows -> Wave を選択する。
Verilog_simu_17_070209.png

Objectペインで右クリックしてAdd to Wave -> Signal in Region を選択して DDRtest_tb の信号を全部waveウインドウに入れる。
Verilog_simu_18_070209.png

シミュレーションを実行するために、Transcriptペインで run -all とコマンドを入れる。
Verilog_simu_19_070209.png

これでシミュレーションがスタートした。ModelSim XEⅢ 6.1e Starterだとかなり時間がかかるが10分くらい待てばシミュレーションが終了すると思う。ModelSim SEだとかなり速いんだけど。。。
Finish Vsim, Are you sure you want to finish? ダイアログが出てくるので”いいえ(N)”ボタンをクリックする。はいをクリックするとModelSimが終了してしまうので注意。一度終了してしまい悔しい思いをしたことがある。
Verilog_simu_20_070209.png

シミュレーション結果を見るためにwaveウインドウのタブをクリックして前面に出す。
次にZoom Fullアイコンをクリックすると全体が見えると思う。
Verilog_simu_21_070209.png

Write波形、Read波形が見える。
Verilog_simu_22_070209.png

次にコメントで教えていただいたステートマシンのステートをステート名で表示する方法だ。
まずはWorkspaceペインのsimタブをクリックして、Instanceを見てDDRtest_tb/DDRtest_inst/ddr_sdram_cont_inst/controller_instをクリックする。
Objectsペインを見ると MAIN_STATE, INIT_STATE, STATE_DETS があるのでそこで右クリックして Add to Wave の Selected Signals を選択する。
Verilog_simu_23_070209.png

次にwaveウインドウの MAIN_STATE, INIT_STATE, STATE_DETS を選択して右クリック。
Radix から ASCII を選択するとステート名を表示できる。
Verilog_simu_24_070209.png

このようになります。
Verilog_simu_25_070209.png

さらにUndockをクリックしてwaveウインドウを外に出して大きく表示してみよう。

後は自分で確かめてみてください。
関連記事はSpratan3E Starter KitのDDR SDRAMコントローラの説明などあるのでご参照ください。
更に関連する質問のある方はコメントを使ってもらうか、もしくは、abcd_marsee101@mail.goo.ne.jp から adcd_ を除いたメールアドレスに、ご連絡ください。
  1. 2007年02月11日 08:29 |
  2. シミュレーション
  3. | トラックバック:0
  4. | コメント:6