EDA技术与VHDL设计(西电版)第8章仿真测试平台

EDA技术与VHDL设计(西电版)第8章仿真测试平台

ID:41200674

大小:2.95 MB

页数:99页

时间:2019-08-18

EDA技术与VHDL设计(西电版)第8章仿真测试平台_第1页
EDA技术与VHDL设计(西电版)第8章仿真测试平台_第2页
EDA技术与VHDL设计(西电版)第8章仿真测试平台_第3页
EDA技术与VHDL设计(西电版)第8章仿真测试平台_第4页
EDA技术与VHDL设计(西电版)第8章仿真测试平台_第5页
资源描述:

《EDA技术与VHDL设计(西电版)第8章仿真测试平台》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章仿真测试平台8.1VHDL仿真概述8.2几种常见的TestBench模型8.3ASSERT语句8.1VHDL仿真概述当一个设计完成后,需要对设计的正确性进行测试和验证。前面的章节都是通过QuartusⅡ软件自带的图形仿真工具进行仿真验证的。但是,当需要测试的向量很多时,如果仅靠画波形的手工方式,会相当耗费精力。实际上,VHDL作为硬件描述语言,既可以用于电路系统的设计,也可以用于电路系统的测试和验证。这时就可以使用测试平台(TB,TestBench)来完成测试。TB其实就是一个与所设计的电路系统程序

2、相对应的激励程序,用来为设计提供激励。当然,TB既可以采用VHDL语言,也可以采用Verilog语言来实现。总地来说,VHDLTestBench就是一段用于验证设计功能正确性的VHDL代码。一般来说,仿真器通常需要两个输入:设计块(即DUT,DesignUnitTest)和激励块(即TB,TestBench)。TB能够完成以下几点目标:(1)在测试中实例化DUT。(2)为DUT产生激励。(3)产生参考输出,并与DUT的输出进行比较。(4)自动提供测试通过或失败的提示。    下面先以一个简单的实例来感性认

3、识TB的使用。设计一个具有异步清零功能的十进制计数器,能够完成0~9的计数,并能够产生进位信号。第6章中曾采用状态机的方式实现该例,本章采用IF语句实现,具体代码见例8-1。【例8-1】使用VHDL语言编写TB,由于测试设计只用来进行仿真,不受综合中仅能使用RTL语言子集这样的语法约束。因此它可以使用所有的行为级结构,即所有基本语法都是适用的(包括一些不能被综合的语法)。例8-1的十进制计数器所对应的TB见例8-2。【例8-2】从例8-2可总结出TB的基本结构:包含一个不需要定义输入/输出端口的空实体和一

4、个带有被测试元件声明、例化、激励产生的结构体。例8-2的L5~L6是TB的实体定义,实体名为cnt_tb,它与外界没有任何接口,只和DUT通过信号进行连接,不需要定义输入/输出端口;L10~L15是被测试元件DUT的声明;L17~L20声明了与DUT相连接的信号;L23是元件例化;L24确定了时钟信号clk的周期为50ns,每隔25ns值取反,其初始值为“1”(由L17定义);L25~L27确定了信号reset的取值,初始值为“0”,240ns后取值为“1”,360ns后取值为“0”。DUT和TB的结构关

5、系如图8-1所示,它们之间通过内部信号进行交互。图8-1DUT和TestBench结构示意从本章开始均采用不再自带图形仿真工具的QuartusⅡ11.1版本,直接调用Modelsim完成仿真的形式。本例需要将设计文件cnt.vhd和测试平台文件cnt_tb.vhd都保存于同一文件夹、同一工程内。设置设计文件cnt.vhd为顶层实体,然后选择菜单Assignments→Settings,打开如图8-2所示对话框。在左边的Category栏中选择EDAToolSettings→Simulation,即可打开仿

6、真设置对话框。在其中选择Compiletestbench,然后单击TestBenches按钮,打开图8-3所示对话框。单击New,添加测试文件,弹出图8-4所示新建测试平台设置对话框。在Testbenchname栏中输入测试平台实体的名称,即cnt_tb,则Toplevelmoduleintestbench栏也会出现相同的名称。在UsetestbenchtoperformVHDLtimingsimulation前的方框内打勾,则Designinstancenameintestbench栏变亮,在其中填入例

7、化名u1。Simulationperiod栏可根据需要选择是根据激励变化确定仿真时间还是自定义仿真时间,本例选择Runsimulationuntilallvectorstimuliareused。在Filename栏右侧单击“…”按钮,添加测试平台文件cnt_tb.vhd。设置完成后,单击OK,会发现图8-3所示的窗口已经包含相关设置信息,如图8-5所示,单击OK返回。图8-2仿真设置对话框图8-3添加测试文件图8-4新建测试平台设置图8-5已添加测试平台将顶层设计文件cnt.vhd进行全程编译,无误后选

8、择菜单Tools→RunSimulationTool,即可调用Modelsim进行RTL仿真或门级仿真。例8-1的十进制计数器仿真结果见图8-6和图8-7。可以看到,当reset=“1”时,输出立即清零。计数器能够实现0~9的计数,并产生进位信号cout。相关实验步骤或一些细节可参见《EDA技术与VHDL设计实验指导》一书的5.3节。   该例给读者展示了一个简单使用TB的示范,由于例子比较简单,并不能突出当测试向量巨大时TB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。