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

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

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

在UVM環(huán)境中如何控制打印數(shù)組或隊列元素的數(shù)據(jù)量

sanyue7758 ? 來源:芯片驗證日記 ? 2023-12-20 10:14 ? 次閱讀

1.問題的引入

在UVM驗證環(huán)境的項目中,經(jīng)常需要使用內(nèi)置的print()函數(shù)或sprint()函數(shù)打印

uvm_sequence_item類或者uvm_transaction類,這些transaction或sequence_item的class中通常會包含多個列表()數(shù)組(array)和/或隊列(queue),這些數(shù)組和隊列通常又包含很多個元素變量。默認情況下,系統(tǒng)只會打印數(shù)組和隊列開始的5個元素和最后的5個元素,原因如下圖所示(begin_elements= 5; end_elements = 5)。

0c2d5256-9eda-11ee-8b88-92fbcf53809c.png

如果我們想要打印數(shù)組和隊列的所有元素內(nèi)容或者如何靈活控制,有什么辦法嗎?答案是肯定的,請看后面的內(nèi)容。

2.默認打印的數(shù)量和樣式

默認情況下,系統(tǒng)只會打印數(shù)組和隊列開始的5個元素和最后的5個元素,如下圖所示:

0c37f30a-9eda-11ee-8b88-92fbcf53809c.png

3.打印所有數(shù)量和格式

3.1具體實現(xiàn)的方法

在test的build_phase中,添加如下code:

uvm_default_printer.knobs.begin_elements = -1;//print all elements of arrays and queues
如下圖所示:

0c521fbe-9eda-11ee-8b88-92fbcf53809c.png

3.2打印的數(shù)量和樣式

0c67d854-9eda-11ee-8b88-92fbcf53809c.png

4.如何靈活控制打印的數(shù)量和格式

下文的例子是,打印數(shù)組和隊列開始的2個元素和最后的3個元素。

4.1 具體實現(xiàn)的方法

在test的build_phase中,添加如下code:

uvm_default_printer.knobs.begin_elements = 2;
uvm_default_printer.knobs.end_elements=3;
如下圖所示:

0c6c5352-9eda-11ee-8b88-92fbcf53809c.png

4.2 打印的數(shù)量和樣式

0c74fb06-9eda-11ee-8b88-92fbcf53809c.png

5.uvm_default_printer

0c8b85ce-9eda-11ee-8b88-92fbcf53809c.png

0c91b7d2-9eda-11ee-8b88-92fbcf53809c.png

6.uvm_table_printer

0c99ac58-9eda-11ee-8b88-92fbcf53809c.png

7.uvm_printer

0ca3fd3e-9eda-11ee-8b88-92fbcf53809c.png

0cbd5c8e-9eda-11ee-8b88-92fbcf53809c.png

審核編輯:湯梓紅

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

    關(guān)注

    3

    文章

    4331

    瀏覽量

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

    關(guān)注

    0

    文章

    182

    瀏覽量

    19171
  • 隊列
    +關(guān)注

    關(guān)注

    1

    文章

    46

    瀏覽量

    10893
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    417

    瀏覽量

    25947

原文標題:在UVM環(huán)境中,如何靈活地控制打印數(shù)組或隊列元素的數(shù)據(jù)量

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

收藏 人收藏

    評論

    相關(guān)推薦

    ESP8266_RTOS3.0串口0傳輸大量數(shù)據(jù)丟包的原因?

    多個分段進入處理函數(shù),后來使用example示例的uart_echo,發(fā)現(xiàn)接收可以完整接收,但是當把數(shù)據(jù)原樣從串口0的tx輸出時,數(shù)據(jù)中間出現(xiàn)多次中斷丟包。 我發(fā)現(xiàn)用系統(tǒng)自帶的打印
    發(fā)表于 07-09 06:32

    刪除替換數(shù)組元素

    本帖最后由 samuergao 于 2014-11-21 14:01 編輯 曾經(jīng)遇到想刪除數(shù)組某個元素的問題,比如要刪除或者替換一個數(shù)組中所有為10的
    發(fā)表于 07-01 16:24

    相同數(shù)組元素個數(shù)統(tǒng)計

    效率較低,當數(shù)據(jù)量非常大時,耗時較多。 2、利用一維數(shù)組排序函數(shù),把相同的數(shù)組元素分組,然后再比較相鄰元素是否相同。 3、連接一維
    發(fā)表于 04-08 12:58

    隊列元素丟失問題

    求教:以字符串數(shù)組形式循環(huán)向隊列插入元素隊列輸出時,元素丟失邊少了,如向隊列輸入1、2、3、4
    發(fā)表于 05-22 20:32

    STM32如何通過UART使用printf打印數(shù)據(jù)?

    STM32如何通過UART使用printf打印數(shù)據(jù)?
    發(fā)表于 12-01 06:57

    為什么sprintf打印數(shù)據(jù)只能兼容8位的數(shù)據(jù)

    這個是因為sprintf打印數(shù)據(jù)只能兼容8位的數(shù)據(jù) 只能使用u8 uint8來寫不能用來兼容其他數(shù)據(jù)所以將uint16_t ADC_Char[20]={0};改成u8 ADC_Ch
    發(fā)表于 12-15 08:27

    使用STM32H743單片機如何判斷何時可以向打印機發(fā)送打印數(shù)據(jù)?

    /* 如果數(shù)據(jù)量較大,可以定期調(diào)用get_port_status()檢查打印機狀態(tài) */s=get_port_status();if(???)delay_ms(100);我使用STM32H743
    發(fā)表于 07-08 08:00

    LabVIEW隊列使用詳解

    為True時元素輸出為隊列元素組成的數(shù)組。返回元素為False時只輸出信息,不獲取
    發(fā)表于 09-05 00:07

    談?wù)?b class='flag-5'>UVMuvm_info打印

    uvm_info的三個參數(shù)?! D是作為message的標記(tag)。  MSG就是真正要打印的message文本?! ERBOSITY用于傳遞uvm\_verbosity枚舉類型的數(shù)字。當
    發(fā)表于 03-17 16:41

    UART打印數(shù)據(jù)很慢是為什么?

    我把波特率設(shè)置為4800,然后把一個外設(shè)和我們的UART連接起來。外設(shè)向UART發(fā)送握手包,頻率為10HZ,數(shù)據(jù)長度為10個字節(jié)。但是我發(fā)現(xiàn)一個混亂的現(xiàn)象是數(shù)據(jù)沒有打印出來on time,40秒后
    發(fā)表于 04-17 06:11

    TencentOS-tiny中環(huán)形隊列的實現(xiàn)

    ; 隊尾指針(可變):永遠指向此隊列的最后一個數(shù)據(jù)元素; 隊列數(shù)據(jù)存儲方式有兩種: ① 基于
    的頭像 發(fā)表于 10-08 16:30 ?1383次閱讀

    SystemVerilog隊列

    隊列是大小可變的有序集合,隊列元素必須是同一個類型的。隊列支持對其所有元素的訪問以及
    的頭像 發(fā)表于 10-31 10:09 ?4032次閱讀

    如何用Verdi查看UVM環(huán)境的變量?

    我們常用的debug UVM的方法是通過打印log實現(xiàn)。有沒有辦法像 debug RTL代碼一樣將 UVM 變量拉到波形上看呢?答案是有的,下面讓我們看看是怎么做到的。
    的頭像 發(fā)表于 06-25 16:01 ?1744次閱讀
    如何用Verdi查看<b class='flag-5'>UVM</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>中</b>的變量?

    c語言在數(shù)組查找指定元素

    C語言是一種通用的編程語言,廣泛應(yīng)用于各種領(lǐng)域,包括嵌入式系統(tǒng)、操作系統(tǒng)、游戲開發(fā)等。C語言中,數(shù)組是一種非常重要的數(shù)據(jù)結(jié)構(gòu),用于存儲一系列相同類型的元素。查找指定
    的頭像 發(fā)表于 11-24 10:07 ?4231次閱讀

    labview怎么查數(shù)組相同元素的個數(shù)

    要查找LabVIEW數(shù)組相同元素的個數(shù),可以使用以下步驟: 創(chuàng)建一個包含要查找的數(shù)值的數(shù)組。這可以通過手動輸入
    的頭像 發(fā)表于 12-28 16:42 ?3548次閱讀