1.注册宏'uvm_{component,object}_utils
(1)概述1
(2)概述2
2.注册后的对象创建
(1)概述1
(2)概述2
3.component/object与工厂有关的方法
(1)配合工厂的相关方法
(2)工厂也给了其他很多方法创建对象:create_component_by_name(),create_component_by_type()。
4.uvm学习网址:
https://verificationacademy.com/verification-methodogy-reference/uvm/docs_1.2/html/
uvm_factory get 静态的变量
5.覆盖override
(1)覆盖的含义
(2)覆盖方法-set_type_override()
(3)覆盖方法-set_inst_override()
(4)实现覆盖不止一种方法
6.覆盖实例
(1)示例
import include 各仿真器不同会有不同;virtual的作用:虚函数;set_type_override只影响到了 C2。
(2)总结
-
override只能发生在子类覆盖父类。c2是父类句柄,comp1::type_id::create是子类的对象的句柄,子类可以赋值给父类,换句话说父类句柄可指向子类的对象。
-
其次注意父类中的方法是virtual的。
7.确保正确覆盖的代码要求
(1)
(2)