VMM与OVM_vvm是什么意思
驗證方法學主要有vmm和ovm兩種。
摘錄一些言論,供參考:
個人感覺Synopsys 的口碑好一些,Cadence 的FAE 比較能忽悠,但有時候不是很能解決問題。偶絕對不是Synopsys 的托了;
synopsys的VMM更成熟;
前端設計還是喜歡synopsys多一點;
VMM的用戶可能多一些,特別在國內(個人感受),不過Synopsys的東西,質量上不如Cadence,技術支持上也許更貼近用戶一些;
本質都差不多,看你怎么用.但OVM是Cadence和Mentor都support的.這個比較好. 從適用性來說,還是OVM強.從功能上來說,由于OVM兼具e language的一些特性,比如factory/sequence,這個比VMM要好.至于FAE的支持,這個是利益驅動的.如果你們公司是global的,軟件也是在國外買的,那國內的EDA公司來support你,對于local的EDA公司,他沒有如何利益,當然support就一般了.
自學自用,推薦OVM,因為論壇的支持好,VMM沒有正版,基本上沒有什么支持。
我已經在我得項目里面從類VMM轉為
OVM
了,從驗證分層來看.兩種方法學本質差不多,在
OVM
里面,我覺得最爽的地方是sequence/sequencer/virtual sequencer,這幾個東西是VMM沒有的
只是兩個死對頭synopsys和cadence分別搞的兩套系統驗證庫而已,差別不大
VMM:
1 架構簡單,容易學習及掌握
2 驗證實現也比較容易,容易使用
3 工具非常穩定,出現問題的概率不大
OVM
:
1 架構靈活,顯得有點復雜(比較建議從VMM入手,對
OVM
的理解會更加快速)
2 驗證實現也比較容易,使用者需要掌握一定的
OVM
知識才能做相應小修改,這一點VMM不一樣,VMM的使用都只要知道constraint怎么下就好
3 IRUN工具不是很穩定,出現問題的概率較大,我使用過程中發現不少問題,不過最后都直接反應給cadence AE,得到解決(現在已經穩定很多)
4
OVM
以agent為基礎的建立方式,方便實現reuse性,這一點VMM做不到(VMM只要DUT小改driver和packet必改),
OVM
agent是基于某種protocol建立的,protocol不改,agent就不需要修改,這樣就可以達到非常強大的reuse性
5 VMM 沒有sequence(正在開發),
OVM
的virtual sequence可以造出各agent工作的任意組合,并行,串行,等等,不修改任何原來的code,只需要加一個virtual sequence即可。VMM做不到,VMM想做這個只能改driver和packet
只說了一些技術上的東西,還有VMM是要錢的,
OVM
是免費的!
VMM和OVM都是基于SV的硬件驗證的方法學,也是當今驗證方法的兩個趨勢。
從本質上來講,VMM和OVM的方法學是一致的,目的都是實現可重用性(reusable)以提高驗證的效率。
VMM是由ARM和Synopsys提出的,OVM則是由Mentor和Candence共同提出的。因此使用Synopsys VCS進行仿真也就選擇了VMM的驗證方法,支持OVM的仿真工具自然就是Mentor和Candence的工具了。
使用OVM最大的好處就是完全open的,使用OVM將不受Mentor和Candence的任何限制;至于VMM,之前是收費的,現在網上有人說是免費的(
VMM 頂不住壓力,也開源了,嘎嘎
),但是我還沒有找到官方的說明,不清楚現在的狀況,知情的人麻煩透漏一下。
VMM和OVM都是基于SystemVerilog(SV)的驗證方法,而SV相對于傳統的HDL語言來說,其最大的好處就是引入了OOP(Object Oriented Programming),OOP的概念基本上是可以跟{封裝(Encapsulation)+繼承(Inheritance)+多態(Polymorphism)}相等同的,至于封裝、繼承和多態,如果學過C++的人自然會明白。引入了OOP之后,SV便可以在更高的抽象層次進行仿真和驗證。
由于引入了OOP,基于SV的驗證方法學也就自然而然的出來了,就像是如今有很多的C++庫一樣,SV也需要相應的庫才能夠實現其面向對象的高效性,開發人員只需要在SV的標準庫上進行開發就可以了,這樣就避免了重復的二次開發,提高了驗證的效率和靈活性。
總結
以上是生活随笔為你收集整理的VMM与OVM_vvm是什么意思的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP成都研究院蓝水晶(Blue Cry
- 下一篇: 什么是ABAP的STATE_READ_A