高人帮忙解答一下吧:如何返回UVM_object类的名称?
时间:10-02
整理:3721RD
点击:
高人帮忙解答一下吧:如何返回UVM_object类的名称?
class infomation extends uvm_object;
...
endclass
在Scoreboard中,例化两个类:
information ref_A, ref_B;
有没有一个函数可以返回ref_A和ref_B的名称?
string str= ref_A.XXX();
这样str里面是“ref_A”。
class infomation extends uvm_object;
...
endclass
在Scoreboard中,例化两个类:
information ref_A, ref_B;
有没有一个函数可以返回ref_A和ref_B的名称?
string str= ref_A.XXX();
这样str里面是“ref_A”。
都知道是ref_A了,为啥不直接string str= “ref_A”。
还有就是string str= ref_A.get_name();get_name是uvm_object函数。
加入一个string类型的变量却是可行,每次例化一个类就可以把这个类中的string变量赋值为实例化的名称。当时get_name返回的是类型的名称。比如,你定义 class my_object extends uvm_object; 例化一个实例 my_object ref_A; 那么ref_A.get_name()返回值为my_object.
你可以试一下。
不加string变量,有没有其他好方法?
你已经想了好深入的呀,抱歉,我也好方法,如果你找到了好方法,还欢迎到下面留言告诉我们啊。
如果我没记错的话, 应该是:get_type_name()
according to the up pasages. the get_type_name() returns the string "my_object", but not the string "ref_A".
是不是你没有把“ref_A”作为名字实际赋值给ref_A,试试这样注册你的类:
ref_A = ref_A::type_id::create("ref_A");
前提是你要在infomation的new函数里有名字的赋值
好主意,我试试看!
ref_A.get_name() should return "ref_A". ref_A.get_type_name() return "information" if defined.