目錄
前言
makefile腳本的方式使用VCS
1. 自動(dòng)生成 .fsdb 文件
2. 生成 filelist.f 文件
3. 書寫 makefile 腳本
4. termial 中運(yùn)行仿真
5. verdi 的快捷操作
總結(jié)
前言
零基礎(chǔ)初學(xué)數(shù)字IC,學(xué)會(huì)什么寫什么,與大家一起進(jìn)步。
本文主要介紹如何通過makefile腳本的方式用VCS+Verdi進(jìn)行聯(lián)合仿真。
makefile腳本的方式使用VCS
1. 自動(dòng)生成 .fsdb 文件
因?yàn)橐褂胿erdi進(jìn)行仿真,所以我們需要在進(jìn)行仿真之前,在testbench文件中添加如下代碼,以便生成 .fsdb 文件,以便 verdi 進(jìn)行仿真。
'ifdef FSDB
initial begin
$fsdbDumpfile(XXX.fsdb);
$fsdbDumpvars(0);
$fsdbDumpMDA;
end
'endif
- $fsdbDumpfile(XXX.fsdb); : 用于定義 .fsdb 波形文件;
- $fsdbDumpvars; : 用于定義Dump 的變量;這里再詳細(xì)介紹一下這一條命令,完整的格式應(yīng)該是?$fsdbDumpvar(depth, instance, parameter);
- depth=0 表示dump instance下所有層次的信號(hào),depth=1 表示只dump instance的信號(hào);
- instance 可以指定dump 的 hierarchy;
- parameter 表示dump時(shí)可以選擇的一些選項(xiàng),"+mda" 表示dump memory 和 多維數(shù)組的數(shù)據(jù);"+all" 表示 dump 所有信號(hào);
- $fsdbDumpMDA; : 添加這一句可以用于查看寄存器變量,配合vcs命令使用。
當(dāng)需要查看多維數(shù)組的數(shù)據(jù)的時(shí)候,可以參考如下所示的方法:
2. 生成 filelist.f 文件
find -name '*.v' > filelist.f
3. 書寫 makefile 腳本
all: clean com sim verdi
clean:
rm -rf
com:
vcs -full64 -f filelist.f -R +v2k -debug_access+all -timescale=1ns/1ns -fsdb +define+FSDB -l com.log
sim:
./simv -l sim.log
verdi:
verdi -f filelist.f -ssf *.fsdb -nologo &
-full64:支持64位模式下的編譯仿真;
-R:編譯后立即執(zhí)行仿真;
+v2k:支持2001 verilog標(biāo)準(zhǔn);
-f filelist.f : 讀入filelist.f 文件(包含文件列表的文件);
-debug_access+all:打開debug開關(guān);
-timescale=1ns/1ns:定義仿真精度;
-fsdb :dump fsdb波形;
+define+FSDB:使用源代碼中`ifdef所定義的宏;
-ssf? *.fsdb : 打開 .fsdb 波形文件;
-nologo : 不顯示軟件歡迎界面;
& :在后臺(tái)打開 verdi,不占用當(dāng)前 terminal ;
4. termial 中運(yùn)行仿真
命令運(yùn)行之后,verdi 界面自動(dòng)打開,如下:
5. verdi 的快捷操作
- ?顯示波形:鼠標(biāo)拖動(dòng)信號(hào)至nwave界面;模塊界面按 ctrl+4;代碼界面按 ctrl+w;
- ntrace 界面按 X,可以顯示信號(hào)的具體值,方便 debug;
- 全局波形:F? ? ?放大波形:拖動(dòng)鼠標(biāo)? ? ? ? 縮小波形:Z
- 顯示信號(hào)結(jié)構(gòu):H;
- 標(biāo)記時(shí)間節(jié)點(diǎn):shift + M ;
- 信號(hào)保存:shift + S,信號(hào)恢復(fù):r
6. 使用verdi進(jìn)行debug
- 當(dāng)我們使用verdi進(jìn)行debug的過程中,難免會(huì)遇到需要修改代碼的時(shí)候,如果在終端使用make all 命令時(shí),會(huì)發(fā)現(xiàn)系統(tǒng)重新打開了一個(gè)verdi窗口,我們之前已經(jīng)添加到波形窗口的波形全部消失不見了,又需要重新添加波形然后再進(jìn)行分析,這樣非常的繁瑣。這里提供一個(gè)便捷的方法:不用關(guān)閉verdi窗口,修改設(shè)計(jì)后,輸入如下所示的命令,然后在verdi窗口中按shift+L 進(jìn)行刷新即可。
vcs -full64 -R -fsdb +define+FSDB -f filelist.f
????????參考文章:VCS與Verdi工具初體驗(yàn) - 知乎 (zhihu.com)文章來源:http://www.zghlxwxcb.cn/news/detail-641224.html
總結(jié)
以上就是利用makefile腳本方式使用 VCS+Verdi 聯(lián)合仿真的方法,筆記如果有錯(cuò)誤的地方,歡迎大家留言糾正~文章來源地址http://www.zghlxwxcb.cn/news/detail-641224.html
到了這里,關(guān)于新手教程03:通過makefile腳本使用VCS+Verdi進(jìn)行聯(lián)合仿真的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!