完整的测试文件激起结构为:
module Test_bench();//通常无输入输出
信号或变量声明定义
逻辑设计中输入对应reg型
逻辑设计中输出对应wire型
使用initial或always语句产生激励
例化待测试模块
监控和比较输出响应
endmodule
时钟激励设计
时钟激励产生方法一:50%占空比时钟
parameter ClockPeriod = 10;
initial
begin
clk_i = 0;
forever
#(ClockPeriod/2)clk_i=~clk_i;
end
方法二:50%占空比时钟
initial
begin
clk_i = 0;
always#(ClockPeriod/2)clk_i=~clk_i;
end
方法三:产生固定数量的时钟脉冲
initial
begin
clk_i = 0;
repeat(6);
#(ClockPeriod/2)clk_i=~clk_i;
end
方法四:产生占空比不是50%的时钟
initial
begin
clk_i = 0;
forever
begin
#((ClockPeriod/2)-2)clk_i=~clk_i=0;
#((ClockPeriod/2)+2)clk_i=~clk_i=1;
end
end
复位信号设计