發(fā)布日期:2022-07-15 點(diǎn)擊率:56
學(xué)好驗(yàn)證方法學(xué)需要具備哪些專業(yè)知識(shí)?
在國內(nèi)沒有很多人是專職做驗(yàn)證的,大部分都是既做設(shè)計(jì)也做驗(yàn)證。一般只有大公司才會(huì)設(shè)計(jì)、驗(yàn)證完全分離,有些小公司都不怎么做驗(yàn)證。很多網(wǎng)友對(duì)于如何學(xué)好驗(yàn)證方法學(xué)感到一頭霧水,有網(wǎng)友表示“在這個(gè)專業(yè)里混了一年了,還是找不著北!”專家指出:目前真正做驗(yàn)證的有兩部分人,一種是軟件工程師,他們是純做軟件,所以他們會(huì)注重系統(tǒng)級(jí)或架構(gòu)級(jí)的驗(yàn)證。另外一種就從設(shè)計(jì)轉(zhuǎn)過來的。這些人對(duì)硬件比較熟,他們注重對(duì)Block和System Level的驗(yàn)證。做驗(yàn)證需要一些驗(yàn)證基本理論,關(guān)鍵是要對(duì)Spec很熟。驗(yàn)證有一本入門級(jí)教材《Writing Testbench》,會(huì)對(duì)初學(xué)者有些幫助。
為何不考慮統(tǒng)一硬件仿真的標(biāo)準(zhǔn)?
有網(wǎng)友提出:“不知道現(xiàn)在是驗(yàn)證方法上沒有突破還是驗(yàn)證速度上無法滿足要求?如果暫時(shí)是驗(yàn)證速度無法趕上設(shè)計(jì)規(guī)模的提高,有沒有考慮統(tǒng)一硬件仿真的標(biāo)準(zhǔn)?現(xiàn)在DSP加速和FPGA仿真對(duì)功能驗(yàn)證還是有所幫助,而功能仿真是很多公司最為關(guān)注的。”
對(duì)此,專家表示:目前雖然驗(yàn)證方法學(xué)上有突破,但還是無法滿足設(shè)計(jì)需求。 大家都在推自己的驗(yàn)證方法學(xué),希望它成為業(yè)界的標(biāo)準(zhǔn)。驗(yàn)證方法學(xué)成為標(biāo)準(zhǔn)是好事,所有的源代碼公開,而且整個(gè)方法學(xué)跟工具沒有任何聯(lián)系,在重新選擇工具時(shí)驗(yàn)證環(huán)境就不會(huì)有大的變化。而且其它的提供IP的廠商也會(huì)在這個(gè)共用的平臺(tái)上,這樣就進(jìn)入到一個(gè)良性循環(huán)。目前來講,每家都有自己的硬件仿真過程,但沒有一個(gè)標(biāo)準(zhǔn)出來。 DSP和FPGA仿真對(duì)功能仿真很有幫助,但它不能代替功能仿真,兩種的側(cè)重點(diǎn)不一樣。雖然速度上去了,但Debug是個(gè)大問題。功能仿真是個(gè)過程,語言和方法學(xué)都可能成為標(biāo)準(zhǔn),但功能仿真卻不會(huì)。就像整個(gè)ASIC的過程一樣,并沒有什么標(biāo)準(zhǔn),沒有人規(guī)定這個(gè)時(shí)候需要干什么,大家都按照這個(gè)規(guī)則走,只是每個(gè)階段可以選擇不同的工具,這樣就無所謂標(biāo)準(zhǔn)了。
OVM、AVM相對(duì)于VMM的特色(除開源外)
對(duì)于撲面而來的VMM、URM、OVM等等種種驗(yàn)證方法學(xué),很多工程師一時(shí)難以消化,感到迷惑。有網(wǎng)友提出希望專家解答一下OVM、AVM相對(duì)于VMM的特色。
專家指出:1、OVM除了源代碼開放外,支持Questa、Modelsim、NCsim;同時(shí)支持Mentor和Cadence的驗(yàn)證平臺(tái)。而且所有Class都會(huì)交給Accellera,可以免費(fèi)下載。2、AVM不僅提供SystemVerilog(SV)的實(shí)現(xiàn)方式,同時(shí)也提供SystemC(SC)的實(shí)現(xiàn)。除此,它還對(duì)所有驗(yàn)證組件還提供基于Module和基于Class的兩種解決方案。3、OVM所有的Class都是通過Mentor的AVM和Cadence的URM驗(yàn)證過的。此外,相對(duì)來說AVM比較簡單,對(duì)照源代碼和實(shí)用指南,然后上機(jī)把實(shí)用指南中的例子運(yùn)行一下,就可以上手了!
高級(jí)驗(yàn)證方法學(xué)與傳統(tǒng)方法的區(qū)別
高級(jí)驗(yàn)證方法學(xué)與傳統(tǒng)方法的區(qū)別在于:
1、可重用性:由于高級(jí)驗(yàn)證方法學(xué)是基于SV和SC語言的。語言的特性決定它們是面向?qū)ο蟮木幊?這樣基于類的繼承就可以大規(guī)模提高可重用性。
2、 事務(wù)級(jí)建模: 工程師在驗(yàn)證的過程中要不斷提高編寫驗(yàn)證平臺(tái)的抽象層次,這樣一方面可以提高可重用性,因?yàn)閷哟卧礁?與設(shè)計(jì)的關(guān)系越來越薄。另外事務(wù)級(jí)建模也能提高驗(yàn)證的速度,因?yàn)樵谑聞?wù)級(jí)傳播的是事務(wù),事務(wù)包含更多的信息量。而且由于事務(wù)級(jí)的動(dòng)態(tài)屬性,它需要的Memory也比靜態(tài)要少。
3、 提高驗(yàn)證質(zhì)量和縮短驗(yàn)證時(shí)間:由于采用了一些新的驗(yàn)證技術(shù),比如CDV(Coverage Driven Verification)和CRV(Constrained Random Verification),它可以大幅度提高驗(yàn)證的質(zhì)量并縮短總的驗(yàn)證時(shí)間。
功能點(diǎn)定義標(biāo)準(zhǔn)或者規(guī)范
對(duì)于一個(gè)功能驗(yàn)證來說,定義的功能點(diǎn)越全面,那么驗(yàn)證想要達(dá)到的效果就越好,一般來說這個(gè)過程完全取決于工程師的經(jīng)驗(yàn),現(xiàn)在有沒有更好的方法有效地定義功能點(diǎn)呢?該從哪些方面去考慮這個(gè)問題?對(duì)此,專家指出,當(dāng)前由于由覆蓋率導(dǎo)向的驗(yàn)證方法學(xué)的出現(xiàn),可以根據(jù)覆蓋率的變化去動(dòng)態(tài)修改random的約束因子來達(dá)到增加覆蓋率。另外,基于斷言的驗(yàn)證也能加速該過程,對(duì)于標(biāo)準(zhǔn)的器件可以采用VIP,對(duì)于非標(biāo)的我們可以用在我們需要的地方,比如總線,RAM、FIFO等地方放入斷言,然后利用工具來判斷寫的斷言的密度是否合適。
SVA和PSL的區(qū)別
PSL和SVA都是Accellera組織的標(biāo)準(zhǔn)語言。它們都是基于Cycle的白盒測(cè)試,它們也可以在Block level和System level使用,還可以同時(shí)在靜態(tài)和動(dòng)態(tài)驗(yàn)證中使用。
對(duì)于二者的區(qū)別,專家指出:SVA植根于SV中,SVA包括很多SV的語法、表達(dá)式等,它可以直接寫入SV語言中,也可以通過注解的方式和bind的方式放在HDL語言中;但PSL是單獨(dú)的一種語言,所以它不能直接寫入SV語言中,可以通過注解的方式和bind的方式放在HDL語言中。SVA適合從軟件工程師和硬件工程師從block到系統(tǒng)級(jí),特別是那些喜歡單一語言環(huán)境的用戶,而使用SystemC的客戶比較喜歡用PSL。工程師可以根據(jù)自己項(xiàng)目的情況、語言的學(xué)習(xí)曲線以及未來語言的發(fā)展等來進(jìn)行選擇。
孫瑋整理