testbench仿真文件编写规则

编写TESTBENCH的目的是为了对使用硬件描述语言设计的电路进行仿真验证,测试设计电路的功能、性能与设计的预期是否相符。编写测试文件的过程如下: (1)产生模拟激励(波形); (2) 将产生的激励加入到被测试模块中并观察其响应; (3) 将输出响应与期望值相比较。

一,各部分写法

1,testbench文件结构

module Test_bench();//通常无输入无输出
信号或变量声明定义
逻辑设计中输入对应 reg 型
逻辑设计中输出对应 wire 型
使用 initial 或 always 语句产生激励
例化待测试模块
监控和比较输出响应
endmodule

2,时钟激励设计

/*时钟激励产生方法一:50%占空比时钟*/
parameter ClockPeriod=10;
initial
    begin
    clk_i=0;
forever#(ClockPeriod/2) clk_i=~clk_i; end

/* 时钟激励产生方法二:50%占空比时钟*/
initial
begin
    clk_i=0; 
end
always #(ClockPeriod/2) clk_i=~clk_i;

/* 时钟激励产生方法四:产生固定数量的时钟脉冲*/
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=0;
#((ClockPeriod/2)+2) clk_i=1; 
end
end
上一篇:C#操作MySQL从入门到精通(10)——对查询数据进行通配符过滤


下一篇:关于信号翻转模块(sig_flag_mod)的实现