×
嵌入式 > 技术百科 > 详情

芯片设计:modelsim do脚本

发布时间:2020-06-16 发布时间:
|
以下其实是一个tcl语法的脚本,使用了modelsim的命令。
提供4个命令:sim, re, q, clear.功能如下:
        sim: 刚开始仿真时,建立库、映射库、编译、仿真。
        asim: 和sim功能基本一致,但假如了SVA断言选项。
        re:  用于重复调试,前提是你已经将波形文件wave.do存好,re会自动调用,自动重启仿真。
        q :  推出仿真。
        clear: 清屏。
 
proc sim {} {
    #如果目录中已经存在work文件夹,就不再新建库文件夹。
    if {![file isdirectory work]} {
        vlib work 
    } 
    #将逻辑库映射到实际库文件夹work下。
    vmap work work
    #编译文件,abc.f是文件列表,-incr是增量编译。
    vlog -incr -f abc.f
    #仿真,-novopt是禁止优化,不能使用modelsim的优化,会将testbench的信号优化掉。
    vsim -novopt abc_tb
}
 
proc asim {} {
    if {![file isdirectory work]} {
        vlib work 
    } 
 
    vmap work work
    # -sv是用system verilog语法进行编译,增加一个宏SVA_TEST,当使用断言时开启
    vlog -sv -incr +define+SVA_TEST -f abc.f 
    # -assertdebug加入对断言的支持
    vsim -assertdebug -novopt abc_tb
    # 打开断言报告窗口,断言结果一般显示在命令行,断言报告窗口显示断言的统计结果。
    view assertions
}
 
proc re {} {
    restart -f
    do wave.do
    run -all
}
 
proc q {} {quit -sim}
 
proc clear {} {.main clear}
 
(1) +incdir+:
如:vlog +incdir+YOUR_SOURCE_PATH  foo.v
  +incdir+YOUR_SOURCE_PATH 选项是指在verilog文件中出现`include "xxx.v" 时,包含文件的搜索路径。
缺省是搜索当前路径,然后是 YOUR_SOURCE_PATH 指定的路径。
 
(1) +define+: 
+define+[=]
  允许用户在命令行中定义宏定义,等效于编译器指令:
`define
  用户可以指定多个宏定义,如下:
vlog +define+one=r1 +two=r2 +three=r3 test.v
  命令行的宏定义会覆盖在源文件中用`define定义的相同名字的宏定义
 
 
如:vsim -c -l vsim.log -do ./YourDo.do -L ./work work.foo
   开始仿真:
-c 选项让vsim工作在commandline模式;
-l 选项是输出log文件到vsim.log;
-do 选项是开始仿真后运行tcl脚本文件;
-L 选项是指定工作逻辑库;
work.foo是仿真的top level module。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
分布式光纤温度传感器(DTS)系统的应用