UVM与uvm_object相关的宏

在UVM中与uvm_object相关的factory宏有如下几个:

uvm_object_utils:它用于把一个直接或间接派生自uvm_object的类注册到factory中。

uvm_object_param_utils:它用于把一个直接或间接派生自uvm_object的参数化的类注册到factory中。所谓参数化的类,是指类似于如下的类:

class A#(int WIDTH=32) extends uvm_object;

参数化的类在代码可重用性中经常用到。如果允许,尽可能使用参数化的类,它可以提高代码的可移植性。

uvm_object_utils_begin:当需要使用field_automation机制时,需要使用此宏。如果使用了此宏,而又没有把任何字段使用uvm_field系列宏实现,那么会出现什么情况呢?

uvm_object_utils_begin(my_object)
uvm_object_utils_end

答案是不会出现任何问题,这样的写法完全正确,可以尽情使用。

uvm_object_param_utils_begin:与uvm_object_utils_begin宏一样,只是它适用于参数化的且其中某些成员变量要使用field_automation机制实现的类。

uvm_object_utils_end:它总是与uvm_object_*_begin成对出现,作为factory注册的结束标志。

酷客网相关文章:

赞(1)

评论 抢沙发

评论前必须登录!