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

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

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

VCS+VERDI的reverse反向運行功能

sanyue7758 ? 來源:摸魚范式II芯片驗證之路 ? 2023-04-12 10:11 ? 次閱讀

背景

假設(shè)一種場景,在調(diào)試環(huán)境的時候,運行到15min的時候,環(huán)境出現(xiàn)bug,需要去debug。也許錯誤的第一現(xiàn)場并不是15min的時候,可能在14min30s-15min之間,那么如果正向執(zhí)行就需要14min30s以上。所以這個時候如果能夠直接反向運行到14min30s,就可以節(jié)省很多時間。就像jojo的奇妙冒險中吉良吉影的招式,敗者食塵一樣,逆轉(zhuǎn)時間

編譯選項

要實現(xiàn)這個功能,依賴于VCS和VERDI的聯(lián)合調(diào)試,所以在編譯的時候需要使用下面的指令

vcs-full64-sverilog-ntb_optsuvm-1.2-lca-kdb-debug_access+reverse

除了常規(guī)的選項以外,-kdb選項是用于生成kdb數(shù)據(jù)庫,支持verdi的聯(lián)合調(diào)試,而lca是kdb的依賴選項。

最后的-debug_access+reverse則是最關(guān)鍵的開關(guān),需要加上這個選項才是實現(xiàn)反向運行。

編譯完成以后,進(jìn)行仿真的時候,需要使用./simv -verdi,啟動仿真。這樣就能夠直接調(diào)用verdi進(jìn)行聯(lián)合仿真。

測試代碼

本次的測試代碼就是簡單的4行打印。

moduletest();
importuvm_pkg::*;
`include"uvm_macros.svh"

initialbegin
`uvm_info("a","hellouvm!",UVM_NONE)
`uvm_info("b","hellouvm!",UVM_NONE)
`uvm_info("c","hellouvm!",UVM_NONE)
`uvm_info("d","hellouvm!",UVM_NONE)
end

endmodule

reverse

啟動verdi之后,注意圖中紅色框框中的一排按鈕,這就是reverse功能的按鈕。從圖標(biāo)形狀來開,和聯(lián)合仿真的正向交互式仿真是一致,功能上他們其實也是對偶的。

476b2d46-d894-11ed-bfe3-dac502259ad0.png

reverse按鈕

如果你開起了reverse選項,但是仍然沒有出現(xiàn)這一排按鈕,那么就需要在tools下的perferences中,開啟reverse按鈕。

47797626-d894-11ed-bfe3-dac502259ad0.png

perferences

在perferences中的interactive debug下,找到reverse debug

47846f54-d894-11ed-bfe3-dac502259ad0.png

reverse

接下來可以在代碼中設(shè)置兩個斷點進(jìn)行測試。直接單擊代碼左側(cè)即可甚至斷點。和C的單步調(diào)試是一樣的,直接run就能在斷點處停止。

478d0362-d894-11ed-bfe3-dac502259ad0.png

設(shè)置斷點

我們跑到第九行的斷點,可以看到中間在七行停止了一次,最后在第九行停下來,6 7 8行的信息都已經(jīng)打印出來了。

47954478-d894-11ed-bfe3-dac502259ad0.png

前向運行

那么如果我們需要回到第七行,就可以直接進(jìn)行點擊下圖中的run reverse按鈕。

479ba9ee-d894-11ed-bfe3-dac502259ad0.png

run reverse

然后就能夠回到上一個斷點處

47a57f0a-d894-11ed-bfe3-dac502259ad0.png

當(dāng)然也可以,點擊旁邊的next reverse按鈕進(jìn)行反向單步運行

47afeefe-d894-11ed-bfe3-dac502259ad0.png

反向單步

就能夠從第九行回到第八行

47b68dcc-d894-11ed-bfe3-dac502259ad0.png

其他按鈕和這兩個類似,但是正向調(diào)試的反向版本。

本次分享了VCS+VERDI的reverse反向運行功能,可以將整個仿真反向運行,從而減少正向仿真的時間消耗。

當(dāng)然,這必須在VCS+VERDI的聯(lián)合調(diào)試下才可以,如果是VCS單獨仿真,dump波形,再使用VERDI離線調(diào)試就不能使用。而聯(lián)合仿真也會大幅度降低運行速度,所以推薦在早期debug驗證環(huán)境的時候使用。






審核編輯:劉清

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

    關(guān)注

    0

    文章

    78

    瀏覽量

    9565
  • Verdi
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    8750

原文標(biāo)題:聯(lián)合仿真VCS+VERDI+Reverse,你會嗎?

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

收藏 人收藏

    評論

    相關(guān)推薦

    請教VCSverdi怎么聯(lián)合使用

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

    怎樣去使用Makefile+VCS+Verdi做個簡單的Test Bench?

    怎樣去使用Makefile+VCS+Verdi做個簡單的Test Bench?有哪些操作步驟?
    發(fā)表于 06-18 06:28

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

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

    求大佬分享VCS/Verdi 2014或者2018版本的安裝包

    x求哪位好心大佬分享VCS/Verdi 2014或者2018版本的安裝包????最好還有相應(yīng)的安裝教程,跪謝?。。?!
    發(fā)表于 06-21 06:33

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

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

    請問如何更新bin/run.makefile以支持VCS+Verdi工具?

    如何更新bin/run.makefile以支持VCS+Verdi工具?
    發(fā)表于 08-11 10:08

    在Linux上用vcs+verdi對demo_nice進(jìn)行仿真沒有成功的原因?

    請教大神,我在Linux上用vcs+verdi對demo_nice進(jìn)行仿真,但是沒有成功 我是用hibrd.sdk把demo_nice編譯成.verilog文件的,其內(nèi)容如下 另外我還對tb
    發(fā)表于 08-12 08:07

    vcsverdi的調(diào)試及聯(lián)合仿真案例

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

    利用vcs+verdi仿真工具蜂鳥E200系列處理器仿真分析

    開源RISC-V Hummingbird E203(蜂鳥E203)的仿真工具是開源的iverilog,這里利用vcs+verdi仿真工具進(jìn)行仿真;
    的頭像 發(fā)表于 11-17 10:28 ?2730次閱讀

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

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

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

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

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

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

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

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

    如何用vcs+verdi仿真Verilog文件

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

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

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