由於Verdi只能查看fsdb格式的波形,而vcs可以生成供DVE查看的vpd格式波形,如果想要輸出fsdb格式的波形,我們就要額外在testbench中加入兩個函數,並且用相應的命令進行編譯。
1.首先了解一些vcs的常用命令:
-cm line|cond|fsm|tgl|obc|path 設定coverage的方式
+define+macro=value+ 預編譯宏定義
-f filename RTL文件列表
+incdir+directory+ 添加include 文件夾
-I 進入交互界面
-l logfile文件名
-P pli.tab 定義PLI的列表(Tab)文件
+v2k 使用推薦的標准
-y 定義verilog的庫
-notice 顯示詳盡的診斷信息
-o 指定輸出的可執行文件的名字,缺省是simv
+ nospecify 不對SPECIFY 模塊進行時序檢查和路徑延時計算
+ notimingcheck 不進行時序檢查;但是還是把path延時加入仿真中
2.下面是我在run一個十分簡單的例子:2-4譯碼器時用的命令:
注:testbench中葯加入兩個函數:$fsdbDumpfile("decoder.fsdb");
$fsdbDumpvars(0);
vcs decoder_tb.v decoder.v -sverilog -fsdb -debug_all -l com.log
如果不加-fsdb,編譯時會報出上述兩個函數的undefined錯;
如果不加-l 會報不能打開test.v的錯(這個不知道為什么)。
3.編譯完成后,執行simv文件,即可。
4.用verdi查看fsdb文件:
命令:
verdi -sv -f filelist –ssf test.fsdb
其中:
-sv: 表示 Verdi 軟件 要支持systemverilog
-f filelist: 源代碼的文件列表
-ssf test.fsdb: 指定fsdb文件
filelist文件:
啟動verdi后,在源代碼頁面按住鼠標中鍵選擇線名拖到波形界面,向波形界面添加波形。
5.為方便編譯、仿真以及查看波形,可以將命令封裝成makefile: