FC2カウンター FPGAの部屋 SP605でキャラクタ・ディスプレイ・コントローラ2(シミュレーション)
FC2ブログ

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

FPGAの部屋

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

SP605でキャラクタ・ディスプレイ・コントローラ2(シミュレーション)

SP605でキャラクタ・ディスプレイ・コントローラ1”で試みていたシミュレーションができて、動作が確認できた。
やはり、キャラクタ・ディスプレイ・コントローラの文字を書いていくスピードは、人間が目で追えるくらいにしているので、そのままでシミュレーションすると20msecシミュレーションしてもデータがほんの少ししか見えない。そこで、文字を書いていくスピードを早くすることにした。
CharDispCtrlerTest.vでは、

parameter ENABLE_COUNT = 23'd250000; // インプリメント


としているが、一番上のテストベンチからdefparamで小さい値に書き換えている。

defparam uut.CharDispCtrlerTest_inst.ENABLE_COUNT = 23'd000004; // シミュレーション


これでシミュレーションを実行した。(Verilogは上の階層からdefparamで書き換えられるのが便利だが、書き換えたのを忘れてしまうと、どうしてそうなるのかが分かりにくくなるのが欠点か?)
SP605_DVI_4_100623.png

dvi_xclk_p, dvi_xclk_nから90度位相がずれて、dvi_d[11:0]が出力されているのが見える。
これでシミュレーションは取り敢えず完了ということにして、実機で確認してみることにする。
  1. 2010年06月24日 05:14 |
  2. Spartan-6 FPGA SP605 評価キット
  3. | トラックバック:0
  4. | コメント:4

コメント

こんんちは。

確かにシミュレーションの時にタイミング短縮はよく使いますね。

自分は物忘れが激しいのでifdefで定義して明示的に切り替えるようにしています。

`define Sim 1

`ifdef Sim
parameter ENABLE_COUNT = 23'd000004; // シミュレーション
`else
parameter ENABLE_COUNT = 23'd250000; // インプリメント
`endif

あるいはdefparamをifdefで

`ifdef Sim
parameter ENABLE_COUNT = 23'd000004; // シミュレーション
`endif

みたいな。

インプリの時はdefine文をコメントアウトすればOKですね。

参考まで。
  1. 2010/06/24(木) 09:23:27 |
  2. URL |
  3. vlog #-
  4. [ 編集 ]

訂正

defparamの場合は

`ifdef Sim
defparam uut.CharDispCtrlerTest_inst.ENABLE_COUNT = 23'd000004; // シミュレーション
`endif

こうですね。

失礼しました。
  1. 2010/06/24(木) 09:56:34 |
  2. URL |
  3. vlog #-
  4. [ 編集 ]

vlogさん、こんにちは。
なるべく、インプリメントするソースは直したくないと思っています。ソースを修正して2,3分で論理合成できれば良いのですが、数時間かかる例もあるので、出来ればやりたくないです。という訳でテストベンチからdefparamなんですが、オーバーライドしてしまっているので、シミュレーション時に階層が下のHDLだけを見ているときに、なんでだろう?となるのが怖いです。シミュレーターでparameterの値を表示してくれると良いのですが。。。もしかしてISimではできるのかな?
  1. 2010/06/24(木) 13:19:58 |
  2. URL |
  3. marsee #f1oWVgn2
  4. [ 編集 ]

masaさん、ご紹介ありがとうございました。参考になります。

#問題はVHDLなんですが、genericで書こうと思っています。
  1. 2010/06/29(火) 13:36:26 |
  2. URL |
  3. marsee #f1oWVgn2
  4. [ 編集 ]

コメントの投稿


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

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