所谓Testbench 其实就是一种对系统或模块设计进行仿真验证的手段,其实质就是一个.v(Verilog)或者.vhd(VHDL)的文件。编写Testbench 的主要目的是对使用硬件描述语言(HDL)设计的电路进行仿真验证,测试设计电路的功能、性能是否与预期的目标相符。该文件主要功能是对设计提供激励源信号,换句话说就是一个激励产生器,并能在一些专用的软件中提供良好的debug 接口。
任何数字系统设计都是有输入输出的,为了验证设计的正确性和合理性,需要向设计提供必要的激励输入,然后观察对应输出结果,进行判断设计是否正确。但是在软件环境中不能提供真实的激励输入,因而就不能够对设计的输出正确性进行评估。此时,Testbench 正是能模拟实际环境的输入激励和输出校验的一种“虚拟平台”,在这个平台上可以对设计从软件层面进行分析和校验,这就是Testbench 的含义。
在EDA 集成开发环境中往往集成了仿真器,支持波形矢量文件编辑功能,可以通过绘制波形的方式,生成仿真测试模块所有输入端口所需的激励信号,然后再启动仿真,观察对应的输出结果,从而完成验证。其实Testbench 的功能和绘图方式完成激励信号是一样的,只不过Testbench 是依照一定的规则写成的一个.v(Verilog)或者.vhd(VHDL)的文件。
Testbench 文件可以在FPGA 生产厂商提供的集成开发环境中运行,也可以在第三方仿真软件工具(如ModelSim 软件)中运行,完成对设计模块的仿真验证,其功能结构如图3.6 所示。
(www.xing528.com)
Testbench 测试文件中Verilog HDL 相关语句是不可综合的,只能用于仿真。
图3.6 Testbench 功能结构图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。