UVM factory概述

UVM的factory机制其实很简单,本质上就是一个关联数组,将各个具有继承关系的class,联系到一起,形成一张类似的表格。在创建的时候,可以通过查表来实现最终类型的实现。
本章节通过一个小例子来展示一下UVM的factory机制是怎么实现的。
这个例子就是对UVM factory机制的高度抽象。

filelist.lst

proxy_class.sv

  • line14,static类型的变量其实是在initial之前就会准备好执行。从而实现了联合数组的赋值(factory::register函数的调用).
  • line32实现实例化。

factory.sv

  • register,完成联合数组的赋值。
  • line29,通过联合数组进行查找,实现override的功能

env.sv

env.sv

top_tb.sv

仿真结果

如果大家想要上述代码也可以私信我。

posted on 2022-04-01 16:50  猪肉白菜_125  阅读(285)  评论(0编辑  收藏  举报