有没有一种方法可以解决与工厂支持基于字符串的查找有关的警告?

时间:2019-06-11 14:32:57

标签: system-verilog uvm

我一直无济于事,不断收到以下消息,不断警告我:

UVM_WARNING @ 0: reporter [TPRGED] Type name 'packet2mem_comp_Str' already registered with factory. No string-based lookup support for multiple types with the same type name.

我没有注册任何同名的类,除非我认为父类没有任何问题。

我的类是一个声明如下的继承的参数化类:

class packet2mem_comp #(string S = "MEM") extends mem_comp;
  typedef packet2mem_comp #(S) packet2mem_comp_Str;
  `uvm_object_utils(packet2mem_comp_Str)

  function new (string name = "packet2mem_comp");
    super.new(name);
  endfunction : new


... //rest of my code


endclass: packet2mem_comp

有人遇到过类似的问题吗?

干杯

1 个答案:

答案 0 :(得分:0)

对于参数化类,有特殊版本的宏。代替

module.delete()

尝试

`uvm_object_utils(packet2mem_comp_Str)

或者也许

`uvm_object_param_utils(packet2mem_comp_Str)

您尚未发布MCVE,因此我尚未对此进行测试。