|
テストベンチ
作成したモジュールに対して、信号の接続および、波形を表示されるにはテストベンチが必要になる。テストベンチは、モジュールと同じように作成する。ただし、TOPにあたるのでポートの記述は不要。以下に記述方法を示す。
module の後ろに テストベンチ名を記述。ポートはないので括弧も不要。最後は、行末にセミコロンをつける。
あるモジュールと接続する信号を宣言する。入力信号には「reg」、出力信号には「wrie」を使用する。
接続するモジュールをインスタンス化し、ポートの記述。
initial文を記述し、シミュレーション開始直後の操作を記述する。テスト信号や、シミュレーション結果の表示方法を指定する。
begin〜endに処理を記述。ちなみに、begin・endにはセミコロンは不要。
波形ファイル生成のためには、$dumpfile("ファイル名");を記述。
波形表示モジュールを$dumpvars(シミュレーション開始時刻, モジュール名);で指定する。
波形で表示する変数を$monitor ("書式指定", 変数);で指定する。
(例)$monitor ("%t: a = %b, b = %b, out = %b", $time, a, b, out);
時間を遅延させるには、#数字を使う。1行で1命令となる。
(例)#10 a = 10;
シミュレーションを終わらせるには、$finishを記述。
基本的なテストベンチの記述
module モジュール名;
reg 入力
wire 出力
モジュール名 インスタンス名(信号...);
initial begin
$dumpfile("波形ファイル名");
$dumpvars(開始時刻, インスタンス名);
$monitor ("波形に出力する書式", 変数...);
#数字 処理
...
$finish
end
endmodule
|