1. 程式人生 > 其它 >日常記錄(47)回顧

日常記錄(47)回顧

uvm的列印資訊有info、warning、error、fatal,只有info有資訊等級。

uvm的phase有build、connect、end_of_eleboration、start_of_simulation、run、extract、check、report。

只有build自頂向下,其它自底向上。run的phase在初始化為自底向上,但是執行模擬過程為並行。

通訊TLM有單向、雙向,阻塞、非阻塞等。使用port和export的主動方式,使用port和export。

被動方式使用analysis port的廣播方式(非阻塞),常用在監視器、計分板、覆蓋率等。使用write。

在uvm中獲取命令列指定的模擬引數,使用uvm_cmdline_processor類。

uvm的基類樹。

object類中包括copy、clone、print等方法,report_object中有uvm_report_*的方法,

component有create、set_config、build等方法。sequence_item也存在對應的方法。

verdi配合vcs操作,看波形fsdb檔案。

http://blog.sina.com.cn/s/blog_13f7886010102xqlu.html

使用vcs加入引數:-kdb -lca

原始的verdi編譯與開啟波形。

verdi -sv +v2k -f filelist.f

verdi中使用以下,然後load指定的fsdb檔案,然後開啟到dut對應的程式碼,使用ctrl+w將游標選中的訊號加入到波形中顯示。

verdi操作。https://blog.csdn.net/eyeloveuv/article/details/79287668

verdi -elab simv.daidir/kdb

  

vpd檔案生成與開啟。

在頂層中新增以下語句

initial begin
    $vcdpluson();
end

然後使用dve -vpd vcdplus.vpd開啟檔案,觀察波形。

約束命名。

針對必須的約束,constraint_name_valid。針對可能需要修改的約束constraint_name_rule,用於新增illegal形式。

uvm提供了do_*函式,用於使用者自行定義資料處理。

oop的思想在seq中:

seq中定義通用item,針對某專案繼承後使用專用的trans,然後上層是某模組的trans(usb),然後是dut等。

對default的程式碼覆蓋率跳過(waive),要求程式碼覆蓋率100%。
功能覆蓋率100%。

questasim

Mentor公司的ModelSim是業界優秀的HDL語言模擬軟體,

http://xilinx.eetrend.com/d6-xilinx/article/2010-07/878.html

本文來自部落格園,作者:大浪淘沙、,轉載請註明原文連結:https://www.cnblogs.com/bai2022/p/15840763.html