TestBench 三步走
1、 对被测试设计的顶层接口进行例化
2、 给被测试设计的输入接口添加激励
3、 判断被测试设计的输出响应是否满足设计要求。
时钟的产生
// 定义设计周期为20ns,已定义“ `timescale 1ns/1ps ”
方法一:
parameter PERIOD = 20; initial begin clk = 0 ; forever # (PERIOD/2 ) clk = ~ clk; end
方法二:
parameter PERIOD = 20;
always begin
# (PERIOD/2 ) clk = 0;
# (PERIOD/2 ) clk = 1;
end
复位的产生
方法一:
initial begin rst_n = 0; #100 ; rst_n =1 ; end
方法二:
initial begin reset_task (100); //复位100ns, 已定义“ `timescale 1ns/1ps ” ……… end task reset_task; input[15:0] reset_time ; // 复位时间 begin reset = 0 ; #reset_time ; reset = 1; end endtask
其他激励产生