使用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。还是要一再细心,然后灵魂在场啊~!

原文地址:https://www.cnblogs.com/fkl523/p/5172924.html