微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 有人能解释一下UVM比OVM有哪些优势吗?

有人能解释一下UVM比OVM有哪些优势吗?

时间:10-02 整理:3721RD 点击:
如题求解

UVM = OVM + VMM_RAL

UVM = AVM + OVM + VMM + ERM + VRM

回复 3# iloveic2012
恕我不同意你的观点,你先弄清楚AVM ,OVM ,VMM , ERM , VRM的roadmap再来发表观点。
先把这4个的发展和继承关系弄清楚了在来发表观点。
或者我问你一个问题,比如UVM的哪些很重要很有特色的东西不是继承自OVM和VMM_RAL,而是继承至AVM,VRM或ERM?能回答么? 如果你说OVM很多东西不就是AVM的吗,VMM很多东西不就是VRM的吗?
那我就无话可说......

VMM_RAL比OVM_register功能还是要强一些。
个人感觉VMM_channel也比OVM_port好用

VMM channel 不可复用,不支持1对多(vmm_broadcast)和多对1(vmm_scheduler)。
例如,两个transaction 定义 A exends vmm_data....., B extends vmm_data.....,
vmm 会生成两个类型的channelA_channel 和B_channel,不管A和B有没有关系,即使是A extends B..,
A_channel 和B_channel也毫无关系。
在vmm_generator 和vmm_xactor里面需要声明与之相连的channel,比如
class my_xactor extends vmm_xactor ;
A_channelA ;
........
endclass
也就是说my_xactor需要实现知道A_channel类,这违反了面向对象的封装法则...
还有很多方面vmm_channel 比起OVM_PORT/EXPORT/IMP 有诸多缺点,再比如说vmm_channel不区分
active型 component和 passive型component(ovm 中有区分,比如ovm_analysis_port),vmm_channel包含的方法太多,有些合适initiator有些适合responser,这些vmm没有区分ovm有区分;再如vmm_channel不进行连接检查,而ovm port在编译是就进行类型检查,可以防止一些基本错误如漏连、误连等。
不再一一举例,等你两个都用过之后你会有很多这方面细节的体会,从可重用性角度来说vmm比ovm差很多.....

受教了,还是用的不多,非常感谢!

不用客气,我的观点是实践之后再来发表自己的观点,不管对错都是值得尊敬的,但是如果是人云亦云或者自己拍脑袋说出来的观点就恕我说话有点过激了,呵呵。

VRM是啥?
个人猜测应该是RVM吧, 这个是VMM的 前身:Vera本版

膜拜一下6楼,受教了。

各有千秋吧,根据自己的项目量身定制的就是最合适的,无所谓好坏。

>例如,两个transaction 定义 A exends vmm_data....., B extends vmm_data.....,
>vmm 会生成两个类型的channel  A_channel 和B_channel,不管A和B有没有关系,即使是A extends B..,
>A_channel 和B_channel也毫无关系。
>在vmm_generator 和vmm_xactor里面需要声明与之相连的channel,比如
>class my_xactor extends vmm_xactor ;
 > A_channel  A ;
>  ........
>endclass
>也就是说my_xactor需要实现知道A_channel类,这违反了面向对象的封装法则...

A_channel和B_channel间要有什么关系?B可以put到A_channel并get,这就够了。类似的,my_xactor里直接用基类vmm_channel就好了。
基本上VMM1.2可以算OVM的超集了,两者的可重用性差不多。

好乱啊,谁能缕缕

在这个例子里面,B不能put和get 到A的东西。
OVM的优点是使用工厂模式,提升了环境组件个重用性;OVM的架构比VMM更利于testcase的重用。
例如:在第一个项目中,模块M有三个AXI接口和两个APB接口;
在第二个项目中模块M变成只有两个AXI接口,
如果使用VMM验证环境,如何将第一个项目的M模块验证环境和testcase在第二个项目中重用呢?

找了老久了,太感谢LZ了

有人能解释一下UVM比OVM有哪些优势吗?下面这段文字是个总结
The UVM fully qualifies the baseline features, corrects most of the known bugs and implements enhancement requests. Major new features include a Phasing mechanism, a Register Package (derived from Verification Methodology Manual (VMM) technology) and support for the Open SystemC Initiative's (OSCI) Transaction Level Modeling-2.0 (TLM-2.0) standard to model component transaction connectivity and communication. The Resource Manager is an upgrade to the configuration mechanism that makes it more general and includes a standardized command line interface. Additional new features include callbacks, message catching and functionality in the objection mechanism to manage end of test.

个人觉得主要优势表现在下面几个feature上。1)config机制,引入config机制后,可以统一管理配置信号。
2)phase机制,由原来的run_phase扩展到现在的12个小的phase.
3) callback
4) 寄存器模型(register model)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top