ためになるホームページ お問い合わせ




TOP > Verilog > テストベンチ
テストベンチ
作成したモジュールに対して、信号の接続および、波形を表示されるにはテストベンチが必要になる。テストベンチは、モジュールと同じように作成する。ただし、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
    





    Copyright 2007 ためになるホームページ All Rights Reserved.