有關Verdi編譯和FSDB存儲的常見問題解答

  • Q1。存儲信號後,我可以看到除庫單元格外的所有信號的值。爲什麼NF顯示庫單元格中的信號?
    A.在運行VCS編譯之前,檢查是否設置了NOVAS_FSDB_SKIP_CELL_INSTANCE環境變量。如果是這種情況,則在此環境變量上使用unsetenv。

  • Q2。如何禁用FSDB並行轉儲?
    A.使用命令setenv FSDB_NO_PARALLEL 1禁用並行轉儲方案。

  • Q3。有沒有辦法跳過某些代不被vericom / Verdi解析?
    A.使用以下指令:

    `ifndef __VERDICOMP__
    
       (在此處插入需要由vericom / Verdi跳過的代碼)
    
    `ENDIF
    

    此代碼由其他工具解析,但不是vericom / Verdi,因爲在Verdi編譯期間默認設置__VERDICOMP__,而不是在其他工具編譯期間。請注意,它是一個“IF NOT DEFINED”結構。另請注意,宏由雙下劃線組成。

  • Q4。如何將MDA和Memories轉儲到FSDB文件中?
    A.請參閱VERDIHOME/doclinkingdumping.pdfVERDI_HOME/doc下的linking_dumping.pdf文件中有關 fsdbDumpvars和$ fsdbDumpMDA的文檔
    本文檔提供了轉儲信號和MDA的各種選項。

  • Q5。如何在純VHDL和VHDLtop MX設計中轉儲FSDB文件?
    A.在您的頂級VHDL中添加以下代碼,…

    第1步:使用work.novas.all; - 在VHDL代碼中添加novas.vhdl庫

    第2步:在VHDL代碼中添加以下過程

    FSDB_DUMP:進程

    開始

     fsdbDumpfile( “simulation.fsdb”);
    
     fsdbDumpvars(0,“:”);
    

    等待;

    結束過程;

    第3步:編譯$ VERDI_HOME / share / PLI / VCS / LINUX / novas.vhd以識別VHDL中的FSDB任務

    vhdlan novas.vhd-工作

    執行其餘的編譯步驟。

    這會在VHDL top MX設計下存儲VHDL和Verilog的所有信號。

  • Q6。仿真器在時間t檢測到未知,但是當我在Verdi中打開FSDB時,我沒有看到未知值被丟棄 - t。爲什麼?

    A.使用+ fsdb+glitch = 0運行時選項存儲未知數。

    請參閱Verdi文檔,瞭解使用’+ fsdb + glitch’和’+ fsdb + region’進行毛刺/區域調試。

  • Q7。如何將任務/函數中的信號值轉儲到類中的FSDB並在Verdi波形中查看?

    如果您使用的是VCS模擬器,那麼在debug_access + dmptf編譯時選項和+函數中需要+ dmptf將任務/函數轉儲到FSDB / VPD中

    調試任務/功能必須使用+ dmptf和+函數。

    從2017.12開始,VCS版本+所有選項以及-debug_access也包括dmptf選項。

  • Q8。如何將UVM事務和信號轉儲到同一個FSDB文件中?

    A.如果在源代碼中調用$ fsdbDumpfile(“dut.fsdb”)函數來引導RTL信號,則事務將轉儲到默認的novas.fsdb文件中。

    爲了將事務和信號都指向同一個FSDB文件,刪除源代碼中的$ fsdbDumpfile或在運行時使用+ fsdb + filename選項將信號和事務定向到單個FSDB文件。

  • Q9。如何阻止或禁用在FSDB存儲期間不影響轉儲文件或模擬的某些無害警告消息?

    A.使用以下2個選項在FSDB轉儲期間禁用無害警告消息。

       1. + fsdb + no_msg +
       2. + fsdb + no_warning
    

    有關這些內容的更多詳細信息,請參閱文檔。

  • Q10。如何將* Error * Module降級爲Warning?
    A.在vericom解析或調用Verdi時使用-error = noMPD選項以禁用以下重新定義模塊警告。此選項從2014.12開始實施。

    Error 模塊mod重新定義

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章