首页 > 其他 > 详细

UVM的factory机制

时间:2016-05-06 07:05:36      阅读:306      评论:0      收藏:0      [点我收藏+]

在UVM中使用工厂模式基本上分为三个步骤:

1. 注册

当定义一个类的时候,它的类型必须要注册,UVM已经提供了专用的宏。

`uvm_component_utils(class_type_name)

`uvm_component_param_utils(class_type_name #(params))

`uvm_object_utils(class_type_name)

`uvm_object_param_utils(class_type_name #(params))

这四个宏中两个是为参数化的类准备的,另外两个是为非参数化的类注册用的。

2. 实例化对象

在对component或object型对象进行实例化的时候要使用静态方法create(),不能采用new()去实例化。也就是要用如下这个非常奇怪的实例化格式:

object_name = class_type::type_id::create("object_name",this);

3. 重载override

最后就是在需要override的时候,按照类型或者名称去override原来的对象。

set_inst_override_by_type(original_type, override_type, full_inst_path )

set_inst_override_by_name(original_type_name, override_type_name, full_inst_path )

 

参考文献:

[1] UVM的factory机制. http://www.asicdv.com/uvm_scan.asp?id=30

[2] UVM FACTORY . http://www.testbench.in/UT_06_UVM_FACTORY.html

UVM的factory机制

原文:http://www.cnblogs.com/dpc525/p/5464040.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!