zzuxzt

在Quartus II中调用Modelsim联合仿真

0
阅读(2887)

       学习FPGA,在编写RTL代码后,往往需要验证自己的代码是否有问题,这时就需要进行仿真调试。一个很好的仿真软件就是Modelsim,下面就讲解一下在quartus II里联合调用modelsim进行仿真的步骤,以供自己在忘了的时候查询和供他人参阅。

一.quartus中新建工程后,点击工具栏里的Tools,在下拉菜单中选取Options,弹出对话框,在对话框里选择EDA Tool Options,然后在右侧的Modelsim那里填入Modelsim软件的安装位置,具体操作如下图所示:


 

二.点击工具栏里的Assignments,在下拉菜单里选取Settings,弹出对话框,在对话框里选择EDA Tool Settings里的Simulation,然后在右上侧的Tool name里选取Modelsim,然后在EDA Netlist Writer settings下,选择你testbench的仿真语言,我是用的Verilog,所以选择Verilog HDL,最后点击OK即可,具体操作如下图所示:

 

 


三.点击工具栏里的Processing,在下拉菜单里点击Start,再在右侧菜单里选择Start Test Bench Template Writer,完成后弹出对话框,点击OK即可,具体操作如下图所示:




四.在工程里打开生成的仿真文件xxx.vt文件,用Verilog进行TestBench文本编辑,编写自己所需的仿真程序即可,具体操作如下图所示:


五.a) 编写好仿真文件后,类似第二步操作,点击工具栏里的Assignment,在下拉菜单里选取Settings,弹出对话框;

b) 在这个对话框的左侧点击Simulation,然后在右下侧的NativeLink settings下选取Cmpile test bench,点击Test Benches,弹出对话框,点击New,再弹出一个对话框;



c) 在这个对话框里,填写Test Bench nameTop level module in test bench,然后在下侧的File name那里添加你的仿真文件xxx.vt,点击add,最后点击OK即可。d) 需要注意的是,Test Bench name就是你工程文件名,而Top level module in test bench就是你仿真文件xxx.vt文件里的module名称,如果这两个框填错,将不会有结果。

其实有个小技巧就是复制你仿真文件里的module名称,直接粘贴在Top level module in test bench框里,这时Test Bench name框里就会有和Top level module in test bench框里一样的内容,在Test Bench name框里删去_vlg_tst即可。

       具体操作如下图所示:




六.在工程里进行编译,编译完成后,点击工具栏里的Tools,在下拉菜单里选择Run Simulation Tool,再选择RTL Simulation即可,等待Modelsim软件自启动,运行仿真,即可观察波形。具体操作如下图所示: