テストベンチ・テストベクタの作成


GUIを使用せずにシミュレーションを行うには、シミュレーションしたい回路 (ここでは counter_topt.v になる)に対して入力信号を制御するためのテストベンチを用意する必要があります。
実は、バックアノテーションを行った際、テストベンチの雛型が counter_topt.stim として作られています。このファイルを編集し、機能シミュ レーションと同じテストベクタを埋め込むことで、同じようなシミュレーショ ンを行うことができます。
counter_topt.stim の内容は以下のようになっています。
`timescale 1 ns/100 ps

module test;

reg RESET;
reg CLOCK_E;
reg CLOCK;

wire [3:0] QO;


counter_topt mrskn_t1(
        .RESET(RESET),.QO(QO),.CLOCK_E(CLOCK_E),
        .CLOCK(CLOCK));

initial
  begin
    RESET=0;
    CLOCK_E=0;
    CLOCK=0;
    #1000 RESET=1;
    #1000 CLOCK_E=1;
    #1000 CLOCK=1;
    #1000 RESET=0;
    #10000 $stop; // Change data every 1 MHz
    $shm_close(); 
  end

initial
  begin
    $display("                     RQQQQCC");
    $display("                     EOOOOLL");
    $display("                     S[[[[OO");
    $display("                     E3210CC");
    $display("                     T]]]]KK");
    $display("                          _ ");
    $display("                          E ");
    $monitor($time,,  RESET, QO[3], QO[2], QO[1], QO[0], CLOCK_E, CLOCK);
  end

initial
  begin
  $shm_open("counter_topt.shm");
  $shm_probe(RESET,QO[3],QO[2],QO[1],QO[0],CLOCK_E,CLOCK);
end

endmodule

これを以下のように編集します。
`timescale 1 ns/100 ps

module test;

reg RESET;
reg CLOCK_E;
reg CLOCK;

wire [3:0] QO;


counter_topt mrskn_t1(
        .RESET(RESET),.QO(QO),.CLOCK_E(CLOCK_E),
        .CLOCK(CLOCK));

// Test Vector
integer i;

initial
begin
   CLOCK = 1'b1;
   for( i=0 ; i<60 ; i=i+1 )
      CLOCK = #50 ~CLOCK;
   $finish;
end

initial
begin
   CLOCK_E = 1'b1;
   CLOCK_E = #1075 1'b0;
   CLOCK_E = #200  1'b1;
end

initial
begin
   RESET = 1'b0;
   RESET = #175 1'b1;
   RESET = #375 1'b0;
   RESET = #225 1'b1;
end

// Test Vector

initial
  begin
  $shm_open("waves.shm");
  $shm_probe(RESET,QO[3],QO[2],QO[1],QO[0],CLOCK_E,CLOCK);
end

endmodule

次はシミュレーションの結果を波形情報として表示して動作確認をしましょう。
Simvision (現バージョンの波形ビューア)を使用する場合(2004/04以降)
Cwaves (旧バージョンの波形ビューア)を使用する場合(2004/03以前)


| Back | CAD Home |

My mail address is kuga@cs.kumamoto-u.ac.jp .
Last modified on .