999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VMM中功能覆蓋率收斂技術(shù)

2010-04-12 00:00:00黃思遠(yuǎn)邵智勇于承興
現(xiàn)代電子技術(shù) 2010年4期

摘 要:介紹SystemVerilog VMM驗證方法學(xué)在LCD Controller驗證中的應(yīng)用,指出它相對于傳統(tǒng)Verilog驗證方法的優(yōu)點,重點研究功能覆蓋率的收斂技術(shù),實驗比較了多種具體的實現(xiàn)方法。實驗結(jié)果表明,由于CCT能夠收集覆蓋信息,形成閉環(huán)負(fù)反饋,以控制隨機變量的生成,從而在實現(xiàn)快速收斂的目標(biāo)方面取得了顯著的效果。

關(guān)鍵詞:SystemVerilog VMM;IC驗證;功能覆蓋率收斂技術(shù);SoC

中圖分類號:TN710文獻標(biāo)識碼:A

文章編號:1004-373X(2010)04-016-03

Functional Coverage Convergence Technology in VMM

HUANG Siyuan,SHAO Zhiyong,YU Chengxing,CHANG Hua,ZHANG Bo

(Verisilicon Microelectronic (Shanghai) Co.Ltd.,Shanghai,201204,China)

Abstract:The application of SystemVerilog VMM verification methodology in the LCD controller is introduced.Its advantages over the traditional verification methodology based on Verilog are sumarized.Focusing on the functional coverage convergence technology and comparing some kinds of its implementing methods.Coverage Convergence Technology(CCT)can make the coverage to converge quickly due to its negative feedback loop of collecting coverage information and controlling random generation.

Keywords:SystemVerilog VMM;IC verification;functional coverage convergence technology;SoC

0 引 言

隨著IC設(shè)計中SoC規(guī)模的不斷擴大,需驗證在整個設(shè)計流程中所占比重也越來越大,因此先進驗證方法學(xué)的研究和應(yīng)用也隨之涌現(xiàn)。Synopsys公司推出基于SystemVerilog語言的VMM(Verification Methodology Manual)驗證方法學(xué)就是其中較突出的一種,在業(yè)界的應(yīng)用也越來越廣泛,采用SystemVerilog VMM取代基于Verilog語言的傳統(tǒng)驗證方法也逐步成為IC驗證領(lǐng)域的一種發(fā)展趨勢。

SystemVerilog語言是一種比Verilog更為抽象的高級面向?qū)ο缶幊?OOP)語言,相對于傳統(tǒng)Verilog驗證方法,VMM驗證方法學(xué)的核心優(yōu)勢是具備了功能覆蓋率驅(qū)動的隨機約束(Coverage Driven Random Constraints)能力,而如何控制約束的生成和快速達到理想的功能覆蓋率就成為所必須面對的問題和追求的目標(biāo)。以筆者實際研發(fā)項目LCD Controller的驗證為例,比較SystemVerilog VMM驗證方法學(xué)和傳統(tǒng)Verilog驗證方法的優(yōu)劣,重點研究快速達到功能覆蓋率收斂的相關(guān)技術(shù)和實現(xiàn)方法。

1 LCD Controller的SystemVerilog VMM 驗證

LCD Controller是專門為筆者公司嵌入式雙核多媒體SoC芯片所開發(fā)的全新IP,它的驗證對于該芯片視頻顯示功能的正常應(yīng)用至關(guān)重要。因此,以該IP為對象,分別用傳統(tǒng)的Verilog方法和SystemVerilog VMM方法對其進行了驗證,比較兩種驗證方法的優(yōu)劣。

1.1 基于Verilog的傳統(tǒng)驗證

毋庸多言,傳統(tǒng)的Verilog驗證方法就是用Verilog語言來搭建測試平臺(Testbench),如圖1所示。其中,DUT(Device Under Test)是待驗證的LCD Controller,即VO_top。測試環(huán)境中的Ahb_master,Sdram_mdl,Lcd_model,Vo_interface都是由Verilog描述的行為模型。其主要功能就是由Ahb_master模擬CPU來配置和控制DUT。DUT從Sdram_mdl中讀取預(yù)先生成的視頻幀數(shù)據(jù),然后按照CPU配置格式輸出給Lcd_model,vo_interface模型用來監(jiān)控收集輸出數(shù)據(jù),仿真結(jié)束后用于和期待的正確幀數(shù)據(jù)做比較,以報告本次仿真是成功或失敗。這里的比較和檢查功能(Self_check)獨立于仿真過程,由腳本單獨完成。

由此可以看出,對DUT的功能測試只能是每次采用人工腳本來編寫Testcase去配置和控制DUT,以實現(xiàn)預(yù)定功能的測試。然而這需要消耗大量的資源,包括人力和時間,而且還存在無法測試到?jīng)]有預(yù)料到的缺陷。當(dāng)測試完成后,仍然只能依賴于人工去檢查測試是否完備,除了消耗資源以外,還無法得到理想的功能覆蓋率。顯而易見,諸如此類的問題在基于Verilog的傳統(tǒng)測試中是難以避免的。

圖1 LCD Controller的Verilog測試平臺

1.2 基于SystemVerilog的VMM驗證

與傳統(tǒng)的Verilog驗證方法不同,基于SystemVerilog的VMM驗證是依據(jù)VMM方法學(xué),用SystemVerilog語言來搭建測試平臺,如圖2所示。DUT是待驗證的LCD Controller,用單獨的Interface將其與testbench隔離,testbench各個模塊和Interface都是用SystemVerilog描述的。其功能與1.1節(jié)所述大致相同,所不同的主要有三點:一是這里的配置(configuration)可以隨機產(chǎn)生,testcase只用來控制隨機產(chǎn)生的范圍,這就取代了1.1節(jié)的人工生成配置和控制變量;二是可以定義和報告功能覆蓋率(Functional Coverage);三是這里的比較和檢查功能(Self_check)集成在Testbench中,不再需要在仿真結(jié)束后用腳本來實現(xiàn)。

圖2 LCD Controller的SystemVerilog VMM測試平臺

由于配置和控制變量是隨機產(chǎn)生的,使得不僅能檢測預(yù)定的功能,還能檢測沒有預(yù)料到的缺陷。此外,借助功能覆蓋率收集和報告功能,能夠隨機生成更多的配置,迅速增加功能測試的覆蓋率,提高DUT的可靠性。

1.3 基于SystemVerilog的VMM驗證方法學(xué)的先進性

通過對這兩種驗證方法的比較可以總結(jié)出,相對于傳統(tǒng)Verilog驗證方法,基于SystemVerilog的VMM驗證方法的主要優(yōu)點如下:

(1) 可以定義功能覆蓋點(Functional Cover Point),可以隨機產(chǎn)生配置變量(Configuration),而Configuration的約束(Constraint)是由Coverage驅(qū)動的,所以由此產(chǎn)生的測試容易得到更高的功能覆蓋率。

(2) VMM的驗證平臺具有更廣泛的跨模塊、跨系統(tǒng)、跨項目的重用性,這是由其內(nèi)在的幾個特性決定的。首先,SystemVerilog語言是一種面向?qū)ο缶幊?OOP)的高級語言,其基于類的數(shù)據(jù)結(jié)構(gòu)本身就具備很高的重用性;其次,VMM建立了一套標(biāo)準(zhǔn)的模塊化方法,具有統(tǒng)一的層次結(jié)構(gòu)和編碼風(fēng)格,這些都極大地方便了測試平臺的重復(fù)使用。

(3) VMM很容易實現(xiàn)基于斷言的驗證。SystemVerilog語言具有豐富的斷言(Assertion)語法,是一種典型的ABV(Assertion Based Verification)語言。在該LCD Controller的SystemVerilog VMM測試平臺中也加入了Assertion功能,尤其是它對協(xié)議方面的驗證非常有效。

除此之外,相對于傳統(tǒng)Verilog驗證方法,基于SystemVerilog的VMM驗證方法還有統(tǒng)一的消息報告機制,統(tǒng)一的九個執(zhí)行步驟,容易創(chuàng)建特別測試(corner case)更小的波形文件等優(yōu)點,在此不再敖述。

2 SystemVerilog的VMM 驗證中功能覆蓋率的快速收斂

如前所述,VMM驗證方法學(xué)的核心優(yōu)勢是具備了功能覆蓋率驅(qū)動的隨機約束(Coverage Driven Random Constraints)能力,能夠比較方便地得到更高的功能覆蓋率。如何控制約束的生成,以快速達到理想的功能覆蓋率,則功能覆蓋率的收斂技術(shù)是必須面對的問題,對此進行了一些有益的探索。

2.1 VMM內(nèi)嵌的restart機制

通常,運行一次仿真只能測試到一種配置、一次激勵,得到相應(yīng)的功能覆蓋率。而VMM內(nèi)嵌的restart機制,可以在一次運行中的標(biāo)準(zhǔn)九個步驟完成后自動重啟,再執(zhí)行一遍九個步驟。這里試圖通過在多次restart之間改變隨機變量,以測試不同配置來提高功能覆蓋率。通過試驗,這種方法有一定效果,但也具有很大的弊端,主要是其內(nèi)在運行機制很難控制,出現(xiàn)問題難以調(diào)試,對編碼風(fēng)格有嚴(yán)格的要求,其次是對隨機變量的控制不直接,仍然會有大量的重復(fù)。

2.2 改變隨機種子(Random Seed)的Simon方法

既然運行一次仿真,只能測試到一種配置、一次激勵,得到相應(yīng)的功能覆蓋率。那么每次仿真,可以通過命令選項的形式來指定不同的隨機種子(Random Seed),從而改變生成的隨機變量,以得到不同的配置來測試與前一次不同的功能,命令如下:

vcs +ntb_random_seed=1000…

可以通過腳本實現(xiàn)自動運行多次仿真,每次仿真都改變隨機種子,這樣就能在一定程度上減少生成重復(fù)的隨機變量,更快地得到更高的功能覆蓋率。在此,把這種方法命名為Simon方法,如圖3所示。

但是這種方法也有一定的弊端,主要是運行次數(shù)不能預(yù)先確定,需要人工觀察覆蓋率是否收斂,然后再決定是否需要繼續(xù)運行,以及運行多少次,這是一個不斷嘗試和重復(fù)的過程。此外,由于是通過改變隨機種子來控制隨機變量的生成,仍然有一定的盲目性,而且還會有較多的重復(fù)配置產(chǎn)生,因此功能覆蓋率的收斂仍然需要較多的運行次數(shù),相應(yīng)增加了總的運行時間(Runtime)。

2.3 功能覆蓋率收斂技術(shù)

功能覆蓋率的收斂技術(shù)(Coverage Convergence Technology,CCT)是Synopsys公司計劃于2009年6月推出的一項新技術(shù),筆者有幸與其工程師共同完成了這項技術(shù)在LCD Controller的SystemVerilog VMM測試中的實際應(yīng)用。

與Simon方法的思路一樣,CCT的基本原理同樣是根據(jù)每次仿真后的Coverage值來控制下一次的隨機變量的生成,所不同的是不再是簡單地改變隨機種子,而是會記錄當(dāng)前功能覆蓋信息,并據(jù)此來約束隨機變量的生成,以減少重復(fù)配置,從而快速達到覆蓋率收斂的目標(biāo)。在此基礎(chǔ)上,筆者探索發(fā)明了CCT的腳本控制技術(shù),使得整個過程在功能覆蓋信息與隨機變量生成之間形成了一個負(fù)反饋閉環(huán)控制系統(tǒng),不再需要人工檢查coverage和設(shè)定運行次數(shù),當(dāng)功能覆蓋率收斂到一定值后,即可自動結(jié)束運行,如圖4所示。

CCT的具體實現(xiàn)在代碼編寫和腳本控制方面都有自己特點的要求:

首先,在代碼方面,需要在隨機變量所在的類結(jié)構(gòu)里定義Coverage Group和Cover Point,同時在此類里生成(New)和隨機化(Randomize)配置信息(Configuration),對功能覆蓋點(Cover Point)的采樣(Sample)也在此類里于隨機化(Randomize)時進行。

其次,在腳本控制方面,需要將運行步驟分為三個特定的階段。第一是只執(zhí)行編譯工作,同時要在編譯命令行里添加CCT選項;第二是首次執(zhí)行仿真工作,建立反饋控制的偏差記錄;最后是反復(fù)執(zhí)行多次仿真工作,每次Synopsys仿真工具VCS的CCT功能,根據(jù)當(dāng)前記錄的功能覆蓋信息來約束隨機變量的生成,盡量減少重復(fù)配置,以測試不同的功能覆蓋點,迅速增加功能覆蓋率。不過為了能夠?qū)崿F(xiàn)仿真的自動退出,需要用單獨的腳本在每次運行完成后收集功能覆蓋率信息,然后進行收斂性檢查,如果已收斂,則退出仿真,否則繼續(xù)。

圖3 改變隨機種子的Simon方法流程圖

圖4 CCT流程圖

2.4 CCT技術(shù)和Simon方法的實驗對比

由前兩節(jié)可以看出,相對于Simon方法,CCT技術(shù)在整個仿真過程中不再需要人工干預(yù),實現(xiàn)了自動完成功能覆蓋率的收斂,并退出仿真的功能。此外,在快速收斂的效率上CCT技術(shù)也具有顯著的優(yōu)勢。

為此,以LCD Controller的SystemVerilog VMM驗證為例,分別用這兩種方法對其進行了實驗測試,結(jié)果如表1所示。

表1 CCT技術(shù)和沒有CCT的Simon方法的實驗對比

沒有CCT的Simon方法CCT方法

實驗機器IBM X3655 Sever

CPUAMD Dual Core 64 b 2.8 GHz

仿真器VCS 08.09VCS 09.06

Coverage Group13個

Cover Point246個

Coverage98.08%

仿真次數(shù)71862

運行時間26 h57 min

由表1可以看出,在仿真次數(shù)和運行時間上,使用CCT技術(shù)的方法比沒有使用CCT技術(shù)的方法都大大減少;在自動運行控制的效率和功能覆蓋率快速收斂的效率方面,使用CCT技術(shù)比不使用CCT技術(shù)都有極大的提高。

3 結(jié) 語

綜上所述,相對于傳統(tǒng)的Verilog驗證方法,由于基于SystemVerilog語言的VMM驗證方法具有功能覆蓋率驅(qū)動的隨機約束(Coverage Driven Random Constraints)能力,以及許多其他優(yōu)勢,使得它在IC設(shè)計驗證領(lǐng)域的應(yīng)用越來越廣泛。而CCT技術(shù)能夠根據(jù)功能覆蓋信息形成閉環(huán)負(fù)反饋,用以控制隨機約束的生成,以使功能覆蓋率快速收斂,從而顯著地提高了它的驗證效率。因此它必將成為今后IC設(shè)計驗證方法學(xué)的一個重要發(fā)展方向。

參考文獻

[1]Synopsys.SystemVerilog Testbench Workshop[Z].2006.

[2]Synopsys.SystemVerilog VMM Workshop[Z].2006.

[3]Janick Bergeron.SystemVerilog驗證方法學(xué)[M].夏宇聞,譯.北京:北京航空航天大學(xué)出版社,2007.

[4]張珩,辜帆.VMM驗證方法在AXI總線系統(tǒng)中的實現(xiàn)[J].中國集成電路,2007(6):20-23.

[5]侯海軍,郭斌林.基于VMM的芯片驗證平臺設(shè)計[J].中國水運,2008(12):111-112.

[6]徐偉俊,楊鑫.針對功能覆蓋率的驗證過程[J].中國集成電路,2007(7):58-62.

[7]丁婷婷,申敏.分層式驗證平臺及覆蓋率技術(shù)在SoC上的應(yīng)用[J].北京電子科技學(xué)院學(xué)報,2007(6):55-57.

[8]侯秋菊,沈海華.IP可重用的AMBA AXI總線驗證平臺設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2008(4):1 713-1 715.

[9]遲志剛,高德遠(yuǎn),樊曉椏,等.一種基于功能覆蓋率的驗證環(huán)境的構(gòu)建方法[J].計算機工程與應(yīng)用,2006(5):88-90.

[10]閆沫,劉釗遠(yuǎn).System Verilog語言在數(shù)字系統(tǒng)設(shè)計中的應(yīng)用[J].微電子學(xué)與計算機,2008,25(6):127-131.

主站蜘蛛池模板: 成年A级毛片| 成人免费午间影院在线观看| 国产成人凹凸视频在线| 欧美成人怡春院在线激情| 无码综合天天久久综合网| 伊人久久大香线蕉影院| 国产成人亚洲精品蜜芽影院| 国产在线视频导航| 国产麻豆精品手机在线观看| 久久精品丝袜| 国产成人综合久久精品尤物| 中文字幕不卡免费高清视频| 中文字幕亚洲精品2页| 欧美在线伊人| 丁香五月激情图片| 九九热精品视频在线| 日本午夜精品一本在线观看| 午夜日b视频| 成人在线视频一区| 一本视频精品中文字幕| 一本久道热中字伊人| 网友自拍视频精品区| 91青青草视频| 99精品视频播放| 国产白浆视频| 第九色区aⅴ天堂久久香| 亚洲午夜综合网| 免费人成在线观看成人片| 国产白浆在线观看| 国产SUV精品一区二区| 日本成人福利视频| 日韩国产亚洲一区二区在线观看| 黄色三级毛片网站| 日韩成人在线网站| 国产18页| 亚洲视频在线网| 91精品小视频| 狠狠色丁香婷婷| 九九久久精品免费观看| 91极品美女高潮叫床在线观看| www欧美在线观看| 亚洲色中色| 黄色a一级视频| 91在线免费公开视频| 精品国产自在现线看久久| 国产精品一线天| 欧美激情综合一区二区| 精品国产一区91在线| 青青操视频在线| 国产成人三级| 欧美三级不卡在线观看视频| 2020精品极品国产色在线观看| 91av成人日本不卡三区| 精品久久久久成人码免费动漫| 免费无码网站| 91成人免费观看在线观看| 国产精品 欧美激情 在线播放| 欧美福利在线观看| 九九热精品在线视频| 国产精品密蕾丝视频| 美女高潮全身流白浆福利区| 亚洲第一天堂无码专区| 国产主播一区二区三区| 99热最新在线| 久久国产精品嫖妓| aⅴ免费在线观看| 黄色不卡视频| 国产精品欧美在线观看| 久久久久久久蜜桃| 国产欧美专区在线观看| 精品视频一区在线观看| 免费无码又爽又刺激高| 伦精品一区二区三区视频| 欧美国产三级| 九月婷婷亚洲综合在线| 亚洲国产成人精品无码区性色| 久久国产高清视频| 久久五月天国产自| Aⅴ无码专区在线观看| 欧美性精品| 免费高清自慰一区二区三区| 天堂网亚洲系列亚洲系列|