# Verdi 筆記 --- ## Introduction Verdi是一個業界常用的debug工具,通常會搭配Synopsys的VCS或是Cadance的NC來做simulation。有利於追蹤複雜的電路,以及查看各種Singal的變化。其功能多樣,包含了類比及數位設計的debug分析,並且具有DVE能進行coverage的驗證,也可以支援UVM的驗證。 下圖是Verdi具有的功能,主要是會吃以下三個檔案 1. Design的.v檔(Verilog) 2. test case的.v或.sv檔(System Verilog) 3. compiler產生的.fsdb檔(Wave)。  ## Shortcut Key 通常習慣上會使用 Windows > Hardware Debug Mode,但我習慣直接在開啟後使用快捷鍵 "Ctrl+Alt+H",Verdi就會直接叫出instance。 開出nWave後記得要load Signal才會有波型,也就是讀入fsdb檔。 在應用上,不會關閉Verdi介面,會在Verdi找到要改的電路,開gvim修改後,再重新reload一次。  ** 所有訊號在Wave和Design切換都可用滑鼠中鍵拖曳 ** > Code方面的快捷鍵 1. 重新Reload Design: shift+l 2. 搜尋訊號: / 3. 多選訊號: 按住ctrl+左鍵點選 4. 框選訊號: 左鍵按住,下拉框選 5. 拉訊號: ctrl+w (ctrl+4) 6. 顯示/關閉 當前數值: x > Wave方面的快捷鍵 1. 讀取fsdb: o 2. 讀取rc: r 3. 保存rc: shift+s 4. 打開找訊號視窗: g (不常用) 5. 標記訊號: shift+m 6. 顯示/關閉 訊號路徑: h/H 7. 選擇/隨機 訊號顏色: c/t 8. 框選訊號: 左鍵按住,下拉框選 9. 跳轉code: 雙擊singal > Search Signal方面的快捷鍵 1. 移動cursor到wave開頭: b 2. 移動cursor到wave結尾: e 3. 跟隨Wave falling 向前/向後: N/n 4. 放大/縮小 scale: Z/z 5. 放大訊號: 左鍵按住,框想放大的wave區間 6. cursor置中: yy 7. 全顯示: f > Tool Bar使用說明 1. 左一 資料夾圖示: 開檔案 2. 左二 Wave圖示: 開nWave 3. 左三 Gate圖示: 開nSchema (不常用) 4. 左四 Tree圖示: code處選某個訊號後,可以查看temporal Flow View (不常用) 5. 左九 綠底白色向上箭頭: 追某訊號的源頭 (階層跳轉,追端點的時候用) 6. 左十 綠底白色項下箭頭: 追某訊號的最底端 (階層跳轉,追端點的時候用) 7. 左十一 綠色左箭頭: 回上一動 (階層跳轉) 8. 左十二 綠色右箭頭: 回下一動 (階層跳轉) 9. 左十三 D字符號: Drive到上一級 (階層跳轉,最常使用) 10. 左十四 L字符號: Load到下一級 (階層跳轉,最常使用) 11. 左十五 綠園底白色向上箭頭: 找上一個出現的相同訊號 (同個階層) 12. 左十六 綠園底白色向下箭頭: 找下一個出現的相同訊號 (同個階層) 13. 左十七 籃底雙方框向上: 追上一層 (ckeck 連線使用) 14. 左十八 籃底雙方框向下: 追下一層 (ckeck 連線使用) 15. 右五 白色搜尋框: 將訊號抓置此處,可以搜尋當前階層出現的位置 16. 右四 搜尋圖示: 配合右五使用,向上搜尋 17. 右三 搜尋圖示: 配合右五使用,向下搜尋  ## Other Setting 1. 量測訊號寬度(時間): 利用滑鼠左鍵跟中鍵可以分別移動cursor跟Marker,兩者時間差會顯示在上方。 2. 設定選單: 選擇訊號,右鍵 > 可以叫出選單(Radix, Notation等常用功能) 3. 訊號Group: 拖曳訊號到最下面會自動產生新的Group 4. 切換Group: 滑鼠中鍵可以選擇Group 5. 重命名Group: 在Group的地方,右鍵 > Rename 7. 增加控掰分隔: 在Wave的地方,右鍵 > Add Blank,讓訊號分組看起來更清晰 ## Example https://blog.csdn.net/weixin_38055514/article/details/123487801 https://blog.csdn.net/qq_33300585/article/details/128949131
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up