Testbench初尝
Testbench观察方法
1、观察、对比波形。
2、在终端打印或生成文本。
3、自动对比输出结果。
Testbench三步走
1、对被测试设计的顶层接口进行例化。
2、给被测试的输入接口添加激励。
3、判断被测试设计的输出相应是否满足设计要求。
最简单的Testbench:
//一、时钟产生
//定义时钟周期为20ns,已定义"'timescale 1ns/1ps"
parameter PERIOD = 20;
intitial
begin
clk = 0;
forever
#(PERIOD/2) clk = ~clk;
end
//或写成
always
begin
#(PERIOD/2) clk = 0;
#(PERIOD/2) clk = 1;
end
//二、复位产生
//复位低有效,已定义"'timescale 1ns/1ps"
intitial
begin
rst_n = 0;
#100; //延时100ns
rst_n = 1; //撤销复位
//......
end
//或写成
intial
begin
reste_task(100);//复位时间100ns,已定义"'timescale 1ns/1ps"
//......
end
task reset_task;
input[15:0] reset_time;
begin
reset = 0;
#reset_time;
reset = 1;
end
endtask