3.2.3 波形仿真
当一个设计项目的编译通过之后,能否实现预期的逻辑功能,仍需要进一步的检验,波形仿真分析是必不可少的一个环节。波形仿真就是在波形编辑器中将设计的逻辑功能用波形图的形式显示,通过查看波形图,检查设计的逻辑功能是否符合设计要求。Quartus Ⅱ 13.0及之后的版本包含了Simulation Waveform Editor仿真工具,除此之外,Quartus Prime 16.0也支持ModelSim、questasim等第三方仿真工具 软 件 , Simulation Waveform Editor 仿 真 也 借 助 了 仿 真 工 具ModelSim 。 如 果 安 装 了 ModelSim 和 ModelSim-Altera , Simulation Waveform Editor默认选择ModelSim-Altera。本节主要以Simulation Waveform Editor和ModelSim为例介绍仿真流程。
1. ModelSim仿真
ModelSim是Mentor Graphics公司开发的一款功能强大的仿真软件,具有速度快、精度高和便于操作的特点,此外还具有代码分析能力,可以看出不同代码段消耗资源的情况。ModelSim的功能侧重于编译和仿真,但不能指定编译的器件和下载配置,需要和Quartus Prime等软件关联。
在Quartus Prime 16.0界面菜单栏中选择Tools→options选项卡中的EDA tool options,在ModelSim一项指定ModelSim安装的路径。本 文 安 装 并 指 定 的 ModelSim 路 径 为 D:\quartus\quartus\ModelSim 10.4 se\win64。
在 Quartus Prime 16.0 界 面 菜 单 栏 中 选 择Assignments→Settings 。 选 中 该 界 面 中 EDA Tool settings 中 的Simulation 。 在 Tool name 中 选 择 ModelSim , Format for output netlist中选择开发语言的类型VHDL(如果项目是基于Verilog语言写的,则此处选择Verilog),如图3-13所示。然后单击Apply和OK按钮。
设置完成后,编译工程。在Quartus Prime 16.0菜单栏中选择Processing→Start Compilation,等待编译,编译无错后会在myexam目录下生成simulation目录。单击菜单栏Processing→Start→Start Test Bench Template Writer , 如 图 3-14 所 示 , 在myexam/simulation/modelsim下会生成一个与项目顶层文件同名的testbench测试文件模板:myexam.vht(Verilog语言环境下生成的测试文件为myexam.vt)。
打开myexam.vht文件,可以看到此时生成的testbench文件是基于VHDL 语 言 的 , 程 序 结 构 包 含 了 library 库 、 无 端 口 实 体myexam_vhd_tst、结构体myexam_arch,程序如下所示。结构体分为三部分:信号定义、实例化、施加激励。施加激励通过程序中的两个进程实现,设计者需要根据测试需求,设计需要的激励信号,其中init进程主要产生执行一次的激励信号,如复位信号、非周期性输入信号等;always进程中主要产生由敏感事件列表触发的信号,如时钟信号、周期性输入信号等。
根据测试需求在模板中修改测试文件,在init进程中添加reset激励信号,always进程中添加周期为20ns的时钟信号,