可以看到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...
uvm_pkg所包含的用于打印的全局对象,它们分别是: ※ uvm_default_tree_printer: 可以将对象按照树状结构打印。 ※ uvm_default_line_printer: 可以将对象数据打印到一行上面。 ※ uvm_default_table_printer: 可以将对象按照表格的方式打印。 ※ uvm_default_printer: UVM环境默认的打印设置,该句柄默认指向了uvm_de...
printer是个uvm_printer类型的对象,关于uvm_printer的定义如下: 这是一个virtual类,所以他的所有的内部的函数都是在它的子类中实现的 我们在调用print_topology()的时候没有传入任何参数,所以printer为null,那么printer就会被赋值为uvm_default_printer,我们再看看uvm_default_printer的定义 可以看到uvm_default_printer是...
在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 审核编辑:汤梓红
1.uvm_printer使用示例 (1) 在调用uvm_top.print_topology()函数时,可以不指定uvm_printer参数; (2) 在不指定uvm_printer参数的情况下,会使用uvm_default_table_printer; (3) 如果有需要指定uvm_printer参数,可以指定为其他参数,如uvm_default_tree_printer, uvm_default_line_printer或其他用户自定义的printer;...
print – print方法基于给定的print参数,以特定的格式和风格,详尽地打印该对象的属性。如果没有提供参数,那么就使用全局对象uvm_default_printer. UVM还提供了很多策略诸如uvm_line_printer/uvm_tree_printer/uvm_table_printer等等。 sprint – sprint方法跟print方法基本一致,区别是sprint会把结果作为字符返回,而不是...
1 .function void uvm_object::print(uvm_printer printer=null);//调用sprint打印本object 1. 如果printer没有提供将会使用uvm_default_printer。 2. See also uvm_line_printer, uvm_tree_printer, and uvm_table_printer for details on the pre-defined printer “policies,” or formatters, provided by th...
这个类包含了compare, printer等,一般默认使用uvm_object_globals.svh中的全局变量,uvm_default_comparer, uvm_default_table_printer。也可以自己配置compare, printer中的参数,并在调用compare(), print()时传入即可或者重写do_compare, do_print函数,实现自定义功能。
在uvm_pkg中例化了不少全局对象,在本节中我们会使用到的全局配置对象包括有uvm_default_comparer, uvm_default_printer和uvm_default_packer。 如果用户不想使用默认的比较配置,而是想自己对比较 进行设定,可以考虑创建一个uvm_comparer对象,或者修改全局的uvm_comparer对象。
在uvm_pkg中例化了不少全局对象,在本节中我们会使用到的全局配置对象包括有uvm_default_comparer, uvm_default_printer和uvm_default_packer。 如果用户不想使用默认的比较配置,而是想自己对比较 进行设定,可以考虑创建一个uvm_comparer对象,或者修改全局的uvm_comparer对象。