电子说
1.问题的引入
在UVM验证环境的项目中,经常需要使用内置的print()函数或sprint()函数打印
uvm_sequence_item类或者uvm_transaction类,这些transaction或sequence_item的class中通常会包含多个列表()数组(array)和/或队列(queue),这些数组和队列通常又包含很多个元素变量。默认情况下,系统只会打印数组和队列开始的5个元素和最后的5个元素,原因如下图所示(begin_elements= 5; end_elements = 5)。
如果我们想要打印数组和队列的所有元素内容或者如何灵活控制,有什么办法吗?答案是肯定的,请看后面的内容。
2.默认打印的数量和样式
默认情况下,系统只会打印数组和队列开始的5个元素和最后的5个元素,如下图所示:
3.打印所有数量和格式
3.1具体实现的方法
在test的build_phase中,添加如下code:
uvm_default_printer.knobs.begin_elements = -1;//print all elements of arrays and queues如下图所示:
3.2打印的数量和样式
4.如何灵活控制打印的数量和格式
下文的例子是,打印数组和队列开始的2个元素和最后的3个元素。
4.1 具体实现的方法
在test的build_phase中,添加如下code:
uvm_default_printer.knobs.begin_elements = 2; uvm_default_printer.knobs.end_elements = 3;如下图所示:
4.2 打印的数量和样式
5.uvm_default_printer
6.uvm_table_printer
7.uvm_printer
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !