<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

在UVM環境中如何控制打印數組或隊列元素的數據量

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

1.問題的引入

在UVM驗證環境的項目中,經常需要使用內置的print()函數或sprint()函數打印

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

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

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

2.默認打印的數量和樣式

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

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

3.打印所有數量和格式

3.1具體實現的方法

在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打印的數量和樣式

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

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

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

4.1 具體實現的方法

在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 打印的數量和樣式

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

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4117

    瀏覽量

    61467
  • UVM
    UVM
    +關注

    關注

    0

    文章

    181

    瀏覽量

    19013
  • 隊列
    +關注

    關注

    1

    文章

    46

    瀏覽量

    10859
  • 數組
    +關注

    關注

    1

    文章

    409

    瀏覽量

    25659

原文標題:在UVM環境中,如何靈活地控制打印數組或隊列元素的數據量

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

收藏 人收藏

    評論

    相關推薦

    刪除替換數組元素

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

    相同數組元素個數統計

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

    求助各位好,請問索引數組通過元素隊列輸出和索引數組直接輸出有什么區別?

    各位好,請問索引數組通過元素隊列輸出和索引數組直接輸出有什么區別?
    發表于 06-03 21:19

    《Visual C# 2008程序設計經典案例設計與實現》---利用Windows組件打印數據數據

    《Visual C# 2008程序設計經典案例設計與實現》---利用Windows組件打印數據數據
    發表于 05-22 21:02

    隊列元素丟失問題

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

    串口打印數據疑問如何解決

    幫助會員:guyuemao 發問,請大家幫幫他,謝謝串口打印數據疑問? 如圖:這句話之前 串口無打印 運行后串口有顯示,但是 printf函數是怎么與串口發送聯系到一起的?
    發表于 06-02 05:48

    STM32如何通過UART使用printf打印數據?

    STM32如何通過UART使用printf打印數據?
    發表于 12-01 06:57

    STM32串口調試助手無法打印數據怎么解決?

    STM32串口調試助手無法打印數據怎么解決?
    發表于 12-13 07:49

    為什么sprintf打印數據只能兼容8位的數據

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

    使用STM32H743單片機如何判斷何時可以向打印機發送打印數據?

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

    LabVIEW隊列使用詳解

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

    談談UVMuvm_info打印

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

    UART打印數據很慢是為什么?

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

    同樣是獲取數組元素個數會存在size()和$size兩種方式呢?

    在使用SystemVerilog或者UVM進行編碼的過程中,經常會用到數組(包括隊列等),經常需要對這些數組進行遍歷
    的頭像 發表于 03-25 10:24 ?920次閱讀

    labview怎么查數組中相同元素的個數

    要查找LabVIEW中數組中相同元素的個數,可以使用以下步驟: 創建一個包含要查找的數值的數組。這可以通過手動輸入數組元素或從文件/其他
    的頭像 發表于 12-28 16:42 ?1497次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>