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

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

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

盤點(diǎn)UVM不同機(jī)制的調(diào)試功能

sanyue7758 ? 來源:芯片學(xué)堂 ? 2023-04-06 09:36 ? 次閱讀

基于UVM搭建驗(yàn)證環(huán)境和構(gòu)造驗(yàn)證激勵(lì),調(diào)試的工作總是繞不開的。實(shí)際上,對(duì)驗(yàn)證環(huán)境和激勵(lì)的調(diào)試,往往伴隨著驗(yàn)證階段的前半程,并且會(huì)花掉驗(yàn)證工程師很多時(shí)間和精力。然而,大部分細(xì)節(jié)被隱藏在復(fù)雜的環(huán)境內(nèi)部。這里的復(fù)雜,指的是UVM本身構(gòu)造的不同機(jī)制(比如factory、config_db、objection等),以及在不同機(jī)制內(nèi)部使用的數(shù)據(jù)結(jié)構(gòu)。

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

這也是本文的目的,盤點(diǎn)UVM針對(duì)不同機(jī)制提供給用戶的調(diào)試功能。建議收藏和關(guān)注,總有一天你會(huì)用到。

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

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

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

0d444e76-d40d-11ed-bfe3-dac502259ad0.png

+UVM_CONFIG_DB_TRACE: 打開訪問Config_db的追蹤(tracing)功能,可以看到config_db的set和get操作在什么時(shí)間由什么組件發(fā)起。

0d84ed1e-d40d-11ed-bfe3-dac502259ad0.png

+UVM_PHASE_TRACE:打開Phase執(zhí)行的追蹤功能,可以看到不同phase的執(zhí)行順序。

0dacd7f2-d40d-11ed-bfe3-dac502259ad0.png

+UVM_OBJECTION_TRACE:打開Objection相關(guān)活動(dòng)的追蹤功能,可以清晰地呈現(xiàn)出objection在運(yùn)行中的狀態(tài)。

0dcd5bf8-d40d-11ed-bfe3-dac502259ad0.png

+UVM_VERBOSITY:設(shè)置打印信息的冗余程度,有效地控制不同重要性信息的打印和屏蔽。

0e21ca94-d40d-11ed-bfe3-dac502259ad0.png

02 PRINT(打印)

除了命令行參數(shù),UVM還提供了很多內(nèi)置打印函數(shù)。這些函數(shù)可以在驗(yàn)證環(huán)境中被調(diào)用,調(diào)用后會(huì)將對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)按照強(qiáng)可讀性的格式打印到仿真日志中,為環(huán)境調(diào)試工作提供極大的便利。

0e5ed6c8-d40d-11ed-bfe3-dac502259ad0.png

uvm_root::print_topology():打印整個(gè)驗(yàn)證環(huán)境的組件拓?fù)浣Y(jié)構(gòu)

0e783776-d40d-11ed-bfe3-dac502259ad0.png

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

0e996522-d40d-11ed-bfe3-dac502259ad0.png

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

0ee20ac0-d40d-11ed-bfe3-dac502259ad0.png

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

0f05eab2-d40d-11ed-bfe3-dac502259ad0.png

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

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

0f4727de-d40d-11ed-bfe3-dac502259ad0.png

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

0f9b1006-d40d-11ed-bfe3-dac502259ad0.png









審核編輯:劉清

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

    關(guān)注

    28

    文章

    1333

    瀏覽量

    109712
  • UVM
    UVM
    +關(guān)注

    關(guān)注

    0

    文章

    181

    瀏覽量

    19085

原文標(biāo)題:SystemVerilog | UVM | 超實(shí)用!盤點(diǎn)UVM不同機(jī)制的調(diào)試功能

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    UVM中的field automation機(jī)制有哪些用途

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

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

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

    IC驗(yàn)證"UVM驗(yàn)證平臺(tái)加入factory機(jī)制"(六)

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

    IC驗(yàn)證“UVM驗(yàn)證平臺(tái)加入objection機(jī)制和virtual interface機(jī)制“(七)

    在上一節(jié)中,**《IC驗(yàn)證"UVM驗(yàn)證平臺(tái)加入factory機(jī)制"(六)》**雖然輸出了“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機(jī)制?

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

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

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

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

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

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

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

    UVM實(shí)戰(zhàn)卷1 PDF電子書免費(fèi)下載

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

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

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

    UVM sequence機(jī)制中response的簡單使用

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

    淺析UVM同機(jī)制調(diào)試功能

    作為UVM的用戶,我們需要相信在絕大部分情況下這些機(jī)制本身是沒有問題的。因此,從頂層獲得有效的調(diào)試信息就非常關(guān)鍵,比起潛入到內(nèi)部要高效得多。 這也是本文的目的,盤點(diǎn)
    的頭像 發(fā)表于 02-14 16:23 ?1172次閱讀
    淺析<b class='flag-5'>UVM</b>不<b class='flag-5'>同機(jī)制</b>的<b class='flag-5'>調(diào)試</b><b class='flag-5'>功能</b>

    UVMuvm_config_db機(jī)制背后的大功臣

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

    UVMuvm_config_db機(jī)制背后的大功臣

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