工厂的意义
- uvm工厂的存在是为了更方便地替换验证环境中的实例或已注册的类型。
- 用来替换的对象或类型应该满足注册和多态的要求。
工厂提供的便利
-
factory的步骤:1.将类注册到工厂。通过
uvm_component_utils,
uvm_object_utils。
2.例化前设置覆盖对象和类型。
3.对象创建。 -
工厂创建为什么要将uvm_component和uvm_object区分开呢?
因为uvm_component创建出来的组件最终会表示在uvm层次中,而uvm_object不会。这也可以从他们各自的new函数观察出来。 -
factory机制只会影响通过factory注册并且创建的对象。可以通过方法set_type_override()来进行覆盖。