【原创】Quartus与Modelsim的联合仿真及脚本

**参考

http://www.cnblogs.com/crazybingo/archive/2012/03/02/2376640.html

---By SOCquan

1 联合功能仿真l quartus 11.1中编写好代码,举例如下:
image

进行编译以检查错误;

自动生成testbeach文件

注意要先设置simulation方式为modelsim;
设置:Assignments---->settings:

image

查看quartus II 仿真时是否已关联modelsim的安装目录:

Tools –>Options –>在General里选EDA Tool Options:

image

生成testbeach文件

clip_image008

生成成功

clip_image009

打开testbeach文件

一般在…simulationmodelsim文件夹中,后缀是.vt

image

image

完善teshbeach文件:

image

进行仿真设置: 完成NativeLink settings:

image

选择compile Test bench:

clip_image019

选择Test Benches…

clip_image021

点击new…填写完test bench name 和top level module in test bench后,点击file name后的…

$515Q9P9YDE)Z1{KZGNGG98

M747IC)10BC)2I1%N566GHC

之后点击Add:

最终设置

QO~H1B~CO[5LH5BI~B%~5{4

@{4GIXM%2Z%_7CP2[Z_6KBH

运行仿真:Tools—>run simulation tool—>RTL simulation

clip_image031

得到波形图

image

 

2 仿真“深度”调试

当源文件或者testbeach出现修改时,需要按以下步骤重新得到仿真结果

重新编译修改文件

选择Complile->complile,选择被修改的文件重新编译OZ{`UCF$AR4_V{`ZA)}QW%N

复位仿真

在modelsim命令栏键入restart,回车运行

clip_image036

出现restart菜单,点击ok

clip_image037

设置仿真时间:在命令栏键入run 3000ns,设置仿真运行时间

_F0BB(XSV9W[}4N93%~4Q)V

7_3NO{9I@TKPSV[P~N[RH1V

此时,已得到源文件或testbeach修改后的仿真结果

注:我们可以继续通过键入run xxns 增加仿真时间

3 自动运行—脚本文件编写

这里主要讲如何将功能仿真结果的波形图进行保存,以便下次快速运行。

完善保存波形图

得到波形图后,可以先对波形图进行完善:添加感兴趣信号,设置字体波形颜色,缩小放大……

然后保存波形图 file->save format… 一般默认保存名字为wave.do,保持默认路径

NCJFMXK6_`$QAV`E{TJG@8G

设置wave.do

在工程目录下打开…simulationmodelsim文件夹

image

分别打开两个do文件,一个是quartus自动生成的divider_run_msim_rtl_verilog.do,

一个是保存的wave.do

divider_run_msim_rtl_verilog.do

此文件是modelsim自动运行命令,复制图中部分

_)IDHB`$0%VJ@D(KW]5@JL9

vmap …(该命令的作用是将目前的逻辑工作库work和实际工作库work映射对应)

vlog …(该命令的作用是编译这些文件,默认编译到work库下)

vsim …(仿真work库中名为激励文件)

wave.do

此文件是modelsim波形窗口设置

添加入wave.do中的前面,并在最后添加运行命令,如run 3000ns

复制后

E]WS__U6JVBL{~50$~JLNKJ

保存文件

自动运行

重新打开modelsim

clip_image053

输入命令 cd E:/EDA/modelsim/Quartus_modelsim/simulation/modelsim

指向目标文件夹,即wave.do与divider_run_msim_rtl_verilog.do的位置,注意不是“”是“/”

clip_image055

最后输入命令 do wave.do即可

4T]0OAE1U@}KE(V)O_@3P`B

 
另一种仿真深度调试方式

我们将工程文件修改为自加2,保存

image

继续仿真只需要在2中结果中

Ø 关掉wave窗口

Ø 输入命令quit –sim退出仿真

Ø 重新输入命令 do wave.do

5J40AITO_}AGN@5O@P4$Y~7

4 仿真工程可移植性修改

上面的脚本文件限定了工程的指定目录,为了使工程复制到不同的目录下后仿真依然可以自动运行,需要进行地址修改

clip_image063

将上图选中部分进行以下修改,并保存

clip_image065

当工程位置被修改后,即可重新

输入命令 cd 指向目标文件夹,然后输入do wave.do自动运行

5 联合时序仿真

(1)如在一开始设置中,选中在编译后自动进行门级仿真(时序仿真),软件会在编译后自动进行仿真,知道仿真结束,设置如下图:

clip_image066

(2)当然,也可以在功能仿真的基础上,直接Run gate level仿真即时序仿真

clip_image067

(3)Quartus II + Modelsim自动加载就可以得到时序结果。

原文地址:https://www.cnblogs.com/socquan/p/3298354.html