zoukankan      html  css  js  c++  java
  • 【原创】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自动加载就可以得到时序结果。

  • 相关阅读:
    js的同步和异步
    事件三
    事件2
    JS作用域题
    游戏之乐
    NSTimer(2)
    NSTimer
    理解 Objective-C Runtime
    iOS系统安全机制概览
    Which is the best of GCD, NSThread or NSOperationQueue?
  • 原文地址:https://www.cnblogs.com/socquan/p/3298354.html
Copyright © 2011-2022 走看看