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

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

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

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

sanyue7758 ? 來(lái)源:芯片驗(yàn)證日記 ? 2023-12-20 10:14 ? 次閱讀

1.問(wèn)題的引入

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

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

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

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

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

默認(rèn)情況下,系統(tǒng)只會(huì)打印數(shù)組和隊(duì)列開(kāi)始的5個(gè)元素和最后的5個(gè)元素,如下圖所示:

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

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

3.1具體實(shí)現(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ù)組和隊(duì)列開(kāi)始的2個(gè)元素和最后的3個(gè)元素。

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

    關(guān)注

    3

    文章

    4262

    瀏覽量

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

    關(guān)注

    0

    文章

    181

    瀏覽量

    19114
  • 隊(duì)列
    +關(guān)注

    關(guān)注

    1

    文章

    46

    瀏覽量

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

    關(guān)注

    1

    文章

    412

    瀏覽量

    25866

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

    隊(duì)列元素丟失問(wèn)題

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

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

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

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

    這個(gè)是因?yàn)閟printf打印數(shù)據(jù)只能兼容8位的數(shù)據(jù) 只能使用u8 uint8來(lái)寫(xiě)不能用來(lái)兼容其他數(shù)據(jù)所以將uint16_t ADC_Char[20]={0};改成u8 ADC_Ch
    發(fā)表于 12-15 08:27

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

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

    LabVIEW隊(duì)列使用詳解

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

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

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

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

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

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

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

    SystemVerilog隊(duì)列

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

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

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

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

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

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

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