1 命令行選項
| 選項 | 說明 |
|---|---|
| -sv | 支持systemverilog語法 |
| +systemverilogext+.sv | 指定sv文件的后綴 |
| -ssv | 取消-v指定的library為lib cell |
| -ssy | 取消-y指定的library為lib cell |
| -ssz | 忽略`celldefine的compiler指令 |
| -top tb | 指定整個環境的top名稱為tb |
| -vc | 支持DirectC語法 |
| -f | 指定文件列表 |
| -ssf | 指定波形文件 |
| -wcfile | 使verdi可以識別filelist.f中 path/*.v這種寫法 |
2 查看圖形常用操作
2.1 顏色
| 操作 | 作用 |
|---|---|
| 快捷鍵c | 給選中的對象標記顏色 |
| nSchema菜單 -> Schematic -> All Objects to Default Color |
取消所有標記的顏色 |
| 主菜單(或nSchema菜單) -> Tools -> Preference -> Schematics -> Color/Font |
1. 在Color Theme處可以選擇主題顏色. 2. Type處可以設置特定元素的顏色和線型. 3. 右側選擇框, 選中"Automatic Font And Size", 讓inst名稱等字體自動放大/縮小 |
部分type名稱對應的元素
| Type | 說明 |
|---|---|
| Background | 背景 |
| Block Symbol | 例化的塊 |
| Normal Signal | 普通net |
| Pre Select | 鼠標懸停在元素上(還沒有選中)時 |
| Selected Set | 選中的元素 |
| Symbol Name | port名/inst名/inst.pin名等 |
| Symbol Port | port圖標/inst.pin圖標等 |
2.2 文本
| 操作 | 作用 |
|---|---|
| Ctrl+H | 復制當前選中對象的全路徑 |
2.3 電路
| 操作 | 作用 |
|---|---|
| 快捷鍵a | 調出搜索窗口, 在當前層次搜索Singal/Inst/Port/InstPort等 |
| 快捷鍵A | 調出搜索窗口, 在Hir層次搜索Singal/Inst/Port/InstPort等 |
| 工具欄D | 追查當前選中信號的Drive |
| 工具欄<- | 返回上一個視圖 |
| 菜單Tools -> NewSchematic -> FlattendWindow |
在新窗口查看選中信號的flatten視圖 |
| 菜單Tools -> NewSchematic -> Fan-in |
在新窗口查看選中信號的所有fanin |
| 菜單Tools -> Preferences... -> Schematics -> Select 在SelectSettings中選中 "AutoFitSelection" |
當在Find窗口選中某元素時, nSchema窗口中會自動把選中的元素縮放到合適尺寸 |
3 查看波形常用操作
| 操作 | 作用 |
|---|---|
| 快捷鍵f | |
| 快捷鍵Ctrl+w | 將電路圖中的信號送到波形窗口 |
| 鼠標左鍵單擊 | 將標尺1定位到當前時間點 |
| 鼠標中鍵單擊 | 將標尺2定位到當前時間點 |
| 快捷鍵x | 將標尺1和標尺2的相對位置固定(或解除固定) |
| 鼠標左鍵拖動 | 查看拖動范圍內的時間段 |
| 快捷鍵r | load信號列表文件signal.rc |
| 快捷健shift+s | 保存信號列表文件signal.rc |
| 菜單WaveForm.SetRadix.AddAliasFromFile | 從文件加載Aliasfile, 給信號值比如Tap.IR取別名, 文件格式見表格后面. |
Alias文件格式:
Intest 8'h18
Sample 8'h1B
Extest 8'h1C
4 查看force信息.
參考鏈接: http://www.lujun.org.cn/?p=4582
1). 在仿真參數中加入+fsdb+force選項(./simv +fsdb+force), 這時dump fsdb時就會得到force信息.
2). 使用verdi查看信號時, 如果該信號有force, 則波形上對應的時間點會有紫色箭頭.
向下箭頭表示當前時間有force應用到該信號.
向上箭頭表示當前時間有release應用到該信號.
3). 如果環境中force比較多, 可以把force信息生成一個報告文件:
fsdbreport xx.fsdb -find_forces -s "/*" -level 0 -o xx.txt
其中:
xx.fsdb : 是輸入的波形文件.
-find_force: 表示當前報告是要抓force.
-s : 指定查找force信息的層次, /*表示從最頂層開始查找.
-level : 指定向下查找的層次. 0表示查找-s指定的層次下所有的層次.
-o : 指定輸出文件名.
4). 報告文件的格式:
#/xx/xx/fsdbreport xx.fsdb -find_forces -s / -level 0 -o xx.force.txt
Time(1fs), /tb/FCLK
0, Forced, ^x, design
20, Forced, ^0, external
...
Time(1fs), /tb/interposer/BP_TCK
0, Forced, ^?, design
0, Forced, ^0, design
20, Forced, ^1, design
...
...
line1: 生成該報告文件的命令.
line2: force信號的層次
line3: force時間, force/release值.
5 自定義novas.rc文件
有時我們要把在圖形界面的設置固化到novas.rc中, 但novas.rc文件很長, 里面有很多選項, 並不容易找到某個設置對應哪個變量.
這時我們可以參考一個文件, 在打開verdi圖形界面的目錄下verdiLog/verdi.cmd, 這個文件記錄了對圖形界面的操作對應的命令.
比如, 在verdi圖形界面點擊:
nSchema菜單->View->Net Name,
用來在電路圖中顯示net名, 這時在verdi.cmd文件中會多出一行:
schSetOptions -win $_nSchema2 -localNetName on
可以得知net名稱在novas.rc中的配置項大約是localNetName,
打開novas.rc文件, 搜索, 果然有一個localNetName = False, 將它改為True.
下次再打開verdi看電路, 就可以發現net name就自動標記到電路上了.
