前一段時間IC君比較忙,沒有更新文章,最近稍微閑下來點,繼續更新Verdi相關的文章。
Verdi提供了很強大的搜索查找功能,充分利用好這些功能在IC設計/驗證過程中可以大大提高debug效率。 下面我們就結合實際應用來介紹一下Verdi中常用的搜索查找功能以及一些使用技巧。
1 層次瀏覽器窗格中尋找實例(instance)
在利用 Verdi debug時,首先需要找到我們負責模塊的實例(instance),再選擇相應的信號來觀察它們的行為來debug。 當設計很龐大時,要找到底層的一個小模塊,如果用鼠標從top一層一層的往下點,效率會比較低; 又或者我們只負責了一個小模塊,對整個設計的層級關系并不清楚的時候,找到我們的底層設計會變得非常困難。
這時,只要我們知道底層模塊的實例名,就可以利用Verdi的“Show Navigation Text Field”功能快速查找了。 操作方法如下圖,
a) 在Verdi的層次瀏覽器窗格(Verdi界面的左部)點右鍵,彈出菜單里選“Show Navigation Text Field”或快捷鍵“Ctrl+S”
b) 在輸入對話框里輸入相應的實例名,再點右邊的搜索按鈕就可以了。
2. 搜索源代碼
源代碼窗格里提供了三種搜索指令,功能各不相同,用來應付不同的使用場景。
1) 查找范圍
Find scope適用于整個chip里面的查找。 前面提到的應用場景——尋找底層模塊,find scope 也可以很輕松的辦到,如下:
A) 來源 – >查找范圍
B) 在彈出對話框里Scope Type選module
Filter內填要找module關鍵字
Instance list 里面選擇一個,點Go To,source code就會打開該module
另外,對話框最下面列出了整個設計中找到的個數,可以知道該module被instance次數。
2) 查找信號/實例/輸入端口
這個指令可以查找指定模塊內的信號、實例或輸入輸出端口。 這個指令的好處是可以把要查找的內容都列出來,想看哪一個就用鼠標點一下,就會切換到源代碼窗格對應位置。 當模塊內要查找的signal(instance or input/output port)比較多時,可以快速的找到想看的signal。
操作方法如下:
源 –> 查找信號/實例/輸入端口
選擇要查找的類型:signal, instance or instport
輸入框里面輸入信號名,點Find 按鈕,下面會列出所有找到的信號
點擊某個信號,就會到達source code 里面對應的信號
3)查找字符串
Find string應該是debug 過程中使用頻率最高的查找指令了。 只要在輸入框里面輸入部分或全部要查找的字符串,再點一下find
按鈕就可以了。
這個指令可以在當前文檔(current File)或者全部文檔(All file)里面查找,因為字符串查找匹配得比較多,要根據需要選擇在當前文檔或全部文檔查找,以提高查找效率。
因為使用頻率高,Verdi也很貼心的在默認工具欄里放置了Find string的輸入窗口,如下:
輸入欄輸入字符串有幾種方法
(1)手動輸入,好處是可以只輸入部分字符,不用全部輸入信號名
(2)點擊信號,按中鍵拖入輸入欄,然后點向上或向下查找,找同名信號
(3)點擊信號,按快捷鍵”Ctrl+F”,信號名就會自動輸入到輸入欄。 這個快捷鍵很好用,大家要善加利用哦。
3. nWave里面的信號追溯源代碼
Debug過程中,往nWave 里添加信號后,查看了信號波形,如果看到異常往往要回頭看一下源代碼。 如果一時找不到了,find string當然可以找得到,但是需要輸入一串字符,可能就不那么樂意了。
其實Verdi很貼心,可以直接把nwave里面的波形拖到nTrace里面,可以快速的找到要找的信號。
操作方法:nWave里面選擇信號,如out_den
按住中鍵,直接拖到source code plane,
然后放開,就會顯示你要找的信號了
上述內容介紹了Verdi常用的幾種搜索查找功能和技巧。 希望對大家有幫助,debug效率更上一個檔次。 如果你有什么好想法,也歡迎留言一起討論。
-
IC設計
+關注
關注
38文章
1295瀏覽量
103919 -
瀏覽器
+關注
關注
1文章
1022瀏覽量
35330 -
源代碼
+關注
關注
96文章
2945瀏覽量
66730 -
Verdi
+關注
關注
0文章
22瀏覽量
8775 -
DEBUG
+關注
關注
3文章
93瀏覽量
19907
發布評論請先 登錄
相關推薦
評論