使用UVM工厂注册虚拟类

时间:2014-03-05 10:44:42

标签: system-verilog uvm

有没有人有办法在工厂注册虚拟课程?使用object_utils宏将定义type_id :: create(...)方法,该方法为虚拟类调用new(...)是非法的。

当然,对于在工厂注册的任何虚拟类,都必须使用类型覆盖。如果有人为此提供了优雅的解决方案,那将会很酷。

1 个答案:

答案 0 :(得分:2)

不幸的是,没有办法在具有虚拟类的UVM中执行此操作,而无需重新创建自己的工厂。但是,您可以检测此类的build_phase()以检查该类是否已被重写。无论哪种方式,您都无法在运行时检查此信息。所以你丢失了虚拟类提供的编译器检查,所以为什么还要使用它。