工厂 (factory)机制
UVM验证环境构成分为两部分,一部分构成环境的层次,这一部分通过uvm_component类完成,另一部分构成环境属性(例如配置)和数据传输,这一部分通过uvm_object类完成
1. 工厂的意义
UVM工厂的存在就是为了更方便的替换验证环境中的实例或者已经注册的类型,同时工厂的注册机制带来配置的灵活性。这里的实例或类型替代在UVM中称为覆盖(override),用来替换的对象或类型应满足注册(registration)和多态(polymorphism)的要求。
2. 实现方式
(1)将类注册到Factory表中。
(2)创建对象,使用对应的语句(type_id::create)
(3)编写相应的类对基类进行覆盖