FC2カウンター FPGAの部屋 ModelSimでタイミング・シミュレーション(Post-Routeシミュレーション)2
FC2ブログ

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

FPGAの部屋

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

ModelSimでタイミング・シミュレーション(Post-Routeシミュレーション)2

”ModelSimでタイミング・シミュレーション(Post-Routeシミュレーション)1”の続き

以前はTranscriptウインドウにコマンドでvsimコマンドを入れてシミュレーションしていたが、今回はGUIでやってみようと思う。
さて、シミュレーションをするためにSimulateメニューからStart Simulation...を選択。
Post-Route_simulation_7_090130.png

ダイアログが開くので、テストベンチ(DDRtest_tb) を選択。さらにglbl.v をインスタンシエーションするために、Design Unit(s) のwork.DDRtest_tb の脇にwork.glbl を自分で入力する。
Post-Route_simulation_8_090130.png

次にLibraries タブをクリックしてSearch Libraries (-L) にsimprims_ver が入っていることを確認。simprims はタイミング・シミュレーション用のライブラリだ。論理シミュレーションだとunisim (この場合はVerilogのシミュレーションなのでunisim_ver) を替わりに入れる必要がある。
Post-Route_simulation_9_090130.png

次に遅延情報が書いてあるSDFファイルを設定しよう。SDFタブをクリックし、そこのAdd... ボタンをクリックする。
Post-Route_simulation_10_090130.png

ADD SDF Entryダイアログが開くので、Brows... ボタンを選んで、SDFファイルを選択して、Apply to Reasion にはSDFファイルと組になっているVerilogファイルのモジュールのインスタンス階層及びインスタンス名を入れる。つまり下のリストだったら /DDRtest_inst を入力する。

    DDRtest DDRtest_inst(
        .clk(clk),
        .reset(reset),
        .led(led),
        
        .sd_a(ddr_address),


Post-Route_simulation_11_090130.png

これでOKボタンをクリックすると、Start Simulation ダイアログにSDFファイルがセットされる。
Post-Route_simulation_12_090130.png

これでOKをクリックすると、シミュレーションの準備完了。デザインがロードされるので、viewメニューからwaveを選択して、wave ウインドウを出して、見たい信号をwaveウインドウに追加する。そして、SimulateメニューからRun -> Run -All すればシミュレーション波形を見ることが出来る。私のマシンで、DDR SDRAMコントローラを250us シミュレーションするのに、約60分くらいかかってしまった。
下の図でピンクの四角で囲ったIDDR2レジスタのセットアップエラーも出てしまった。エラーの部分にはwaveウインドウの一番上に下向き赤三角が付くようだ。これは、SDRAMにWRITEしている時に入力のDDR FFがセットアップエラーを起こしているようだ。それならば問題ない。
2番目のカーソルからはなぜか出力がXになってしまっている。これはこれからトラブルシュートする予定だ。
Post-Route_simulation_13_090130.png

  1. 2009年01月31日 13:52 |
  2. シミュレーション
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/1025-8c4ad774
この記事にトラックバックする(FC2ブログユーザー)