UVM_factory机制

发布时间 2023-12-07 19:16:11作者: hc_zheng

什么是factory机制?最大的优点?

factory机制最主要的三个特点就是封装、继承、多态。其最主要的优势就是子类的指针以父类的类型传递时其表现形式仍然是子类行为。

virtual在重载里的作用,其函数仍然保留。

UVM重载的步骤

首先先注册  

·uvm_object_utils()和`uvm_component_utils()
还有一种参数化的类的注册
`uvm_component_param_utils()
`uvm_object_param_utils()

其次开始创建对象

创建uvm_component对象
name=classname::type_id::create("name",this);
创建uvm_object对象
name=classname::type_id::create("name");

然后一些override的一些函数

uvm_component中的
set_type_override_by_type(old-classname::get_type(),new-classname::get_type(),replace=1 or 0);replace默认为1,0时取消重载
这个函数是将old全部变成new

set_inst_override_by_type("class path", old-classname::get_type(),new-classname::get_type());

直接用class-name的方式函数
set_type_override("old-classname","new-classname",replace=1);
set_inst_override("class-path","old-classname","new-classname");

在initial块里调用前面加factory.即可