【重拾FPGA】testbench编写

刚学习FPGA的时候,我最喜欢用Quartus自动生成testbench代码,只用自己往里面添加一些测试代码就可以开始仿真了。

随着学习的升入,意识到了代码可读性的重要性,自动生成的testbench代码格式和可读性确实有点差强人意,于是便学习了testbench的编写。

testbench代码编写我认为可以分为一下几个步骤:

1.仿真时间单位/时间精度

2.仿真模块建立

3.与被测试模块连接

4.初始化时钟信号

5.写入测试信号

下面依次来说明

1.仿真时间单位/时间精度

在testbench文件开头有:

`timescale 1ns/1ns  //定义时间单位/时间精度,单位要大于精度
`define clock_perrod 20  //用户自定义时间片段,可有可无

这是仿真不可或缺的

2.仿真模块建立

常见方法:

module BCD_counter_tb;  //不需要写出信号,注意还有endmodule
	reg Clk;
	reg Cin;
	reg Rst_n;  //输入信号为reg型
	
	wire Cout;
	wire [3:0] q;  //输出信号为wire型
	

输入激励设置为reg型,输出相应设置为wire类型

3.与被测试模块连接

BCD_counter u0  //由被测系统模块名定义一个u0系统
       (
		.Clk(Clk),   //前面的是被测系统信号,后面是激励信号
		.Rst_n(Rst_n),   //'.&
  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值