在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Verdi環境配置、生成波形的方法

sanyue7758 ? 來源:芯片掃地僧ICer ? 2023-05-29 09:48 ? 次閱讀

Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式進行代碼的仿真與檢查,Verdi使用情形主要是IC驗證工程師(Debug),IC設計工程師(Review)。總之,Verdi很重要,作為一名ICer要是不會用Verdi,確實說不過去。

一、Verdi環境配置

(一)公司 - 一般拿來直接用

1. 在芯片設計公司中,九成公司應該都配備了Verdi,一般都會放在公司服務器目錄的Tools目錄下,我們可以通過which命令查看任何公司購買的EDA Tools所在路徑,查看各種版本/對應文檔/配置等:

247adb8c-fd3e-11ed-90ce-dac502259ad0.png

2. 有些時候,我們需要切換Verdi版本,來滿足不同項目或其他需求,在.cshrc中配置 或 直接module load 對應Verdi版本,最后module list查看是否load成功。

24d32a4e-fd3e-11ed-90ce-dac502259ad0.png

(二)其他 - 需自己摸索配置再用 (考慮排版+代碼風格,直接上圖)

25303284-fd3e-11ed-90ce-dac502259ad0.png ? ?

二、配置波形文件“三方法”“八奇技”

FSDB(FastSignal Database)是Verdi支持的文件格式,用于保存仿真產生的信號波形。 據Verdi文檔說明,FSDB比標準的VCD格式節省磁盤空間,處理速度更快。

(一)常用“三方法”:

1. (最常用) 一般是在testbench(驗證環境,簡稱tb)中的top.sv文件里,創建個initial塊結合$fsdbDumpxxx()命令來配置:

2591cd28-fd3e-11ed-90ce-dac502259ad0.png

提醒:使用這種方法,vcs編譯前需要添加-debug_access選項。

2. (不常用) VCS添加編譯選項"+vcs+fsdbon":

這樣指定仿真過程生成.fsdb格式的波形,默認則保存成名為novas.fsdb的波形文件;

意的是,仿真過程會將整個design給dump下來,同時會自動添加 -debug_access 選項。

另外,配置過程中若出錯,首先檢查一下LD_LIBRARY_PATH是否配置對,目錄下有沒有Verdi需要的庫文件xxx.so(靜態庫),pli.a(動態庫),xxx.tab(表文件 for VCS)等,一般都是這里沒配對導致沒生成波形而報錯;

提醒:vcs+fsdbon和tb中用$fsdbdumpvar()選一種方式即可;

3. (不常用) 使用UCLI命令: UCLI:Unified Command Line Interface

UCLI其實就是vcs的命令交互模式,需要在編譯時加入參數 (-ucli) 以開啟ucli,否則ucli交互時只能使用簡單的'run'、'dump'、'quit'命令。

啟動方式例如:./simv -ucli

該方法與方法1基本一樣,均是使用fsdbDumpvars/fsdbDumpfile等命令,不同之處在于使用的方式和便捷程度,與方法1相比,該方法可以在不重新編譯的情況下,通過修改.ucli.cmd文件中的命令,來指定需要dump波形的模塊和層級,從而節省編譯帶來的資源消耗。

得注意的是,使用fsdbDumpvars/fsdbDumpfile等命令時,不需要像方法1使用時,前方使用符號: $。

執行仿真的過程中,通過./simv -ucli -i.ucli.cmd方式給入,.ucli.cmd(名字隨便取,但格式不能變)中存放命令舉例如下:

25aca94a-fd3e-11ed-90ce-dac502259ad0.png

提醒:使用這種方法,vcs編譯前需要添加-debug_access選項。

(二)常用命令“八奇技”(結合例子看容易理解):

1. $fsdbDumpon - 打開 FSDB dumping;

2. $fsdbDumpoff - 關閉 FSDB dumping; 上述兩個命令,一般搭配wait()函數使用,更加靈活,eg:

25e6bcfc-fd3e-11ed-90ce-dac502259ad0.png

表示之前未dump波形,直到等到o_xxx_cnt==1024時,才開始dump波形;

3. $fsdbDumpfile("fsdb_name", limit_size) - 指定dump文件;

fsdb_name - 表示指定的fsdb文件名,如"ip.fsdb"
limit_size - 表示dump波形的最大size(多少MB)- 可不配置

4. $fsdbDumpvars(depth,instance, "option=") - dump指定模塊的信號; 這個命令可以多次使用,但一般不使用多次,使用多次目的是:想用來dump不同instance的波形,想達到相同目的其實有更加靈活的方法 ——“建立dump_scope.list + $fsdbDumpvarsToFile()” (后面會介紹);

depth - 0 表示dump instance以下所有層級的信號(常用) - 1 表示只dump instance這一層的信號
instance -指定dump的hierarchy,如 dut.top.xxx
option - dump時可以選擇的一些選項:- 可不配置
"+mda" - 表示dump memory或者MDA(多維數據)的數據;
"+packedmda" - 表示dump 壓縮的memory數據;
"+functions" - 表示dump function和task里的信號;
"+all" -表示dump all;
"+Reg_Only" - 表示只dump reg類型的數據;
"+strength" - 表示開啟強力dump開關;
"+struct" - 表示dump struct數據(默認開);
"+power" - 表示dump power相關信號的數據(默認開);
"+fsdbfile" - 表示直接dump指定的hierarchy的fsdb文件名字,eg: 260aeed8-fd3e-11ed-90ce-dac502259ad0.png

5. $fsdbDumpMDA(depth, instance,"options") - dump指定模塊中的多維數組,內部參數含義同上; eg_1:如果想更方便,可直接什么參數都不配,即默認都dump

262e2efc-fd3e-11ed-90ce-dac502259ad0.png

6. $fsdbDumpSVA(depth, instance, "option") - dump指定模塊中的assertion,內部參數含義同上; eg_1:將該instance (top)下所有assert全部dump到SVA.fsdb中

26552746-fd3e-11ed-90ce-dac502259ad0.png

eg_2:如果想更方便,可直接什么參數都不配,即默認都dump

268425a0-fd3e-11ed-90ce-dac502259ad0.png

7.$fsdbAutoSwitchDumpfile(file_size,"fsdb_name",number_of_files,"log_file_name", "+fsdb+no_overwrite") - 波形過大/資源緊張情況,靈活使用拆分Dump波形很有用

file_size 波形文件大小限制,單位為MB,最小為10M,若值小于10MB則默認10MB;
"fsdb_name" 波形文件的名字,在實際加載波形時,文件名為fsdb_name_000.fsdb, fsdb_name_001.fsdb …;
number_of_files 最多可以加載多少個fsdb_size這么大的波形文件,如果寫為0,則默認沒有限制;
"log_file_name" 指定log文件的名字,log文件中會記錄每段波形的起始和中止時間; - 可不配置
"+fsdb+no_overwrite" 當number_of_files限制的個數達到時停止dump波形,反之,一旦超出限制,會從頭dump,這樣會一定程度上覆蓋掉起初的波形文件;- 可不配置

eg_1:單個波形文件為500MB,最大可以加載10個這么大的文件,每段波形的起始和中止時間記錄在fsdb.log中,并具備防overwrite的限制;

26ab07ec-fd3e-11ed-90ce-dac502259ad0.png

8. $fsdbDumpvarsToFile("./dump_scope.list"); - 將需要dump的hierarchy以及depth放到一個文件里吃進來,波形過大/資源緊張情況,靈活使用選取必要波形Debug; ./ - 表示當前路徑,也就是dump_scope.list要與top.sv在同一路徑,當然也可以靈活改變路徑; eg_1:dump_scope.list (0/1代表深度,用法通上述函數一致;#用于注釋)

26d11752-fd3e-11ed-90ce-dac502259ad0.png





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IC設計
    +關注

    關注

    38

    文章

    1297

    瀏覽量

    104030
  • EDA工具
    +關注

    關注

    4

    文章

    268

    瀏覽量

    31811
  • VCS
    VCS
    +關注

    關注

    0

    文章

    79

    瀏覽量

    9624

原文標題:Verdi環境配置、生成波形的“三方法”和“八奇技”

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請教VCS和verdi怎么聯合使用

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

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

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

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

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

    Verdi使用技巧 連續有效信號量測方法

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

    vcs和verdi的調試及聯合仿真案例

    若想用Verdi觀察波形,需要在仿真時生成fsdb文件,而fsdb在vcs或者modelsim中的生成是通過兩個系統調用$fsdbDumpfile $fsdbDumpvars來實現的。
    的頭像 發表于 09-22 15:01 ?8660次閱讀

    如何通過自動化腳本實現Questasim和Verdi的聯合仿真

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

    全網最實用的Verdi教程1

    過程中,常常用來調試(debug)一些錯誤的情況。Verdi既可以閱讀調試代碼,又可以查看波形,包括數字設計的波形和模擬設計的波形
    的頭像 發表于 05-05 14:49 ?1.7w次閱讀
    全網最實用的<b class='flag-5'>Verdi</b>教程1

    全網最實用的Verdi教程2

    過程中,常常用來調試(debug)一些錯誤的情況。Verdi既可以閱讀調試代碼,又可以查看波形,包括數字設計的波形和模擬設計的波形
    的頭像 發表于 05-05 14:53 ?8789次閱讀
    全網最實用的<b class='flag-5'>Verdi</b>教程2

    全網最實用的Verdi教程3

    過程中,常常用來調試(debug)一些錯誤的情況。Verdi既可以閱讀調試代碼,又可以查看波形,包括數字設計的波形和模擬設計的波形
    的頭像 發表于 05-05 14:53 ?5780次閱讀
    全網最實用的<b class='flag-5'>Verdi</b>教程3

    如何用vcs+verdi仿真Verilog文件并查看波形呢?

    我們以一個簡單的加法器為例,來看下如何用vcs+verdi仿真Verilog文件并查看波形
    的頭像 發表于 05-08 16:00 ?6479次閱讀
    如何用vcs+<b class='flag-5'>verdi</b>仿真Verilog文件并查看<b class='flag-5'>波形</b>呢?

    如何用vcs+verdi仿真Verilog文件

    我們以一個簡單的加法器為例,來看下如何用vcs+verdi仿真Verilog文件并查看波形。 源文件內容如下:
    的頭像 發表于 05-11 17:03 ?1931次閱讀
    如何用vcs+<b class='flag-5'>verdi</b>仿真Verilog文件

    淺析后仿波形處理

    我們知道,Verdi橫空出世,大大加速了數字設計驗證的debug的效率,verdi波形格式是fsdb,壓縮率高,逐步取代了VCD波形,但是有些芯片設計環節仍然需要VCD。
    的頭像 發表于 08-12 10:02 ?2321次閱讀
    淺析后仿<b class='flag-5'>波形</b>處理

    生成SPWM波形方法

    生成SPWM波形方法? SPWM波形產生是一種常見的數字信號生成技術,用于控制交流電子設備的輸出電壓或電流的形狀,使其接近正弦波。 SPW
    的頭像 發表于 02-06 13:52 ?3028次閱讀

    任意波形發生器中波形生成方法

    中,任意波形發生器都發揮著不可或缺的作用。本文將詳細探討任意波形發生器中波形生成方法,以期為相關領域的研究和應用提供參考。
    的頭像 發表于 05-29 17:13 ?927次閱讀

    PWM信號生成方法 PWM調制原理講解

    信號生成方法 PWM信號的生成方法多種多樣,主要包括以下幾種: 波形發生器 : 波形發生器是產生PWM信號的一種簡單直接的方式。 通過在波形
    的頭像 發表于 11-28 16:34 ?1407次閱讀
    主站蜘蛛池模板: 一区二区三区福利| 亚洲午夜日韩高清一区| 精品免费视在线视频观看| 久久久五月| 天堂最新版免费观看| 不卡一级毛片免费高清| 日韩专区一区| 一级视频在线观看| 亚洲一区二区视频在线观看| 一区二区免费视频| 国产成人精品高清免费| 狠狠躁夜夜躁人人爽天天miya| 色视频免费在线| 波多野结衣在线免费视频| 2021国内精品久久久久影院 | 人人骚| 中文天堂网| 台湾三级毛片| 午夜影院普通用户体验区| 国产精品va在线观看不| 久久频这里精品99香蕉久网址| 国产三级中文字幕| 国产网站在线免费观看| 在线www 天堂网在线| 国产91小视频在线观看| 激情婷婷六月| 精品卡1卡2卡三卡免费网站视频| 成人永久免费视频| 成人的天堂视频一区二区三区| 午夜影院入口| 久草资源站在线| 国产深夜福利在线观看网站| 日本黄视频在线播放| 成人精品第一区二区三区| 看草逼| 国产呦精品系列在线| 一道精品一区二区三区| 亚洲欧洲日韩综合| 性欧美大胆高清视频| 网www天堂资源在线| 天堂资源在线中文|