其中uvm_table_printer是uvm_printer的扩展类,因为后者是一个抽象类,不能实例化,所以这里更改uvm_table_printer。代码中打印那行代码也可以直接改成tr.print(full_printer)。 打印结果如下:
使用uvm_table_printer可以方便地对各种仿真结果进行分析和调试。 2. uvm_table_printer 以下是uvm_table_printer的基本用法: •创建一个uvm_table_printer对象:在需要使用uvm_table_printer的类中,创建一个uvm_table_printer对象,如uvm_table_printer printer = new(); •设置报告信息:通过调用uvm_table_...
可以看到uvm_default_printer本质上是一个uvm_table_printer类型的全局变量,进一步查看uvm_table_printer的定义,如图12所示 图12 uvm_printer.svh中uvm_table_printer的定义 从图12中不难看出uvm_table_printer继承自uvm_printer,uvm_table_printer规定了打印出来的格式类似于一张表格,并且为了进行格式的对其使用calculate...
(3) 如果有需要指定uvm_printer参数,可以指定为其他参数,如uvm_default_tree_printer, uvm_default_line_printer或其他用户自定义的printer; 1//Variable: uvm_default_table_printer2//3//The table printer is a global object that can be used with4//<uvm_object::do_print> to get tabular style print...
print – print方法基于给定的print参数,以特定的格式和风格,详尽地打印该对象的属性。如果没有提供参数,那么就使用全局对象uvm_default_printer. UVM还提供了很多策略诸如uvm_line_printer/uvm_tree_printer/uvm_table_printer等等。 sprint – sprint方法跟print方法基本一致,区别是sprint会把结果作为字符返回,而不是...
在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 审核编辑:汤梓红
※ uvm_default_line_printer: 可以将对象数据打印到一行上面。 ※ uvm_default_table_printer: 可以将对象按照表格的方式打印。 ※ uvm_default_printer: UVM环境默认的打印设置,该句柄默认指向了uvm_default_table_printer。 通过给全局打印机uvm_default_printer赋予不同的打印机句柄,就可以调用任何uvm_object的prin...
uvm_default_printer : UVM坏境默认的打印设置,该句柄默认指向了 uvm_default_table_printer • 通过给全局打印机uvm_default_printe赋予不同的打印机句柄, 就可以在调用行何uvm_object的print()方法时, 得到不同的打印格式。 • 如果用户需要自定义一些打印属性, 可以自己创建一个打印机, 进而通过修改其属件...
XML_PRINTER : begin uvm_xml_printer printer=new();return printer;end default : begin uvm_table_printer printer=new();return printer;end endcase endfunction endclass 由uvm_printer扩展出来的uvm_yaml_printer等printer,只需要实现emit函数即可,其中uvm_printer内部有一个m_rows的结构体成员,类型是uvm_fie...
uvm_table_printer local_printer; initial begin b1 = new("box1"); local_printer = new(); $display("default table printer format"); b1.print(); $display("default line printer format"); uvm_default_printer = uvm_default_line_printer; ...