微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 关于UVM factory机制的疑惑

关于UVM factory机制的疑惑

时间:10-02 整理:3721RD 点击:
大家好,本人最近在学习UVM,看到factory机制有如下疑问:


`define m_uvm_object_registry_internal(T,S) \
typedef uvm_object_registry #(T,'"S'") type_di; \
如果一个类A注册进了factory就可以通过
A::type_id::created() 函数来例化类,有现在的问题是 我的类A是从uvm_object中派生而来,但是我并没有在uvm_object中找到一个变量是uvm_object_registry的变量啊,既然是通过::来调用,uvm_object 中应该有uvm_object_registry的变量或函数啊?
不知我的理解那里有错,想了很久都没想通。
还望各位多多赐教啊

uvm_object_registry是一个wrapper,不是一个变量!是由uvm_object_wrapper扩展而来的!

多谢这位仁兄,我觉得uvm_object_registry 应该和uvm_object 应该有一定关系啊,不然它怎么能够去调用uvm_object_registry的方法啊,但是这个关系我现在还找不到啊,不知道他们是怎么联系起来的。

你知不知道什么是wrapper,我建议你先看一下Mark glasser的OVM cookbook,论坛上面有,这本书中有一节讲factory的,可以看一下!wrapper中有一个creat_object函数就是返回那个object的!

以前没学过OVM,看了OVM的cookbook,已经明白了,原来是typedef wrapper#( ) type_id来创建的,以前一直以为typedef只有申明的作用,想不到还有创建的作用。多谢anychao。

上一篇:ATE规格表
下一篇:SMIC 65nm的cellmap文件

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top