求助:请问各位UVM下能使用DW的VIP吗?
时间:12-12
整理:3721RD
点击:
RT
今天用DW的VIP弄了个atomic_gen 和 master集成到UVM环境中了。
编译没问题,只是master收不到atomic_gen给的交易。
我从打印结果看atomic_gen已经将tran抛到out_chan中了,
而master这端好像是在new的时候没有成功把out_chan传进来,
用master.get_input_channel获得的队列长度为0.
但代码中确实在new阶段把out_chan写到参数表中了,在纯VMM环境中没有类似问题。
请问这是不是UVM对这个VIP兼容性的问题?
还是需要把VMM部分放入指定的phase中?或其他问题
今天用DW的VIP弄了个atomic_gen 和 master集成到UVM环境中了。
编译没问题,只是master收不到atomic_gen给的交易。
我从打印结果看atomic_gen已经将tran抛到out_chan中了,
而master这端好像是在new的时候没有成功把out_chan传进来,
用master.get_input_channel获得的队列长度为0.
但代码中确实在new阶段把out_chan写到参数表中了,在纯VMM环境中没有类似问题。
请问这是不是UVM对这个VIP兼容性的问题?
还是需要把VMM部分放入指定的phase中?或其他问题
我觉得你应该把vmm跟uvm的环境分开。这两个环境启动的步骤是不一样的。通信的方式不一样。若要非得有交互可以自己想办法构造一个队列。或者要uvm的vip。s确实也有些vmm转uvm的东西,不过没用过也不太明白。
你这个VIP是基于VMM还是UVM的?
如果是VMM 则可能里面还包了Vera
用起来不是很方便
不过 Synopsys提供了OVM-VMM-InterOP 的包 可以在 VMM的channel的 OVM/UVM的port 中交互transaction
另外还要留意下 VMM的启动方式和 UVM启动方式的不同
是VMM的。
我不明白的一点是虽然在UVM中使用了VMM的东西,
但我的atomic_gen和master都是VMM下的,通过VMM的channel互联,
还没有与UVM进行事务级的交互。
我的理解是不管UVM或VMM,都是基于Sverilog的,
只要有库支持,编译通过后起码各自方法学内部的互联应该没有问题。
这样只能看看是不是phase的问题了。
其实我第一想到的也是S社AE,但因为钱不是问题,所以就上这里了……
你的VMM的那部分没有运行起来,你需要显式的调用vmm里面的test.run(), 或者用VMM-UVM interoperate Kit让两者phase同步.