【注】本文为系列教程,使用同一个仿真代码,关注公众号“数字积木”,对话框回复“ modelsim_prj ”,即可获得。这是系列第六篇。
时序仿真与功能仿真的步骤大体相同,只不过中间需要添加仿真库、网表(.vo)文件和延时(.sdo)文件。到了这里,问题来了,仿真库、网表(.vo)文件和延时(.sdo)文件怎么获得呢?网表(.vo)文件和延时(.sdo)文件,其实我们在自动仿真的配置仿真功能中已经生成了,当我们配置好仿真功能之后,我们在 Quartus 进行一次全编译,这时,我们打开 Quartus 工程目录下 simulation/modelsim 中就能够看到 Verilog_First.vo 和 Verilog_First_v.sdo 这两个文件。我们将这两个文件复制到我们的 manual_modelsim 文件夹下。仿真库,我们需要到我们 Altera的安装目录下,也就是 C:\altera\13.1\modelsim_ase\altera\verilog 中找到 cycloneive 文件夹,然后我们将 cycloneive 文件夹也复制到我们的 manual_modelsim 文件夹下。万事具备,接下来我们就可以打开我们的 ModelSim 软件,如图
通过该图,我们可以看出,这个工程是我们之前做功能仿真的工程,当我们关闭 ModelSim之后,我们再次打开 ModelSim 这个软件,它会自动记录上一个我们使用的工程并打开。我们就直接在这个工程上进行更改,首先我们右键在弹出的菜单栏中找到【Add to Project】→【Existing File...】按钮并点击打开,则弹出图
在该对话框中我们点击【Browse】,在弹出的对话框中我们找到 manual_modelsim 文件夹下的 Verilog_First.vo,然后将 Verilog_First.vo 添加至我们的 ModelSim 仿真工程中。接下来我们进行代码全编译,编译完成后,我们在 ModelSim 的菜单栏中找到【Simulate】→【StartSimulation...】按钮并点击打开,我们打开 Libraries 标签,将仿真库添加至配置仿真环境中,如图
这里我们需要注意的是,只添加一个 cycloneive 仿真库是不够的,我们还需要将我们ModeSim 仿真库中的 altera_ver 库添加进来,如图
如果不知道需要选择哪个库,我们可以先直接运行仿真,这时候 ModelSim 控制窗口中会提示错误信息,我们根据错误信息便能够分析出我们需要的库名,然后我们再重复上述步骤添加完了仿真库,接下来我们在 SDF 标签页面中添加 Verilog_First_v.sdo 文件,如图
这里需要我们注意的是,因为的我们的实例化名是 i1,所以我们填写的是/i1。添加完成之后,最后我们在返回 Design 标签页面中,找到 work 下的 Verilog_First_vlg_tst,如图
在该页面中,我们点击【OK】就可以开始进行时序仿真了,到了这里,后面的工作就和我们的功能仿真是一样的了。至此,我们 ModelSim 软件的使用就讲解完了。
欢迎关注,更精彩的内容等着你!