请教一个OVM中关于竞争的问题
时间:10-02
整理:3721RD
点击:
伯格龙和斯皮尔都推荐用program来封装verification enviroment,从而避免和在module里面的DUT产生竞争。VMM中也使用这样的方法,比如vmm_env/vmm_subenv都是封装在program里面,但最近开始看OVM/UVM, 发现,整个ovm_env是用top module 里面的run_test()来调用的,没有看到program的影子,本人新手,对OVM的代码还不是很熟悉,所以有这样的疑问,希望得到大家的解释。
原因很简单:VMM没有树形层次结构的组织,OVM/UVM有。
大牛,该怎么理解你说的树形层次结构?VMM没有层次结构吗?能否再给一些详细的解释?
VMM是没有的,好像1.2版本加进去了,OVM出来之后就再没用过VMM。就是说env里每个component都有自己的位置,而不是都放在一堆靠个program来和dut隔离。
VMM1.2版本加这加那的,恨不得把OVM的东西都加进去,一点意思都没有。
但是不可否认的是VMM的消息机制做的却是是好。
good material
大牛,“都有自己的位置”该如何理解,我感觉run_test(),调用了ovm_test, 然后是到ovm_env里面去了,还是没有完全理解怎么和module的active区,撇清关系,当然VMM比较简单化一些,一个program搞定。
哈哈,vmm确实是program来隔离,接触sv这么几年了,还真没搞清楚为什么需要这个隔离。