VHDLに次のステートメントに相当するVerilogはありますか?時間値を必要とするいくつかの汎用ポートがあります
constant TIME_C : time := 10 ms;
推測としてこれを試しましたが、構文に失敗しました。
localparam TIME_C = 10 ms;
'ms'はVerilogで予約されたキーワードではないようですが、私のIDEのエディターはそれを青色で強調表示しているので、おそらく方法があると思います...
あなたはこれを行うことができます:
`timescale 1ms/1ms
module foo();
localparam TIME_C = 10;
...
endmodule
Verilogでは、時間を表す変数または定数は、コンテキストのない単なる数値であることを理解することが重要です。現在のモジュールのタイムスケールは、値がどのように解釈されるかを決定するものです。上記のサンプルコードで#TIME_C
は、TIME_Cが10に等しく、タイムスケールが1msであるため、10msの遅延が作成されます。
モジュールのポートに時間値を供給する必要がある場合は、モジュールのタイムスケールが何であるかを確認してください(指定されている場合)。
参考までに、SystemVerilogは、時間とタイムスケールの指定に関連するいくつかの機能を追加しました。