Verilog HDL测试平台编写(2021-3-14)

1.编写TestBench的目的主要是对使用硬件描述语言(HDL)设计的电路进行仿真验证,测试设计电路的功能,部分性能是否与预期的目标相符。
2.Verilog HDL测试平台的格式:
(1)测试平台的格式与设计模块有相同点也有不同点,相同点都是Verilog HDL代码,都是module开头,endmodule结尾,不同点是测试平台的模块不需要输入输出端口定义,必须要实例化被测试的模块。测试平台的基本格式如下:
module module_tb
//变量的声明
//产生相应的激励信号
//实例化被测试模块
//监视输入输出信号
//保存被监视信号信息
endmodule
(2)激励信号描述
a.产生一次特定的序列(用initial语句描述)(固定的一次序列)
例如:
initial
begin
a=0;
#10 a=1;
#20 a=0;
#5 a=1;
#15 a=0;
end
endmodule//a的值在不同时间间隔后改变,波形图如下:
在这里插入图片描述
b.产生重复的信号(重复多次的信号)
initial
begin
a=0;
forever
#2 a=~a;//用循环语句也可以在initial语句中产生循环序列
end
或者:
initial
b=0;
always
#4 b=~b;
或者:
initial
begin
c=0;
forever
begin
#1 c=1;
#2 c=0;
#3 c=1;
#4 c=0;
end
end
(3)实例化待测模块
对带复位端的D触发器进行验证的测试模块:
module dff2(clock,reset,d,q)
input clock,reset,d;
output q;
reg q;
always@(posedge clock or negedge reset)
begin
if(!reset)
q<=0;
else
q<=d;
end
endmodule
测试模块:
`timescale 1ns/1ns
module tb92;
reg clock,reset,d;
wire q2,q3;
initial clock=0;
always #5 clock=~clock;
initial d=1;
begin
reset =1;
#12 reset =0;
#11 reset=1;
#17 $stop;//仿真控制,stop的任务是把EDA工具(如仿真器)置成暂停模式,在仿真环境下给出一个交互式的命令提示符,将控制权交给用户。
end
dff2 dff2(clock,reset,d,q2)//待测模块的模块实例化
endmodule

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值