作為UVM的用戶,我們需要相信在絕大部分情況下這些機制本身是沒有問題的。因此,從頂層獲得有效的調(diào)試信息就非常關(guān)鍵,比起潛入到內(nèi)部要高效得多。
UVM將不同機制的調(diào)試功能封裝成了命令行參數(shù)。在運行仿真的時候帶上這些參數(shù),就可以在仿真日志中打印出來對應(yīng)的詳細調(diào)試信息。本節(jié)將這些命令行參數(shù)都梳理出來,并附有仿真日志截圖。
(資料圖片僅供參考)
+UVM_CONFIG_DB_TRACE: 打開訪問Config_db的追蹤(tracing)功能,可以看到config_db的set和get操作在什么時間由什么組件發(fā)起。
+UVM_PHASE_TRACE:打開Phase執(zhí)行的追蹤功能,可以看到不同phase的執(zhí)行順序。
+UVM_OBJECTION_TRACE:打開Objection相關(guān)活動的追蹤功能,可以清晰地呈現(xiàn)出objection在運行中的狀態(tài)。
+UVM_VERBOSITY:設(shè)置打印信息的冗余程度,有效地控制不同重要性信息的打印和屏蔽。
除了命令行參數(shù),UVM還提供了很多內(nèi)置打印函數(shù)。這些函數(shù)可以在驗證環(huán)境中被調(diào)用,調(diào)用后會將對應(yīng)的數(shù)據(jù)結(jié)構(gòu)按照強可讀性的格式打印到仿真日志中,為環(huán)境調(diào)試工作提供極大的便利。
uvm_root::print_topology():打印整個驗證環(huán)境的組件拓撲結(jié)構(gòu)
uvm_component::print_config():打印當前組件可見視角下的所有配置資源信息
uvm_component::print_override_info():打印當前組件的工廠重載信息
uvm_factory::print():打印全局工廠中注冊的類型以及instance和type重載信息
uvm_factory::debug_create_by_type():打印工廠根據(jù)參數(shù)實際會創(chuàng)建的類型
uvm_port_base::debug_connected_to():打印當前端口連接的下游端口網(wǎng)絡(luò),包括port/export/imp
參考資料
[1] Accellera Systems Initiative. "Universal Verification Methodology (UVM) 1.2 Class Reference" (2014).
關(guān)鍵詞:
版權(quán)與免責聲明:
1 本網(wǎng)注明“來源:×××”(非商業(yè)周刊網(wǎng))的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責,本網(wǎng)不承擔此類稿件侵權(quán)行為的連帶責任。
2 在本網(wǎng)的新聞頁面或BBS上進行跟帖或發(fā)表言論者,文責自負。
3 相關(guān)信息并未經(jīng)過本網(wǎng)站證實,不對您構(gòu)成任何投資建議,據(jù)此操作,風(fēng)險自擔。
4 如涉及作品內(nèi)容、版權(quán)等其它問題,請在30日內(nèi)同本網(wǎng)聯(lián)系。