vmm到底有没有价值?
使用它的好处是什么?缺点又是什么?
不知道是啥?菜鸟路过。
在我看来,VMM强大的地方在于:
1.使用类得概念,有可能构建可重用的测试环境。
2.强大的random控制,可以在约束条件下产生很多随机的测试向量,构造许多人脑不容易想到的情况,但是又是容易打到bug的测试向量。
3.system verilog特有的function coverage可以保证测试到了所有自己想测试的点。
不过就个人使用感觉来看,OVM的架构比VMM更适合可重用的测试。
OVM的架构较VMM更加清楚,易于维护。
楼上列举的1、2、3都是SV本身就支持的啊!
没错,上述都是SV的优点,但是如何把SV应用到验证之中,如何把SV中有用的东西拿来为验证服务,VMM是其中之一,所以选择VMM就自然而然的继承了SV的优点。
至于VMM与其他基于SV的如OVM等相比的优缺点,这应该不是小编想要讨论的问题吧。
VMM的优点:
1)用channel替代sv的mailbox,components通讯起来更方便(ovm的tlm更强大)
2)用notify替代了sv的event,更加可靠
3)用自带的消息管理替代$display,更能更强大
4)各种generator,方便产生各种激励(ovm的sequencer更强大)
5)RAL提供了更加强大的寄存器读写功能
6)callback可以在不修改testbench的情况下改变component的行为(ovm的factory功能更强大)
vmm1.2引入了很多ovm的技术,但是和1.1的一致性被破坏了。另外,vmm虽然说是源代码公开,但是至少nc是无法编译的。
个人感觉OVM更好用!
OVM要比VMM复杂得多,对验证工程师的要求更高。OVM属于那种入门简单,提高困难的那种。
个人觉得,OVM的亮点就在sequence。
VMM的vmm_ms_scenario就对应了sequence。OVM的核心竞争力是factory。
sequence那一坨东西,和scenario比起来,还是NB多了。
我倒觉得callback和factory差不多。
你要看哪一个scenario,ms_scenario和sequence原理是一样的。
至于callback,首先你必须事先知道那里需要加callback,其次callback能做的事情非常有限,那像factory能整个替换掉来的方便。
受教了
其实验证方法学和工具都是手段,关键还是要针对每个具体的项目!
所有的科技都使手段,rtl是手段,dc是手段,pt是手段,icc是手段,但是没有这些手段你拿什么做项目?
面试的时候,是不是可以说你问的问题都是手段,关键具体项目?没有金刚钻你揽得下瓷器活吗?
我觉得用vMMzuorandom很好,而且也够用了
來看看大家的評論
学习了;
学习,路过
另外:
1)使用方法学,可以确保不同的验证工程师搭建的验证平台的一致性,便于非验证平台开发人员进行阅读和维护
如果不使用验证方法学,对于验证团队的leader就悲催了,互检、X检、验证平台搭建和测试例编写由不同的人实现、验证平台搭建和维护由不同的人实现等会浪费大量的人力成本。
2)使用vmm的宏,可以很方便生成一些components,如generator、transaction等
3)vmm_env、vmm_xactor使用固定的形式,是验证工程师更多的考虑功能实现,而不是搭建验证平台的架构
4)使用方法学,可以减少大量的注释,(而且是合法的,呵呵,可以在vmm_env中不加一行注释,leader也不能说什么,不用方法学的话,20%以上的注释就是必须的了),这是一件很爽的事情。
我听说好像是OVM是公开源代码的吧?再请问一下,有没有关于OVM的比较好的书或者资料。最好是中文版的。谢谢!
还是学UVM吧,三家归晋了。
其实VMM和UVM都差不多,UVM的结构更清晰一点,可复用性更好,特别是子环境复用到主环境。毕竟是按照做成标准的方向去做的,不过统一也不是什么好事啊。
OF COURSE, WE USE IT
现在三家的验证库都合成一个了,使用就更方便了,也更有利用以后的交流。这种统一是迟早的事。
但合久必分,分久必合的道理不知道当说不当说。嘿嘿。
正在学习中,还不懂啊!小菜鸟飘过,认真学习前人观点
我是来学习啊~加油啊小编
我来学习,看大家怎么讨论的。
学习学习,
vmm1.2支持了factory,不过 我太菜鸟
好帖子顶起来。