zoukankan      html  css  js  c++  java
  • [笔记]debussy与modelsim联仿注意事项

    来源:http://bbs.eetop.cn/thread-39016-1-1.html

    modelsim:将HEX文件直接读入RAM/ROM

    verilog只支持readmemh,在设计mcu时,如果要调试程序,需要先转换格式,很麻烦
    这个程序可以将编译后HEX格式的文件直接读入ROM中,省去转换环节。稍微改改就可以嵌入到你的程序里了。参照此程序就可以在仿真时读入其它格式的文件了。

    来源:http://bbs.ednchina.com/BLOG_ARTICLE_3002036.HTM

    mif文件是用来给Quautus综合网表用的,而hex可以被用来作为modelsim仿真的数据输入用。换句话说modelisim对mif文件不支持,而只对hex文件支持。

    用modelsim做功能仿真FPGA的IP核ROM的时候,ROM里面需要存hex格式文件;而用门级或者时序仿真的时候这不需要,只需要直接给mif文件就行。我们应该都清楚,功能仿真是只仿的.v文件,也就是设计文件,而门级或者时序仿真这是仿真综合后的网表文件。

    同时需要注意的点是对hex文件的路径需要注意,如果放在FPGA工程里无法读取则需放到modelsim的工程根目录下,这样modelsim才会正确的读取数据源头。不然会无法初始化数据,也就是读取不到原始数据源。

    在QuartusII中打开MIF文件可直接保存为HEX文件,此时可供Modelsim仿真。

     MIF文件格式如链接所示http://bbs.ednchina.com/BLOG_ARTICLE_195488.HTM

    Debussy与modelsim结合学习网址

    http://home.educities.edu.tw/oldfriend/page55.htm#2.

    http://blog.ednchina.com/Label/Debussy.aspx

    debussy软件包下载网址

    http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4212105&bbs_page_no=1&search_mode=4&search_text=edaworld&bbs_id=9999

    一、手动操作

    手动操作Modelsim使之产生*.fsdb,然后在Debussy中打开*.fsdb,该方法较繁琐,推荐采用批处理的方法!!!

    该方法可以参考PDF文档《手动操作Debussy_Modelsim.pdf》

    Debussy使用注意事项:

    (1)在打开.fsdb文件之前,先在nTrace窗口Import Design一下,选择From File,Add所有相关的设计源文件和testbench文件,否则在nWave窗口打开.fsdb文件,用Get Signal添加信号后会显示NF。

    (2)另外,在Get Signal之前请将ModelSim关掉,否则好像还是会显示NF。其中在nTrace窗口Tools下New Waveform,再在nWave窗口file打开*.fsdb文件,最后Signal中选择Get all Signals即可看到波形。

    二、    自动操作

    *.v的注释是“//”或者“/*   */

    *.vhdl的注释是“--

    注意:(1modelsim.ini的注释符号是“;”,如

    http://www.cnblogs.com/oomusou/archive/2011/02/05/debussy_modelsim.html

    OO无双的博客园

    2run.bat的注释符号是“::”,如

    http://www.cnblogs.com/yuphone/archive/2010/05/31/1747871.html

    张亚峰的博客园

    这边采用“真OO无双”的方法,在执行deb.bat,没有打开debussy和仿真波形,不清楚是什么原因造成。

    原因:在run.bat /mod.bat /deb.bat中要设置好modelsim和debussy和路径

    GOOD!

    在进行Debussy仿真时,不一定要打开modelsim进行操作,可以通过mod.bat来进行批处理得到*.fsdb,然后再通过deb.bat进行批处理,得到仿真波形!!也可以将这两个步骤合起来写run.bat。

    run.bat是mod.bat和deb.bat的整合!

    mod.bat是modelsim的批处理文件!

    deb.batt是debussy的批处理文件!

    解答:在run.bat /mod.bat /deb.bat中要设置好modelsim和debussy和路径,添加如下指令:

    ::关闭回显

    @ECHO OFF

    ::设置软件路径

    SET debussy=C:\altera\Novas\Debussy\bin\Debussy.exe

    SET vsim=C:\altera\modelsimSE6.2b\win32\vsim.exe

    ::ModelSim Command

    %vsim% -c -do sim.do

    ::删除ModelSim生成的相关文件

    RD work /s /q

    DEL transcript vsim.wlf /q

    ::Debussy Command

    %debussy% -f rtl.f -ssf wave.fsdb -2001

    ::删除波形文件

    DEL wave.fsdb /q

    ::删除Debussy生成的相关文件

    RD Debussy.exeLog  /s /q

    DEL debussy.rc /q

    ::退出命令行

    EXIT

    在Verilog_add4这个文件夹里面,Verilog的程序非常的奇怪!!!我从没见过这样写的,而且还可以编译通过,值得学习!

           在看《Debussy 教程1.doc》时,遇到好多问题,不明白是什么意思?

    问题一:1-1 启动Debussy:% Debussy% &      (此处的D大小写都可以,但其它指令的大小写可能就有差别)

    这个命令如何输入,在哪输入?

    答:在run.bat里输入,这是个批处理文件

    问题二:Debussy.cmd纪录所有import的档案与之后所有的执行程序。我们可以直接引用这个档案来执行上一次我们做过的一连串程序(refer to 1-5)。

           这个打开了Debussy.cmd,没反应???

    1-5 结束程序:File \ Exit

    1-6 快速启动执行序

          把DebussyLog目录下的指令记录文件Debussy.cmd复制到目前工作目录下,重新编辑此档 (删掉最后一行的"debExit"然后储存),引用它来开启Debussy可重复之前同样的动作程序

    % Debussy -play Debussy.cmd &       (结果相当于从步骤1-1做到1-4)

    1-7 其它启动Debussy的方法

    % Debussy -f xxx.f    (类似开启一个事先编写的批次档,可以同时一次加载多个.v)
    % Debussy -vhdl -f xxx.f    (类似开启一个事先编写的批次档,可以同时一次加载多个.vhd)

          以上都是属于Import design from file的方法,另外还有一种方法是Import design from library。两者的差异在于:
          Import design from file是将design compile to RAM,而Import design from library则是将design compile to library 
          (default lib. is "work")。

          对于比较大的project,为了避免每次使用Debussy都要花时间compile,建议采用Import design from library的方法,而且mixed-language design一定要用Import design from library的方法。

    Ex. for Verilog files:%vericom -inc -f run.f
                                     %Debussy -lib work -top xxx &

    Ex. for VHDL files:%vhdlcom -93 -f run.f
                                     %Debussy -lib work -top xxx &

    详细请参考“真OO无双”写的博客!!!

           其中注意:testbench若为verilog,则用novas.dll,若为VHDL,则用novas_fli.dll,下面这段是将modelsim.ini改成适合verilog的形式。

    ; List of dynamically loaded objects for Verilog PLI applications
    ; Veriuser 
    = veriuser.sl
    use by verilog
    Veriuser 
    = novas.dll
    use by vhdl
    ; Veriuser 
    = novas_fli.dll

    问题三:开始执行模拟:Simulation \ Run/Continue (仿真结束工作目录下就会产生dump_i.fsdb )

           我运行后出现下方这个现象!

    实例下载:Verilog_add4.zip

    相关文档下载:参考文档.zip



     

  • 相关阅读:
    redis分布式锁原理
    设置linux源
    linux 设置固定ip 并且解决ping www.baidu.com不通问题
    java内存模型
    Messenger和MVVM中的View Services
    MVVMLight
    MVVMLight
    MvvmLight
    MVVM 事件转命令1
    Mvvm简介
  • 原文地址:https://www.cnblogs.com/zlh840/p/2105764.html
Copyright © 2011-2022 走看看