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操作