第十二段:基于env的重用

       现代芯片的验证通常分为两个层次, 一是模块级别( block level, 也称为IP级别、 unit级别) 验证, 二是芯片级别( 也称为SOC级别) 验证。

      一个大的芯片在开发时, 是分成多个小的模块来开发的。 每个模块开发一套独立的验证环境, 通常每个模块有
      一个专门的验证人员负责。 当在模块级别验证完成后, 需要做整个系统的验证。

      假设某个系统分成了三个模块,如下图: 

第十二段:基于env的重用

      这三个模块在模块级别验证时, 分别有自己的driver和sequencer, 如下图:

第十二段:基于env的重用

      当在芯片级别验证时, 如果采用env级别的重用, 那么B和C中的driver分别取消, 这可以通过设置各自i_agt的is_active来控制,如图所示。

      仔细观察下图, 发现o_agt( A) 和i_agt( B) 两者监测的是同一接口, 换言之, 二者应该是同一个agent。 在模块级别验证时, i_agt( B) 被配置为active模式, 在图中被配置为passive模式。 被配置为passive模式的i_agt( B) 其实和o_agt( A) 完全一样, 二者监测同一接口, 对外发出同样的transaction。

第十二段:基于env的重用

      总结:保留入口的driver和出口的monitor,其他agent的driver设置为passive,计分板和期待保留原先架构即可。

 

上一篇:“21天好习惯”第一期-1


下一篇:【车间调度】基于matlab改进的遗传算法求解车间调度问题【含Matlab源码 H002期】