FC2カウンター FPGAの部屋 Verilogでのシミュレーションの疑問
fc2ブログ

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

FPGAの部屋

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

Verilogでのシミュレーションの疑問

DDR SDRAMコントローラVerilog版が動かないのでModelSimでシミュレーションをしていたらステートマシンのステートがステート名で表示されないことに気がついた。
最初にparameterで値を定義しているのに。。。
parameter NOP=8'b00000001, ACT=8'b00000010,.....

n_state <= NOP;
というようにやっているのに、waveウインドウでステートマシンのステートを見ると、n_stateやc_stateが00000001と値で表示されている。parameterでステート名を指定したのではModelSimでは値で表示してしまうのだろうか?
Verilog_state_060121.png

`defineでステート名を記述すると大丈夫なのだろうか?
VHDLではステート名で表示されていたので、これで表示されないと気に入らない。
一度`defineでやってみようと思う。

2006.01.21追記:やはり`defineでも同様でした。
VHDLのようにwaveウインドウでステートマシンの現在のステートをステート名で見る方法をご存知の方はぜひ教えてください。
  1. 2007年01月20日 21:34 |
  2. 入門Verilog
  3. | トラックバック:0
  4. | コメント:2

コメント

私が知っているのは別途STATEのような信号を作ります。(以下)

reg [20*8:1] STATE; //20文字
always @(c_state) begin
case(c_state)
8'b00000001: STATE<="NOP";
8'b00000010: STATE<="ACT";


endcase
end

このSTATEをModelSimではasciiで表示します。
  1. 2007/01/22(月) 18:32:16 |
  2. URL |
  3. #-
  4. [ 編集 ]

こんにちは。回答ありがとうございます。

このままだと論理合成でエラーになると思うので// synthesis translate_offと// synthesis translate_on でくくれば良いわけですね。
ありがとうございました。やってみます。

でもVerilogもこだわると面倒ですね。。。
  1. 2007/01/22(月) 20:16:38 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

コメントの投稿


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

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