基于VHDL的QuartusII和Modelsim联合仿真

前期正常建立Quartus工程这里不再赘述,主要讲在Quartus中调用Modelsim的设置过程。网上QuartusII和Modelsim联合仿真教程大多都是用的Verilog,这里整理的是基于VHDL的仿真,过程貌似差不多。
第一次联合仿真时需要设置ModelSim的安装路径。点击Tools–Options,在下图中填写ModelSim的安装路径。
基于VHDL的QuartusII和Modelsim联合仿真_第1张图片

1.编写待测工程程序,并通过编译
2.生成testbench模板。在生成模板前必须先编译第一步中的待测文件,否则会产生错误
点击Processing–Start–Start Test Bench Template Writer,若成功则生成一个testbench文件模板(文件后缀.vht),文件保存路径在信息窗口中给出。也可以自己直接编写testbench文件。

基于VHDL的QuartusII和Modelsim联合仿真_第2张图片

在这里插入图片描述
3.修改testbench模板文件。可以把testbench文件添加到工程中进行修改,根据需求修改文件。特别要注意的是这里的实体名(COUNTER_vhd_tst)和元器件例化时的命名(i1),这在后面的设置中至关重要。
基于VHDL的QuartusII和Modelsim联合仿真_第3张图片

4.设置仿真环境
点击Assignments–Settings出现下面设置界面,点击EDA Tool Settings,选择图中的选项ModelSim和VHDL
基于VHDL的QuartusII和Modelsim联合仿真_第4张图片

5.加载testbench文件
选择EDA Tool Settings–Simulation,如下图所示,Tool name 选择ModelSim
基于VHDL的QuartusII和Modelsim联合仿真_第5张图片
点击上图中的Test Benches加载文件,弹出对话框,点击New,弹出下图对话框
基于VHDL的QuartusII和Modelsim联合仿真_第6张图片
Test bench name填写之前的testbench的实体名(必须一致否则仿真会出错,不能出波形),填写例化名,这里是i1,Simulation period中可以设置仿真结束时。点击”…“加载文件,选择之前修改好的testbench模板文件(.vht)或者自己写的testbench文件(.vhd),点击Add。正确加载完相应文件后,点击OK确认。
6.运行仿真
(1)RTL级的仿真
这种仿真我简单的理解为不考虑时间延迟,只验证逻辑是否正确。
使用RTL级仿真,上图中的勾选(use test bench to perform VHDL …)可以不用勾选。使用该仿真可以先不完全综合,点击 Processing–Start–Start Analysis & Elaboration 即可。
点击 Tool–Run Simulation Tool–RTL Simulation ,或者工具栏中的 RTL Simulation 快捷按钮。正常结果是自动调用ModelSim软件,等待编译运行完成直接出现波形界面。
(2)Gate Level门级仿真
我简单的理解为会考虑器件里的时间延迟。
使用RTL级仿真,上图中的勾选(use test bench to perform VHDL …)必须勾选且填写例化名字,否则出不来波形,这里需要完全编译文件 (Processing–Start Compilation)
点击Tool–Run Simulation Tool–Gate Level Simulation,或直接点击工具栏中的 Gate Level Simulation 按钮,然后点击run。如果正常则会调用ModelSim软件,等待编译运行完成直接出现波形界面。

在这里插入图片描述
基于VHDL的QuartusII和Modelsim联合仿真_第7张图片
注意:
1.若Gate级仿真没有波形出现,检查第5步中填写的实体名和例化名是否和testbench文件中一致,检查testbench文件是否正确,注意ModelSim中的调试警告信息。
2.若RTL级仿真有波形结果不正确,Gate级仿真有波形和结果,则需要认真检查待测模块的源码,注意编译出的warning警告信息

你可能感兴趣的:(FPGA)