Testbench实例 |
您所在的位置:网站首页 › testbench模板 › Testbench实例 |
接下来,我们为程序示例中实现的寄存器堆制作Testbench。代码1-3 中列出了Testbench 的代码。
代码1-3 Testbench 示例(regfile_test.v) [Ⅰ]定义Time scale 单位时间为1ns,时间精度为1ps。 [Ⅱ]引用头文件 引用regfile.h。 [Ⅲ]声明模块 声明regfile_test 模块。Testbench 没有输入输出端口。 [Ⅳ]定义内部信号 被测模块的输入端口连接reg 型变量,输出端口连接wire 型变量。为仿真循环定义了名为STEP 的参数,STEP 的值为100ns。 [Ⅴ]生成时钟 这里生成了频率为10MHz 的时钟。10MHz 的时钟每50ns(STEP/2)在H 与L 间重复一次。 [Ⅵ]实例化测试模块 实例化regfile。 [Ⅶ]测试用例 (1)处的时刻0 时对信号线进行初始化。(2)处的语句解除复位信号。(3)处对寄存器堆的读写进行验证。最初一次STEP 时,对寄存器地址i 处写入数值i, 下一个STEP 时将其读出,并用if 语句比较、验证读出的结果是否正确。 这个过程使用for 语句重复32 次。(4)处结束本次仿真。 [Ⅷ]输出波形 在initial 中输出仿真波形。将实例化的regfile,从时刻0 开始的波形输出到regfile.vcd 文件中。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |