[UVM]2.注册宏 对象创建 覆盖 工厂方法


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)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值