1.問題的引入
在UVM驗(yàn)證環(huán)境的項(xiàng)目中,經(jīng)常需要使用內(nèi)置的print()函數(shù)或sprint()函數(shù)打印
uvm_sequence_item類或者uvm_transaction類,這些transaction或sequence_item的class中通常會(huì)包含多個(gè)列表()數(shù)組(array)和/或隊(duì)列(queue),這些數(shù)組和隊(duì)列通常又包含很多個(gè)元素變量。默認(rèn)情況下,系統(tǒng)只會(huì)打印數(shù)組和隊(duì)列開始的5個(gè)元素和最后的5個(gè)元素,原因如下圖所示(begin_elements= 5; end_elements = 5)。

如果我們想要打印數(shù)組和隊(duì)列的所有元素內(nèi)容或者如何靈活控制,有什么辦法嗎?答案是肯定的,請(qǐng)看后面的內(nèi)容。
2.默認(rèn)打印的數(shù)量和樣式
默認(rèn)情況下,系統(tǒng)只會(huì)打印數(shù)組和隊(duì)列開始的5個(gè)元素和最后的5個(gè)元素,如下圖所示:

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如下圖所示:

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

4.如何靈活控制打印的數(shù)量和格式
下文的例子是,打印數(shù)組和隊(duì)列開始的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;如下圖所示:

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

5.uvm_default_printer


6.uvm_table_printer

7.uvm_printer


審核編輯:湯梓紅
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4404瀏覽量
66626 -
UVM
+關(guān)注
關(guān)注
0文章
183瀏覽量
19903 -
隊(duì)列
+關(guān)注
關(guān)注
1文章
46瀏覽量
11188 -
數(shù)組
+關(guān)注
關(guān)注
1文章
420瀏覽量
27075
原文標(biāo)題:在UVM環(huán)境中,如何靈活地控制打印數(shù)組或隊(duì)列元素的數(shù)據(jù)量
文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
ESP8266_RTOS3.0串口0傳輸大量數(shù)據(jù)丟包的原因?
刪除或替換數(shù)組中某元素
相同數(shù)組元素個(gè)數(shù)統(tǒng)計(jì)
隊(duì)列元素丟失問題
為什么sprintf打印數(shù)據(jù)只能兼容8位的數(shù)據(jù)
使用STM32H743單片機(jī)如何判斷何時(shí)可以向打印機(jī)發(fā)送打印數(shù)據(jù)?
LabVIEW中的隊(duì)列使用詳解
談?wù)?b class='flag-5'>UVM中的uvm_info打印
UART打印數(shù)據(jù)很慢是為什么?
TencentOS-tiny中環(huán)形隊(duì)列的實(shí)現(xiàn)
SystemVerilog中的隊(duì)列
如何用Verdi查看UVM環(huán)境中的變量?

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