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

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

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

淺析UVM不同機制的調(diào)試功能

jf_78858299 ? 來源:芯片學(xué)堂 ? 作者: JKZHAN ? 2023-02-14 16:23 ? 次閱讀

作為UVM的用戶,我們需要相信在絕大部分情況下這些機制本身是沒有問題的。因此,從頂層獲得有效的調(diào)試信息就非常關(guān)鍵,比起潛入到內(nèi)部要高效得多。

這也是本文的目的,盤點UVM針對不同機制提供給用戶的調(diào)試功能。建議收藏和關(guān)注,總有一天你會用到。本文的示例代碼都是在UVM類庫提供的例程上進行少量修改得到,其中包含questasim的運行腳本。

01 PLUGARG(命令行參數(shù))

01 PLUGARG(命令行參數(shù))

UVM將不同機制的調(diào)試功能封裝成了命令行參數(shù)。在運行仿真的時候帶上這些參數(shù),就可以在仿真日志中打印出來對應(yīng)的詳細(xì)調(diào)試信息。本節(jié)將這些命令行參數(shù)都梳理出來,并附有仿真日志截圖。

+UVM_DUMP_CMDLINE_ARGS :導(dǎo)出所有的命令行參數(shù),確認(rèn)當(dāng)前的命令行參數(shù)符合你的預(yù)期。

圖片

+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è)置打印信息的冗余程度,有效地控制不同重要性信息的打印和屏蔽。

圖片

02 PRINT(打印)

02 PRINT(打印)

除了命令行參數(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)境的組件拓?fù)浣Y(jié)構(gòu)

圖片

uvm_component::print_config() :打印當(dāng)前組件可見視角下的所有配置資源信息

圖片

uvm_component::print_override_info() :打印當(dāng)前組件的工廠重載信息

圖片

uvm_factory::print() :打印全局工廠中注冊的類型以及instance和type重載信息

圖片

uvm_factory::debug_create_by_type() :打印工廠根據(jù)參數(shù)實際會創(chuàng)建的類型

uvm_factory::debug_create_by_name() :打印工廠根據(jù)參數(shù)實際會創(chuàng)建的類型

圖片

uvm_port_base::debug_connected_to() :打印當(dāng)前端口連接的下游端口網(wǎng)絡(luò),包括port/export/imp

uvm_port_base::debug_provided_to() :打印當(dāng)前端口連接的上游端口網(wǎng)絡(luò),包括port/export

圖片

參考資料

[1] Accellera Systems Initiative. "Universal Verification Methodology (UVM) 1.2 Class Reference" (2014).

[2] Accellera Systems Initiative. "Universal Verification Methodology (UVM) 1.2 User's Guide" (2015).

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

    關(guān)注

    0

    文章

    181

    瀏覽量

    19085
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4670

    瀏覽量

    67761
  • 例程
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    12020
收藏 人收藏

    評論

    相關(guān)推薦

    UVM中的field automation機制有哪些用途

    不知道UVM中的field automation機制怎么翻譯,不管了,反正就是**機制,理解它能干啥就行了。
    的頭像 發(fā)表于 07-19 09:45 ?1949次閱讀

    IC驗證"為什么要學(xué)習(xí)UVM呢"

    驗證的基本常識,將會散落在各個章節(jié)之間。UVM的一些高級功能,如何靈活地使用sequence機制、factory機制等。如何編寫代碼才能保證可重用性??芍赜眯允悄壳癐C界提及最多的幾個
    發(fā)表于 12-01 15:09

    IC驗證"UVM驗證平臺加入factory機制"(六)

    為讀者展示在初學(xué)者看來感覺最神奇的一點:自動創(chuàng)建一個類的實例并調(diào)用其中的函數(shù)(function)和任務(wù) (task)?! ∫褂眠@個功能,需要引入UVM的factory機制:[code]文件:src
    發(fā)表于 12-08 12:07

    IC驗證“UVM驗證平臺加入objection機制和virtual interface機制“(七)

    在上一節(jié)中,**《IC驗證"UVM驗證平臺加入factory機制"(六)》**雖然輸出了“main_phase is called”,但是“data is drived”并沒有
    發(fā)表于 12-09 18:28

    UVM交互式調(diào)試庫介紹

    什么是UVM交互式調(diào)試
    發(fā)表于 12-17 07:34

    什么是UVM Report機制?

    UVM Report機制概述
    發(fā)表于 12-21 06:55

    數(shù)字IC驗證之“什么是UVM”“UVM的特點”“UVM提供哪些資源”(2)連載中...

    dut。功能覆蓋率是評判驗證工作進度的標(biāo)準(zhǔn),驗證工程師可以根據(jù)當(dāng)前的覆蓋率的情況來確定下一步的驗證工作,那么,uvm內(nèi)建了許多機制,uvm的工程機制
    發(fā)表于 01-21 16:00

    深入了解Factory機制的實現(xiàn)方式

    Factory是UVM世界中承載著對象實例化和重載(override)等作用的重要機制。深入了解Factory機制的實現(xiàn)方式,有助于我們在實際工程中更好地應(yīng)用和調(diào)試。本文介紹Facto
    發(fā)表于 09-16 14:35

    UVM中seq.start()和default_sequence執(zhí)行順序

      1. 問題  假如用以下兩種方式啟動sequence,方法1用sequence的start()方法啟動seq1,方法2用UVM的default_sequence機制啟動seq2。那么seq1
    發(fā)表于 04-04 17:15

    UVM實戰(zhàn)卷1 PDF電子書免費下載

    UVM實戰(zhàn)》主要介紹UVM的使用。全書詳盡介紹了UVM的factory機制、sequence機制、phase
    發(fā)表于 11-29 08:00 ?32次下載
    <b class='flag-5'>UVM</b>實戰(zhàn)卷1 PDF電子書免費下載

    盤點UVM針對不同機制提供給用戶的調(diào)試功能

    +UVM_OBJECTION_TRACE:打開Objection相關(guān)活動的追蹤功能,可以清晰地呈現(xiàn)出objection在運行中的狀態(tài)。
    的頭像 發(fā)表于 05-19 14:17 ?1139次閱讀

    UVM sequence機制中response的簡單使用

    sequence作為UVM幾個核心機制之一,它有效地將transaction的產(chǎn)生從driver中剝離出來,并且通過和sequencer相互配合,成功地將driver的負(fù)擔(dān)降低至僅聚焦于根據(jù)協(xié)議將
    的頭像 發(fā)表于 09-22 09:26 ?2168次閱讀

    盤點UVM同機制調(diào)試功能

    基于UVM搭建驗證環(huán)境和構(gòu)造驗證激勵,調(diào)試的工作總是繞不開的。實際上,對驗證環(huán)境和激勵的調(diào)試,往往伴隨著驗證階段的前半程,并且會花掉驗證工程師很多時間和精力。
    的頭像 發(fā)表于 04-06 09:36 ?734次閱讀

    UVMuvm_config_db機制背后的大功臣

    本次講一下UVM中的uvm_config_db,在UVM中提供了一個內(nèi)部數(shù)據(jù)庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
    的頭像 發(fā)表于 06-20 17:28 ?1151次閱讀

    UVMuvm_config_db機制背后的大功臣

    本次講一下UVM中的uvm_config_db,在UVM中提供了一個內(nèi)部數(shù)據(jù)庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
    的頭像 發(fā)表于 06-29 16:57 ?1007次閱讀