uvm field automation机制与copy,compare等操作的联系(注意create函数,copy函数,clone函数)


资料来源:

(1) The UVM Primer;

(2) uvm source code;

(3) UVM1.1应用指南及源代码分析;

注:field automation机制的本质是覆盖了uvm_object类中的m_uvm_field_automation函数,而不是定义了copy函数,也不是定义了do_copy函数;

1.uvm_object中create/copy/clone/compare等操作

(1) uvm_object类和它的派生类都提供一个copy()函数,用于将一个对象的数据拷贝到相对类型的另外一个对象中;

注1:copy函数中会调用__m_uvm_field_automation函数;

(2) uvm_object类和它的派生类都提供一个clone函数,可以返回一个具有相同数据的新实例(clone=new+copy);

注1:如果使用clone函数,uvm的派生类需要实现create函数;

注2:如果类在定义时,使用factory机制,那么create函数会自动被定义;

 2.uvm factory机制中的相关宏会重载uvm_object内的create操作

3.uvm field automation机制会重载uvm_object的__m_uvm_field_automation函数

4.uvm_field_*宏定义了一些case语句块

5.`uvm_field_utils_begin宏与`uvm_field_int等宏共同构成function __m_uvm_field_automation的定义

相关