uvm_table_printer的用法
相信大多数朋友在打印类中数组成员时都遇到过数组打印信息不全的困扰:

假如图中pload[5]到pload[194]中间某些数据出现错误,则会为debug带来困扰。
今天分享一个很实用但却少有人知的小技巧,通过修改uvm_printer中的部分参数解决上述问题。
之所以出现上面的问题是因为uvm_printer类中有一个uvm_printer_knobs类型的成员knobs:

此类中有两个变量:
begin_elements
end_elements
这两个变量默认值均为5,这也是为何数组开头和结尾均只打印五个数据的原因。只需要将这两个变量的值都改为-1,数组就会全部打印出来了。
下面是改配参数的方法:

其中uvm_table_printer是uvm_printer的扩展类,因为后者是一个抽象类,不能实例化,所以这里更改uvm_table_printer。代码中打印那行代码也可以直接改成tr.print(full_printer)。
打印结果如下:

浙公网安备 33010602011771号