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