本文主要是介绍testbench仿真文件编写规则,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
编写TESTBENCH的目的是为了对使用硬件描述语言设计的电路进行仿真验证,测试设计电路的功能、性能与设计的预期是否相符。编写测试文件的过程如下: (1)产生模拟激励(波形); (2) 将产生的激励加入到被测试模块中并观察其响应; (3) 将输出响应与期望值相比较。
一,各部分写法
1,testbench文件结构
module Test_bench();//通常无输入无输出
信号或变量声明定义
逻辑设计中输入对应 reg 型
逻辑设计中输出对应 wire 型
使用 initial 或 always 语句产生激励
例化待测试模块
监控和比较输出响应
endmodule
2,时钟激励设计
/*时钟激励产生方法一:50%占空比时钟*/
parameter ClockPeriod=10;
initialbeginclk_i=0;
forever#(ClockPeriod/2) clk_i=~clk_i; end/* 时钟激励产生方法二:50%占空比时钟*/
initial
beginclk_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
beginclk_i=0;forever
begin
#((ClockPeriod/2)-2) clk_i=0;
#((ClockPeriod/2)+2) clk_i=1;
end
end
这篇关于testbench仿真文件编写规则的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!