補足資料1: テストベンチの書き方

1
補足資料 1: テストベンチの書き方
テストベンチの各部の意味は以下の通りである.
• レジスタ宣言部: テストしたい回路の入力ポートをレジスタとして宣言する.
• ワイヤ宣言部: テストしたい回路の出力ポートをワイヤとして宣言する.
• 回路呼出部: テストしたい回路をモジュール呼出する.
• initial begin 部: 信号の初期値および変化を記述する.
順序回路の場合はさらにクロック生成部が追加される.
テストしたい回路の入出力ポートを追加,削除,名前変更した際は,レジスタ宣言部,
ワイヤ宣言部,回路呼出部のポート名を適切に変更する必要がある.さらに initial begin
部の初期値設定にも気をつける.
テストしたい回路を保存する前にテストベンチを自動生成すると,誤った入出力ポート
の情報を元にテストベンチが生成される.テストベンチを作成する前に必ずテストしたい
回路を保存すること.
2
¶
³
//t.v
‘timescale 1ns / 1ps
module t_v;
// Inputs
reg a;
reg b;
reg ci;
// Outputs
wire s;
wire co;
// Instantiate the Unit Under Test (UUT)
FA uut (
.a(a),
.b(b),
.ci(ci),
.s(s),
.co(co)
);
initial begin
// Initialize Inputs
a = 0;
b = 0;
ci = 0;
// Wait 100 ns for global reset to finish
#100;
// Add stimulus here
#100 a=1’b1;
#100 b=1’b1;
#100 ci=1’b1;
#100 a=1’b0;
#100 b=1’b0;
end
endmodule
µ
´