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模块结束