zoukankan      html  css  js  c++  java
  • 使用debussy完成自动仿真

      先说最终可以达到的效果:运行run.bat文件后,modelsim在后台运行(从始至终不出现GUI),约5秒左右,debussy代码窗口和波形窗口出现,在波形串口里(如图1)点击添加信号按钮即可将所需要观察的信号添加进来(默认是保存仿真过程中的所有信号)。接下来就可以在debussy中分析波形

     

    图1:点击波形窗口的添加波形按钮,加入观察信号

     

      整个自动仿真过程所需文件如图2示,其中顶层的TB中需要添加一处代码,另外需要rtl.f,run.bat,sim.do这三个文件。一共是4个注意的地方,接下来,分别介绍这4处。

     

    图2:rtl是源文件夹,其余三个是新文件

     

    1)  顶层的TB中添加代码:

    initial begin

           $dumpfile("x4.vcd");  //表示生成vcd(值变化存储)文件

           $dumpvars;              //表示想要把指定模块的哪些层次的数值变化记录到VCD文

    end                    //件中,没有任何参数表示,设计中所有变量的变化均记录到//VCD文件

    2)  rtl.f文件:

    给出了verilog源文件的相对路径。

    如:RTL/mem_arbiter.v

    simulation/modelsim/mem_arbiter.vt

    3)  run.bat文件:

    批处理文件调用modelsim,仿真完成后,生成vcd文件,

    接着将vcd文件转化为fsdb(fast signal database)文件,

    接着在debussy中打开fsdb文件,至此波形窗口已经打开。

    //-------------------------------------------------------------------------------------------

    ::关闭回显

    @ECHO OFF

    ::设置软件路径

    SET debussy=D:Debussy54inDebussy.exe

    SET vfast=D:Debussy54invfast.exe

    SET vsim=D:modelsim10.1cwin32vsim.exe

    ::ModelSim Command

    %vsim% -c -do sim.do

    %vfast% x4.vcd -o xxx4.fsdb

     

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

     

    ::RD work /s /q

    ::DEL transcript vsim.wlf /q

    ::Debussy Command

    %Debussy% -f rtl.f -ssf xxx4.fsdb -2001

    ::删除波形文件

    ::DEL Debussy.fsdb /q

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

    ::RD Debussy.exeLog  /s /q

    ::DEL novas.rc /q

    ::退出命令行

    EXIT

    //----------------------------------------------------------------------------------------------              

    4)  sim.do文件:

    //---------------------------------------------------------------------------------------------- 

    vlib work  #建立work库

    vlog -f rtl.f  #编译rtl.f所指示的源文件

    vsim -novopt work.mem_arbiter_vlg_tst  #以mem_arbiter_vlg_tst作为顶层,开

    run -all                             #始仿真

    quit  #退出modelsim

    //----------------------------------------------------------------------------------------------  

     

      ☆注意sim.do文件中所指示的仿真顶层,由于quartus的“Start TestBench Tempate Writer”生成的TB文件名和内部的实体名是不一致的,这次我就是由于粗心将顶层写为了mem_arbiter(TB文件名),所以一直提示没有生成x4.vcd。还是要一再细心,然后灵魂在场啊~!

  • 相关阅读:
    无穷字符串问题--CSDN上的面试题(原创)
    c语言:将二进制数按位输出
    构造和为指定值的表达式:±1±2±3±4±5=3 确定符号
    c语言:最长对称子串(3种解决方案)
    最长公共子串
    ie7下 滚动条内容不动问题
    沙盒密探——可实现的js缓存攻击
    yii2归档安装
    php 安装composer
    [转]-Android Studio 快捷键整理分享-SadieYu
  • 原文地址:https://www.cnblogs.com/fkl523/p/5172924.html
Copyright © 2011-2022 走看看