0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全網(wǎng)最實(shí)用的Verdi教程1

jf_78858299 ? 來源:芯片驗(yàn)證日記 ? 作者:芯片驗(yàn)證日記 ? 2023-05-05 14:49 ? 次閱讀

前言

Verdi是一個功能強(qiáng)大的debug工具,可以配合不同的仿真軟件進(jìn)行debug,很多企業(yè)常用VCS+Verdi或者Xcelium/xrun+Verdi的方式進(jìn)行代碼的仿真與檢查。Verdi支持對所有設(shè)計和驗(yàn)證流程進(jìn)行全面的調(diào)試。它能夠幫助工程師理解復(fù)雜和不熟悉的設(shè)計行為,讓困難和乏味的調(diào)試過程自動化,并能讓多樣和復(fù)雜的設(shè)計環(huán)境一致化。在芯片設(shè)計過程中,可以根據(jù)仿真結(jié)果檢查或者理解設(shè)計;在芯片驗(yàn)證過程中,常常用來調(diào)試(debug)一些錯誤的情況。Verdi既可以閱讀調(diào)試代碼,又可以查看波形,包括數(shù)字設(shè)計的波形和模擬設(shè)計的波形。

本文內(nèi)容標(biāo)題截圖

本文一共一萬一千多字,上百張截圖,基本涵蓋了Verdi的日常用法和常規(guī)技巧,內(nèi)容比較多我對標(biāo)題做了如下的截圖,方便大家閱讀查找。整理的過程中參考了很多大佬的文章,文末也都一一列舉出來了。由于時間倉促,整理的還不是太理想,還是希望能幫助到一些朋友吧。

圖片圖片圖片圖片圖片

一、verdi使用教程

(一) Verdi環(huán)境配置

bashrc中配置

export Verdi_HOME=$Synopsys_Dir/Verdi2015
# export NOVAS_HOME=$Synopsys_Dir/Verdi2015
export PATH=$Verdi_HOME/bin:$PATH
export LD_LIBRARY_PATH="/opt/Synopsys/Verdi2015/share/PLI/lib/linux64"$PATH
export LD_LIBRARY_PATH="/opt/Synopsys/Verdi2015/share/PLI/VCS/linux64"$PATH

上面三個環(huán)境變量的解釋:

VERDI_HOME/NOVAS_HOME:仿真器默認(rèn),且為設(shè)置PATH做準(zhǔn)備

PATH:讓系統(tǒng)(Linux)找到verdi

LD_LIBRARY_PATH:讓系統(tǒng)(Linux)能夠找到Verdi需要的庫文件.so(靜態(tài)庫),.a(動態(tài)庫),.tab(表格文件).

(二)VCS產(chǎn)生Verdi波形

[1] 使用Verilog系統(tǒng)函數(shù),在tb****文件中加入相應(yīng)的系統(tǒng)函數(shù)

initial begin
  $fsdbDumpfile("fifo.fsdb");
  $fsdbDumpvars(0);
end

[2] 使用UCLI、TCL接口(VCS使用tcl腳本)

global env
fsdbDumpfile "$env(demo_fifo).fsdb"
fsdbDumpvars 0 "top_tb"
run

(三) Verdi基礎(chǔ)使用

1 打開Verdi

(1)verdi -nologo

(2)makefile命令

2. nTrace使用

(1)查看包含的設(shè)計架構(gòu)

圖片

(2)查尋模塊實(shí)例化的位置

①在設(shè)計結(jié)構(gòu)中雙擊實(shí)例化模塊的名字->源代碼窗口高亮了模塊名

②再雙擊高亮的模塊名->看到在上層模塊中的哪一行被調(diào)用了

在nTrace中查找模塊和信號

圖片

查尋字符串

圖片

查看驅(qū)動信號相關(guān)

圖片圖片

圖片

(3) nSchema使用

查看原理圖

圖片

顯示原理圖各信號名

圖片

RTL : 在當(dāng)前的層次中查找某個信號

圖片

圖片

使用Fan-In Cone追蹤某個信號的驅(qū)動邏輯

①首先要用上面的辦法來查找信號②調(diào)用該工具:

圖片

產(chǎn)生partial hierarchy schematic

用來查看與選擇特定信號有關(guān)的邏輯/模塊

①選擇需要查看的信號(可以通過shift鍵來選擇多個信號)

圖片

(4) nState使用

查看狀態(tài)機(jī)視圖

圖片

查看狀態(tài)的執(zhí)行語句和轉(zhuǎn)移條件

圖片

查看某個狀態(tài)的執(zhí)行次數(shù)

圖片

圖片

(5) nWave使用
[1] 添加波形到nWave

①我們要打開.v文件

②打開nWave然后打開.fsdb波形文件③正式添加波形:

快捷鍵G或者:

圖片

圖片

在nTrace中選中信號后,鼠標(biāo)中鍵拖拽,或者ctrl+w進(jìn)行添加

自動加載,用-ssf 命令

verdi -sv -f filelist.f -top tb_top -ssf dut.fsdb &

[2] 查找某信號,添加到nWave中

①通過nTrave查找到該信號②通過上面的方法進(jìn)行添加或者通過get signal來查找

圖片

nWave波形窗口,快捷鍵 g 加載信號(Get signals)。在彈出的窗口選中需要添加的信號,點(diǎn)擊滾輪選擇需要添加信號的位置,也可在代碼中(nTrac界面)選中信號 Ctrl+W 將信號加載在波形中

[2--]查找信號

找到模塊里的某個信號,按?彈出find string對話框進(jìn)行查找。

圖片

[3] 給Group重命名,排序,以及調(diào)整信號位置

[1]重命名

圖片

[2]信號的拖拽:通過鼠標(biāo)中鍵進(jìn)行拖拽。

[3]縮小:快捷鍵z,或者100%匹配:F

[4]放大:左鍵拖選放大范圍shift+Z ctrl+滑輪:進(jìn)行放大或者縮小

[5]移動:鼠標(biāo)中鍵按住信號拖拽中鍵選擇位置:

圖片

[6]復(fù)制:ctrl+P,或者右擊信號,選擇復(fù)制的選項

[7]粘貼:ins鍵,或者右擊信號,選擇粘貼的選項(注意:可以通過鼠標(biāo)中鍵選擇粘貼的位置)

[8]刪除:delete

[4] 改變信號的顏色

第一步:Tools->preferences->waveform->viewoption->waveformpane->general->paint waveform with specified color/pattern

圖片

第二步:選中信號,然后按快捷鍵C改變信號顏色。

按C或者T修改信號或者波形顏色,按****T 更實(shí)用 ,每按一次顏色自動改變。不區(qū)分大小寫。

圖片

[5] 查看信號及變化
圖片

任意值:所有信號變化,一般會應(yīng)用到組合邏輯的指示信號信號沿:用于查找有效指示信號,比如使能信號總線值:主要是用來查找數(shù)據(jù)信號模擬值:查看比如函數(shù)發(fā)生器產(chǎn)生的正弦波信號進(jìn)制之間的轉(zhuǎn)換:

[6] 進(jìn)制之間的轉(zhuǎn)換
圖片
[7] 符號數(shù)之間的轉(zhuǎn)換
圖片
[8] 狀態(tài)寄存器顯示為狀態(tài)名字

nTrace:

圖片

或者nWave:

圖片

[9] 通過移除關(guān)聯(lián),從狀態(tài)機(jī)名字恢復(fù)到原來的進(jìn)制顯示

圖片

可以看到,我們打開過狀態(tài)機(jī)視圖之后,我們也就可以在狀態(tài)名和進(jìn)制之間轉(zhuǎn)換了:

圖片

[10] 通過邏輯操作創(chuàng)建新信號
圖片
圖片
[11] 如何添加marker

shift+M。為方便波形定位,按鍵shift+M使用mark功能標(biāo)記一下,可以自定義名稱和顏色,方便查找。

圖片

[12] 總線操作:
圖片
圖片
[13] 如何查找信號的某個值、某個值跳轉(zhuǎn)到某個值
圖片圖片圖片
[14] 如何對比兩個波形
圖片
[15] 顯示信號全路徑

按 **=H=** 顯示波形信號全路徑,再按**H**撤銷。不區(qū)分大小寫。

圖片

[16] 對信號的簡單操作

點(diǎn)擊波形窗口,選中信號,使用Delete刪除信號。選中信號,使用Ctrl+p復(fù)制選中的信號,然后使用insert按鍵插入,粘貼的位置由黃線所在位置決定。

[17] 移動波形窗口信號的位置

使用滾輪在波形窗口選中信號,然后拖到代碼窗口即可查看選中波形的代碼邏輯

[18] 放大縮小

Z:Zoom In;z:Zoom Out;f:Zoom All

[19] 顯示狀態(tài)機(jī)的跳轉(zhuǎn)

選中狀態(tài)機(jī)狀態(tài)的波形,在nWave窗口選中Tools>Bus Contention>打開狀態(tài)機(jī),(關(guān)閉), 返回查看波形已經(jīng)變?yōu)闋顟B(tài)的名稱。 補(bǔ)充:選擇具有狀態(tài)機(jī)的模塊選中,然后在主工具欄選擇Tools>Extract interative FSM

圖片

點(diǎn)擊OK,然后點(diǎn)擊下面的狀態(tài)機(jī),即可看到狀態(tài)的跳轉(zhuǎn)。

圖片

[20] 參考信號數(shù)值

選中Source>Active Annotation即可看到每一個信號,參數(shù)的數(shù)據(jù)顯示。

[21] 新建組并對組重命名

將黃線放到最后一行,添加信號即可新建一個信號組。然后鼠標(biāo)選中右鍵即可進(jìn)行相關(guān)操作,也可以選中一個模塊,直接Ctrl+4即可將接口信號加入波形窗口。

[22] Signal Event Report統(tǒng)計

統(tǒng)計出某個信號在特定時間段內(nèi)的跳變的次數(shù)。

按鼠標(biāo)滑輪中建,添加一條mark標(biāo)記線用于選擇統(tǒng)計區(qū)間。

View -> Signal Event Report

圖片

Rising:指的是指定Marker時間段內(nèi)上升沿數(shù);

Falling:指的是指定Marker時間段內(nèi)下降沿數(shù);

=備注:利用Logical Operation和Signal Event Report可以統(tǒng)計非連續(xù)有效信號=

[23] Waveform Compare比較波形

nWave提供了一種綜合比較自動比較不同結(jié)果的能力。在比較完成后,nWave以圖形方式顯示波形窗格中的任何不匹配,然后可以通過每個不匹配來分析差異。

Tools -> Waveform Compare

圖片

(四) Verdi使用技巧

1、連續(xù)信號有效數(shù)量的測量

[1] 下面分享一些在實(shí)際做項目過程中verdi在debug時的小技巧:連續(xù)信號有效數(shù)量的測量。

如下圖所示,clk是輸入時鐘信號,data_enable_in是輸入數(shù)據(jù)有效標(biāo)志信號,y_in則是輸入數(shù)據(jù)。在debug的時候,有時我們想要知道白色光標(biāo)和黃色光標(biāo)時間內(nèi)有多少個連續(xù)有效的數(shù)據(jù)y_in。我們該如何做到呢?

圖片

一般可以使用以下3種方法:

方法1:最直接也是最笨的辦法,當(dāng)然是手動去數(shù),1、2、3…;如果該時間段內(nèi),數(shù)據(jù)量較少,很快就可以數(shù)出來了。當(dāng)數(shù)據(jù)量較多時,只要你有足夠的耐心和時間,有時還需要一副好眼睛,最終也是可以得到正確的結(jié)果。不過效率非常低下,比較麻煩的是還容易數(shù)錯。

方法2:如果已知時鐘周期(本例子中clkp=6.736ns),則可以計算該時間段內(nèi)時鐘個數(shù)來獲知數(shù)據(jù)量;上面例子的圖中兩個光標(biāo)之間的時間差delta=188.608ns,delta/T=28,因此就是28個數(shù)據(jù)了。是不是要比直接用手動數(shù)快很多了?這個辦法雖然準(zhǔn)確,但是每次都要計算一次,如果需要頻繁的獲知不同時間段內(nèi)的有效數(shù)據(jù)還是太麻煩了一點(diǎn)。

方法3:本文重點(diǎn)要介紹的方法。該方法是通過把時鐘周期設(shè)置為時間單位,這樣兩個光標(biāo)之間的時間差就是該段時間內(nèi)的有效數(shù)據(jù)量了。具體操作方法如下:

如下圖用鼠標(biāo)點(diǎn)擊1,會彈出對話框;點(diǎn)擊2位置倒三角形,下拉選項中選時鐘周期單位是ns;然后再把timeunit 改為clock周期6.736ns,點(diǎn)擊OK.

圖片

再看delta顯示出來的值,已經(jīng)變成28了,即為我們要的數(shù)據(jù)量了。

圖片

這個方法對于一段時間內(nèi)的連續(xù)有效數(shù)據(jù)來說,應(yīng)該是最簡單有效的獲取數(shù)據(jù)個數(shù)的方法了。任意改變兩光標(biāo)的距離或位置,都很直接的得到該段時間內(nèi)的連續(xù)有效數(shù)據(jù)量。該方法在debug過程中常常會用到,請大家善加利用。

[2]另外還有一個比較有效的辦法是利用verdi的nWave里面的Signal Event Report 功能。該方法雖然稍顯麻煩,但善于利用,也可以變得非常好用。方法如下圖:

a.鼠標(biāo)點(diǎn)擊選中clk 這個信號;b.點(diǎn)擊view菜單,選擇下拉菜單里面的SignalEvent report,就會彈出對話框;c.進(jìn)度條往后拖,會看到Falling#這一欄顯示的數(shù)據(jù)28就是我們要的數(shù)據(jù)量了。

圖片

以上就是一段時間內(nèi)連續(xù)有效數(shù)據(jù)的幾個測量方法。debug的時候方法3最簡單便捷,應(yīng)用頻率也較高;但是其他幾個方法在特定的場景下也可以發(fā)揮出自己的作用,需要根據(jù)實(shí)際debug的時候靈活應(yīng)用。

[2]網(wǎng)格法

點(diǎn)擊菜單里面的view選項,選擇Grid Options,如下圖所示:

圖片

選中選項Grid on 以及選項Grid Counter with Start Number,如下圖所示,點(diǎn)擊Apply或者OK之后,就可以看到波形里面出現(xiàn)了網(wǎng)格,最下面有數(shù)字出現(xiàn)。這種方法還有一個好處是鼠標(biāo)左鍵點(diǎn)到CLK信號的任意位置,計數(shù)都是從新的地方開始,具有很強(qiáng)的靈活性。

圖片

[4] 自動添加計數(shù)器:

右擊CLK信號,選擇Add Counter Signal by,選擇上升沿、下降沿、任意沿中的一個,就會自動產(chǎn)生一個16進(jìn)制的計數(shù)信號,不過它的計數(shù)起點(diǎn)是從CLK的0時刻開始,不能選擇任意時刻,所以缺乏靈活性。

圖片

關(guān)于方法3和方法4,更推薦方法3網(wǎng)格法,看起來很強(qiáng)大,大家可以繼續(xù)探索探索。

[5]打開路徑下的verdi.cmd記錄了上一次的全部動作。如果verdi意外關(guān)閉,可以使用verdi -play verdi.cmd來復(fù)原。

[6]可以給clk的上升沿打上標(biāo)記(好像叫l(wèi)abel),在兩個光標(biāo)之間會顯示標(biāo)記的個數(shù),也就是周期數(shù)。

2、非連續(xù)有效信號量測方法

實(shí)際debug過程中,更常遇到的場景是 非連續(xù)有效的信號 ,如下圖所示:CLK并不是在每個時刻都是有效的,這時我們又該如何比較快速準(zhǔn)確的獲知某個時間段內(nèi)有效信號(CLK)個數(shù)呢?

圖片

跟獲取連續(xù)有效信號個數(shù)一樣,如果某個時間段內(nèi)有效信號個數(shù)較少(比如少于10個),直接手動數(shù)就可以了。當(dāng)有效信號toggle次數(shù)比較多時,肉眼無法快速看出數(shù)量的時候,我們可以利用Verdi nWave里面的Logical operation 和Signal Event report 這兩個功能來實(shí)現(xiàn)。

對于非連續(xù)有效數(shù)據(jù)傳輸,通常會有一個信號來標(biāo)志哪筆數(shù)據(jù)是有效的,如上圖中的valid_in信號為1時表示data_in數(shù)據(jù)有效。利用這個標(biāo)志信號跟時鐘進(jìn)行“與”操作,就得到一個新的時鐘。這個新的時鐘只有在數(shù)據(jù)有效時才有,在數(shù)據(jù)無效時被遮掉了。再通過Signal Event report獲知指定時間內(nèi)新的時鐘個數(shù),就可以知道有效數(shù)據(jù)的個數(shù)了。

具體操作步驟如下:

(1).鼠標(biāo)選中時鐘信號clk和數(shù)據(jù)有效標(biāo)志信號valid_in;(2).點(diǎn)開nWave 菜單里面的Signal,再選擇下拉菜單里的Logical Operation,如下圖:

圖片

(3).在彈出的對話框里面,如下圖所示,確認(rèn)Expression里的信號操作是”&”;把Name 改成valid_in_clk;然后點(diǎn)擊Create/Modify按鈕;

圖片

再回來看波形,如下圖所示,就會發(fā)現(xiàn)多了一個信號valid_in_clk,這個信號就是我們需要的新時鐘信號。

圖片

(4)接下來就是Signal Event Report閃亮登場了。選中valid_in_clk,然后在View下拉菜單里面選Signal Event Report。如下圖所示,在彈出的對話框里,找到Falling#這一列,里面列的數(shù)字16就是我們指定的時間段內(nèi)有效的數(shù)據(jù)個數(shù)了。

圖片

如果還是半信半疑的同學(xué),可以手動數(shù)一數(shù),看看Logical Operation加Signal Event Report這套組合拳的結(jié)果是否正確。

3、搜索查找

Verdi提供了很強(qiáng)大的搜索查找功能,充分利用好這些功能在IC設(shè)計/驗(yàn)證過程中可以大大提高debug 效率。下面我們就結(jié)合實(shí)際應(yīng)用來介紹一下Verdi中常用的搜索查找功能以及一些使用技巧。

[1] 數(shù)值搜索、上升沿和下降沿搜索

進(jìn)行數(shù)值搜索、上升沿和下降沿搜索

圖片

選中信號,按n向后搜索,N向前搜索;或者按左右小箭頭進(jìn)行查找搜索。例如:

數(shù)值搜索:

圖片

上下沿搜索:

圖片

[2] 層次瀏覽器窗格中尋找實(shí)例(instance)

在利用 Verdi debug時,首先需要找到我們負(fù)責(zé)模塊的實(shí)例(instance),再選擇相應(yīng)的信號來觀察它們的行為來debug。當(dāng)設(shè)計很龐大時,要找到底層的一個小模塊,如果用鼠標(biāo)從 top一層一層的往下點(diǎn),效率會比較低;又或者我們只負(fù)責(zé)了一個小模塊,對整個設(shè)計的層級關(guān)系并不清楚的時候,找到我們的底層設(shè)計會變得非常困難。

這時,只要我們知道底層模塊的實(shí)例名,就可以利用Verdi的“Show Navigation Text Field”功能快速查找了。操作方法如下圖,

a)在Verdi的層次瀏覽器窗格(Verdi界面的左部)點(diǎn)右鍵,彈出菜單里選“Show Navigation Text Field”或快捷鍵“Ctrl+S”

b) 在輸入對話框里輸入相應(yīng)的實(shí)例名,再點(diǎn)右邊的搜索按鈕就可以了。

圖片

圖片

**[3] **搜索源代碼

源代碼窗格里提供了三種搜索指令,功能各不相同,用來應(yīng)付不同的使用場景。

1)Find scope

Find scope適用于整個chip里面的查找。前面提到的應(yīng)用場景如下:

A)Source –> find scope或者 按shift+S

B)在彈出對話框里Scope Type選module

Filter內(nèi)填要找module關(guān)鍵字;Instance list 里面選擇一個,點(diǎn)Go To,source code就會打開該module。

圖片

另外,對話框最下面列出了整個設(shè)計中找到的個數(shù),可以知道該module被instance次數(shù)。

2) Find Signal/Instance/instport

這個指令可以查找指定模塊內(nèi)的信號、實(shí)例或輸入輸出端口。這個指令的好處是可以把要查找的內(nèi)容都列出來,想看哪一個就用鼠標(biāo)點(diǎn)一下,就會切換到源代碼窗格對應(yīng)位置。當(dāng)模塊內(nèi)要查找的signal(instance or input/output port)比較多時,可以快速的找到想看的signal。

操作方法如下:

source –> Find Signal/Instance/instport 或者shift+A

選擇要查找的類型:signal, instance or instport

輸入框里面輸入信號名,點(diǎn)Find按鈕,下面會列出所有找到的信號,點(diǎn)擊某個信號,就會到達(dá)source code 里面對應(yīng)的信號

圖片

3) find string

Find string應(yīng)該是debug 過程中使用頻率最高的查找指令了。只要在輸入框里面輸入部分或全部要查找的字符串,再點(diǎn)一下find 按鈕就可以了。

這個指令可以在當(dāng)前文檔(current File)或者全部文檔(All file)里面查找,因?yàn)樽址檎移ヅ涞帽容^多,要根據(jù)需要選擇在當(dāng)前文檔或全部文檔查找,以提高查找效率。

因?yàn)槭褂妙l率高,Verdi也很貼心的在默認(rèn)工具欄里放置了Find string的輸入窗口,如下:

圖片

輸入欄輸入字符串有幾種方法

(1)手動輸入,好處是可以只輸入部分字符,不用全部輸入信號名(2)點(diǎn)擊信號,按中鍵拖入輸入欄,然后點(diǎn)向上或向下查找,找同名信號(3)點(diǎn)擊信號,按快捷鍵”Ctrl+F”,信號名就會自動輸入到輸入欄。這個快捷鍵很好用。

圖片

[4] nWave里面的信號追溯源代碼

Debug過程中,往nWave 里添加信號后,查看了信號波形,如果看到異常往往要回頭看一下源代碼。如果一時找不到了,find string當(dāng)然可以找得到,但是需要輸入一串字符,可能就不那么樂意了。

其實(shí)Verdi很貼心,可以直接把nwave里面的波形拖到nTrace里面,可以快速的找到要找的信號。

操作方法:nWave里面選擇信號,如out_den。按住中鍵,直接拖到source code plane,然后放開,就會顯示你要找的信號了

圖片

上述內(nèi)容介紹了Verdi常用的幾種搜索查找功能和技巧。希望對大家有幫助,debug效率更上一個檔次。如果你有什么好想法,也歡迎后臺留言一起討論。

4、總線拆分

分析波形的時候有時候需要把一個多比特的bus拆分成幾個位寬較小的bus,以方便觀察數(shù)值。

右鍵/Signal -> Bus Operations -> Expand as Sub-bus

圖片

將32bit分割為4個8bit bus.

圖片

分割結(jié)果:

圖片

5、統(tǒng)計

統(tǒng)計出某個信號在特定時間段內(nèi)的跳變的次數(shù)。這個結(jié)合下一節(jié)的邏輯運(yùn)算,可以把一些復(fù)雜的波形分析用直觀的形式表現(xiàn)出來。還是右鍵點(diǎn)擊波形窗口左邊的某個信號名字,在彈出菜單中選擇Signal Event Report。

圖片

在彈出的對話框中,可以關(guān)注感興趣的內(nèi)容,比如Rising#,指的是默認(rèn)Markers標(biāo)定的時間段內(nèi),該信號的上升沿次數(shù)。這樣就不用很辛苦的放大波形,用眼睛一個一個去數(shù)了。

圖片

6、邏輯運(yùn)算

在一個頻繁變化的信號、尤其是多比特的bus信號中觀察是否出現(xiàn)了某個值,有時候可以通過搜索來追蹤。也可以通過對現(xiàn)有信號執(zhí)行的邏輯操作創(chuàng)建新信號,或者搜索信號值。但是如何一目了然地看到呢?右鍵/Signal -> Logical Operation,通過新建一個信號,該信號是待觀察信號的某種邏輯表達(dá)式。

數(shù)值搜索

圖片

邏輯操作

例如:兩信號進(jìn)行與運(yùn)算,也可以進(jìn)行其他運(yùn)算。

圖片

相與之后結(jié)果:

圖片

7、manage.rc

manage.rc可以管理多個rc文件,實(shí)現(xiàn)每次啟動Verdi都能載入預(yù)設(shè)的設(shè)置,同時不受上次啟動Verdi后保存的設(shè)置影響。還可以保存本次使用過程中更改過的設(shè)置,以便更新預(yù)設(shè)設(shè)置。這個略微有些復(fù)雜。在啟動Verdi時,需要加個參數(shù)。

-managercFile some_path/manage.rc

這個manage.rc的內(nèi)容大概是這樣的:

@Manage rc file Version 1.0
[File]
default_file = ~/load_only.rc
working_file = ./novas.rc


[Load]  
default_file


[Save]  
working_file = MODIFIED_KEY

例子中作為只讀的default_file文件,可以放一些自己習(xí)慣或者喜歡的設(shè)置。比如tab等于4還是8,各種界面的字體,以及其它一些每次啟動Verdi都希望生效的設(shè)置。working_file用來保存本次使用更改的設(shè)置,如果有想長期預(yù)設(shè)的,可以從中copy出來到default_file,這樣方便升級迭代。

通過如下常規(guī)的參數(shù)調(diào)用

-rcFile some_path/some.rc

也可以讀入一個rc文件實(shí)現(xiàn)類似預(yù)設(shè)功能,不過這種方法的缺點(diǎn)是這個rc文件會被當(dāng)前調(diào)用覆蓋。后果就是下次啟動的Verdi會帶有上次使用的痕跡,比如打開波形文件的目錄位置。用的次數(shù)多了,不勝其煩。干脆用manage.rc來徹底的解決。

另外,親測命令行鍵入 -managercFile 的方式也可以通過設(shè)置環(huán)境變量來替代,如在 .cshrc 中添加

setenv NOVAS_MANAGE_RC_FILE some_path/manage.rc

8、Trace代碼過程中波形窗口保持前置

不知道從哪個版本開始,Verdi默認(rèn)打開了Active Detection,Trace窗口在trace過程中會被激活前置,造成波形窗口被遮擋,也是不勝其煩。當(dāng)然這也屬于個人喜好問題。

圖片

那如何保持波形窗口始終在前呢?首先需要在Trace下拉菜單中取消Active Detection,然后點(diǎn)擊波形窗口右上角的Keep as Top。

圖片

這樣在代碼Trace時,波形始終可以看到,方便debug。Active Detection可以在rc文件中預(yù)設(shè)。Keep as Top還沒有找到預(yù)設(shè)的方法。

9、Parameter 提示的默認(rèn)進(jìn)制

在Verdi中,如果把鼠標(biāo)放到Verilog代碼中的parameter上,可以提示其值是多少。因?yàn)楦鞣N原因,有時候會以二進(jìn)制的形式提示,如果這個parameter是32比特,那把這個二進(jìn)制看明白也太費(fèi)眼睛了。簡單的話還是16進(jìn)制比較易讀。這個可以在下圖中的Parameter Value Radix中設(shè)置。當(dāng)然也可以把它加入rc文件進(jìn)行預(yù)設(shè)。

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • VCS
    VCS
    +關(guān)注

    關(guān)注

    0

    文章

    78

    瀏覽量

    9581
  • Verdi
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    8755
  • 芯片驗(yàn)證
    +關(guān)注

    關(guān)注

    5

    文章

    34

    瀏覽量

    47180
  • DEBUG
    +關(guān)注

    關(guān)注

    3

    文章

    89

    瀏覽量

    19849
收藏 人收藏

    評論

    相關(guān)推薦

    請教VCS和verdi怎么聯(lián)合使用

    最近要用到VCS仿真后生成FSDB文件,然后在Verdi中進(jìn)行自動偵錯,請問我怎么安裝Verdi這個軟件以及如何啟動license,并且怎么寫testbench文件才可以產(chǎn)生FSDB文件。請懂得人給我支支招,我也是剛開始學(xué)習(xí)這個軟件的使用。
    發(fā)表于 01-22 14:53

    Verdi工具怎么安裝?如何破解?

    本文介紹Verdi工具的安裝及破解過程
    發(fā)表于 06-21 07:15

    VCS+Verdi如何安裝?怎么破解?

    VCS+Verdi如何安裝?怎么破解?
    發(fā)表于 06-21 06:11

    VCS仿真卡住,為什么無法生成verdi波形文件呢?

    在make com編譯成功后,terminal卡住了一直沒有反應(yīng),這是什么情況有大佬知道嗎?VCS仿真卡住,為什么無法生成verdi波形文件呢?
    發(fā)表于 06-21 08:14

    怎么修改verdi軟件波形背景顏色?

    畢業(yè)設(shè)計中用到verdi的波形,需要波形窗口的背景最好為白色,默認(rèn)為黑色。怎么修改設(shè)置,謝謝在線等,經(jīng)過半天的嘗試,和各位大神的請教,終于搞定了,拿出來和各位大神分享,希望更多的人參與到分享中來,謝謝[/td]
    發(fā)表于 06-23 10:32

    Verdi 54v7 LINUX

    Verdi 54v7 LINUX
    發(fā)表于 03-25 13:19 ?9次下載

    verdi-SP2軟件下載

    本文檔內(nèi)容提供了verdi-SP2軟件免費(fèi)下載,供有需要的朋友參考
    發(fā)表于 04-19 17:28 ?7次下載

    Verdi使用技巧 連續(xù)有效信號量測方法

    Verdi自動化調(diào)試系統(tǒng)是Verdi SoC調(diào)試平臺的核心,它支持對所有設(shè)計和驗(yàn)證流程進(jìn)行全面的調(diào)試。它包括強(qiáng)大的技術(shù),幫助您理解復(fù)雜和不熟悉的設(shè)計行為,讓困難和乏味的調(diào)試過程自動化,并能讓多樣和復(fù)雜的設(shè)計環(huán)境一致化。
    的頭像 發(fā)表于 05-15 15:46 ?9803次閱讀
    <b class='flag-5'>Verdi</b>使用技巧 連續(xù)有效信號量測方法

    如何通過自動化腳本實(shí)現(xiàn)Questasim和Verdi的聯(lián)合仿真

    Verdi是用來仿真以及debug波形的工具,但它不能夠用來編譯verilog和systemverilog文件,所以需要借助第三方EDA工具去做編譯的工作。 這里主要分享一下使用questasim
    的頭像 發(fā)表于 06-13 17:00 ?4458次閱讀
    如何通過自動化腳本實(shí)現(xiàn)Questasim和<b class='flag-5'>Verdi</b>的聯(lián)合仿真

    分享《verdi用法小結(jié)》的pdf

    分享Verdi用法小結(jié)的pdf文檔
    的頭像 發(fā)表于 02-18 20:21 ?1142次閱讀
    分享《<b class='flag-5'>verdi</b>用法小結(jié)》的pdf

    Verdi使用技巧(三)

    前一段時間IC君比較忙,沒有更新文章,最近稍微閑下來點(diǎn),繼續(xù)更新Verdi相關(guān)的文章。
    的頭像 發(fā)表于 04-25 14:44 ?4467次閱讀
    <b class='flag-5'>Verdi</b>使用技巧(三)

    全網(wǎng)最實(shí)用的Verdi教程2

    Verdi是一個功能強(qiáng)大的debug工具,可以配合不同的仿真軟件進(jìn)行debug,很多企業(yè)常用VCS+Verdi或者Xcelium/xrun+Verdi的方式進(jìn)行代碼的仿真與檢查。Verdi
    的頭像 發(fā)表于 05-05 14:53 ?7920次閱讀
    <b class='flag-5'>全網(wǎng)</b>最實(shí)用的<b class='flag-5'>Verdi</b>教程2

    全網(wǎng)最實(shí)用的Verdi教程3

    Verdi是一個功能強(qiáng)大的debug工具,可以配合不同的仿真軟件進(jìn)行debug,很多企業(yè)常用VCS+Verdi或者Xcelium/xrun+Verdi的方式進(jìn)行代碼的仿真與檢查。Verdi
    的頭像 發(fā)表于 05-05 14:53 ?5431次閱讀
    <b class='flag-5'>全網(wǎng)</b>最實(shí)用的<b class='flag-5'>Verdi</b>教程3

    Verdi環(huán)境配置、生成波形的方法

    Verdi是一個功能強(qiáng)大的debug工具,可以配合不同的仿真軟件進(jìn)行debug,很多企業(yè)常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式進(jìn)行代碼的仿真與檢查
    的頭像 發(fā)表于 05-29 09:48 ?3391次閱讀
    <b class='flag-5'>Verdi</b>環(huán)境配置、生成波形的方法

    Verdi連續(xù)波激光器-Coherent

    描述: Verdi系列激光器,是基于OPSL專利技術(shù),是高功率的532nm綠光激光器。常用于鈦寶石激光器泵浦、全息、干涉、冷原子等領(lǐng)域。 Verdi系列激光器,是久負(fù)盛名的激光器,具有非常出色
    的頭像 發(fā)表于 06-30 09:47 ?487次閱讀
    <b class='flag-5'>Verdi</b>連續(xù)波激光器-Coherent