testbench.v:
----------------------------------------------------------------------
//
// File header 具體參考 編碼風格專題
//
`define MAX 20 宏定義
`include "driver.v"
`include "monitor.v包含有其他模塊,如果在同一目錄下可以不指定include
`timescale 1n/10p指定仿真精度
module tb; 定義模塊名為tb
reg a;
reg b;
reg ci
wire sum;
wire cout;申明線型與寄存器型
parameter LENGTH = 20;參數化一些值
adder adder(.a(a),
.b(b),
.ci(ci),
.sum(sum),
.cout(cout)
);
driver driver();
monitor monitor();實例化DUT,以及一些驅動和監測
`include "task.v"包含task.v文件
initial
begin
add_test;
#MAX $finish;
endStimulus,調用了task.v里的add_test
`undef MAX由于宏是全局的,防止有沖突發生,最后要undef
endmodule模塊結束