當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于eRM建立自動化的驗證平臺

摘要:為了縮短SoC項目開發(fā)中前端驗證的時間,實現(xiàn)自動化的可重用性驗證環(huán)境平臺,采用了eRM驗證方法學(xué),通過Sequence,BFM,Moni-tor,Scoreboard,Coverage等驗證組件來實現(xiàn)此驗證平臺,并給出了基于此平臺的一個應(yīng)用實例,極大地提高了驗證的效率和功能覆蓋率。
關(guān)鍵詞:驗證時間;eRM;eVC驗證平臺;隨機測試

    集成電路已進入高速發(fā)展的階段,半導(dǎo)體制造商極為成功的實現(xiàn)了摩爾定律的預(yù)期發(fā)展速度,為了縮短芯片上市時間,驗證工程師必須保證芯片在流片前能得到很完備的驗證。為了使日益復(fù)雜的項目達到理想的功能覆蓋率,驗證面臨著巨大的挑戰(zhàn)。eRM是一種基于e語言的驗證方法學(xué),通過Sequence,Bfm,Mkmitor,Scoreboard,Coverage等驗證組件建立驗證平臺,可以對芯片進行Direct,Random等測試,并且可以很好地統(tǒng)計功能覆蓋率,極大地?fù)?jù)高了驗證效率和生產(chǎn)率。

1 常用驗證方法
    從一個設(shè)計的功能驗證來看,僅通過模塊的接口界面(輸入/輸出信號端口)就完全可以驗證器件的行為以及其實現(xiàn)的所有功能,否則該器件的屬性就是不可控制的或是不可預(yù)測的。功能驗證一般通過以下3種方法:黑盒法、白盒法、灰盒法。
    黑盒法是指驗證人員不需要用關(guān)心設(shè)計內(nèi)部是如何實現(xiàn)的,所有的驗證都可以通過接口完成,無需直接訪問設(shè)計的內(nèi)部狀態(tài)。白盒法是是對設(shè)計的內(nèi)部結(jié)構(gòu)和實現(xiàn)具有完全的預(yù)測和控制能力,根據(jù)驗證功能點可以迅速設(shè)置感興趣的狀態(tài)和輸入激勵,但不具備重用性。而灰盒法是介于二者之間,既有基于界面的驗證組件,也有對內(nèi)部狀態(tài)控制和檢查的組件,為提高驗證效率和重用性,一般采用灰盒法。

2 eRM驗證方法學(xué)
    eRM驗證方法學(xué)采用的是e驗證語言,利用了e語言中的測試激勵的生成、激勵數(shù)據(jù)的驅(qū)動、輸出結(jié)果的采樣、輸出響應(yīng)的檢查、功能覆蓋率分析等組件,降低了驗證過程中的人工干預(yù),提高了驗證的生產(chǎn)率。
2.1 eVC驗證平臺
    eVC(e Verification Component)是基于eRM方法學(xué)的驗證環(huán)境韻通稱,eVC包括所有相關(guān)的驗證組件,從編寫測試激勵到功能覆蓋率的收集,從模塊驗證到系統(tǒng)驗證,都可以通過eVC來實現(xiàn)。為了提高驗證效率,驗證人員都都會開發(fā)一個黃金eVC,在實際項目中只需要根據(jù)實際協(xié)議擴展該黃金eVC即可,在驗證環(huán)境開發(fā)前期,節(jié)省了大量的代碼。典型的eVC驗證結(jié)構(gòu)如圖1所示。Agent是驗證環(huán)境中最主要的驗證組件,所有的驗證組件一般都在Agent里例化,驗證環(huán)境中的Agent一般相當(dāng)于設(shè)計中的實體(由VHDL實現(xiàn)的設(shè)計)或輸入輸出信號端口(由Veri-log實現(xiàn)的設(shè)計)。在圖1所示的eVC里,有2個Agent,RX Agent是從DUT信號端口收集數(shù)據(jù),而TX Agent是指向DUT的信號端口發(fā)送數(shù)據(jù)。并且每個Agent都是按eRM方法學(xué)中的標(biāo)準(zhǔn)方式來構(gòu)建的,Agent里一般包括以下組件:
    Config:包括Agent的屬性和行為,主要配置Agent的數(shù)量及其主動或被動的屬性,一般由驗證人員自主定義的。
    Signals:該組件中定義了一些DUT的信號端口,驗證環(huán)境通過這些端口可以訪問DUT內(nèi)部的所有信號。一般情況下,這些信號是以string類型來定義,并在信號前加sig_前綴,利用hdl_path()函數(shù)指定與其相連接的DUT信號。
    Sequence:是指驗證人員希望加載到DUT的數(shù)據(jù)流,利用sequence既可以定義不加任何約束的隨機數(shù)據(jù),也可以是某些特定的數(shù)據(jù)流。
    Sequence Driver:此組件是連接BFM和sequence的紐帶,將sequence生成的數(shù)據(jù)流發(fā)送到bfm,但不是直接驅(qū)動到DUT信號上,而是將數(shù)據(jù)打包為一個列表,然后由BFM加載到DUT中。
    BFM:總線功能模型,該組件只能在Agent里例化,從圖1中可以看出,BFM具有雙端通道,不僅將Sequence Driver中傳遞的數(shù)據(jù)流加載到DUT的信號端口,而且可以取樣需要檢測的信號,和一般總線的功能相似。

[!--empirenews.page--]
    Monitor:是一個被動組件,Monitor只能采樣需要監(jiān)測的DUT信號和輸入數(shù)據(jù),從圖1中可以看出,Monitor只是單端通道,不能主動驅(qū)動信號。此外,Monitor可以監(jiān)測DUT的輸出響應(yīng),并對監(jiān)測到感興趣的信號發(fā)生變化時激活預(yù)定義的事件,通過此事件可以對當(dāng)前輸入的數(shù)據(jù)進行覆蓋率統(tǒng)計以及對輸出數(shù)據(jù)和信號的時序進行檢查。
2.2 提高功能覆蓋率的方法
    為了提高驗證的生產(chǎn)率和功能覆蓋率,eRM提供了一套標(biāo)準(zhǔn)化的驗證方法,典型的是測試激勵采用隨機(Random)驗證和直接(Direct)驗證方法。直接(Direct)驗證法是指輸入的激勵是驗證人員所期望的,相應(yīng)的輸出也是可以控制和實時監(jiān)控的。但是直接測試方法不能驗證正常功能以為的驗證點,而且編寫每條測試激勵需要耗費大量的時間,一般只在驗證前期調(diào)試驗證環(huán)境或者發(fā)現(xiàn)DUT錯誤的時候才采用直接測試法來定位錯誤。隨機驗證法是為被驗證子模塊或系統(tǒng)產(chǎn)生一系列隨機的輸入序列。采用隨機驗證法可以發(fā)現(xiàn)一些設(shè)計人員沒有預(yù)計到的但實際應(yīng)用中會出現(xiàn)的情況,同時也能找出設(shè)計中很難發(fā)現(xiàn)的錯誤。此外,對于目前大多數(shù)設(shè)計來說,所有輸入情況和內(nèi)部狀態(tài)的組合是無窮的,因此不可能將所有的情況都進行驗證。解決此問題的辦法就是有效的將直接驗證法和隨機驗證法結(jié)合起來。eVC中提供的sequence可以很好地實現(xiàn)以上2種驗證方法,在編寫測試激勵時,可以對Sequence加入任何的約束來產(chǎn)生測試數(shù)據(jù)。為了直觀的看到功能覆蓋率的情況,Spe-cman提供了圖形化的覆蓋率統(tǒng)計界面,每次驗證完一條測試激勵后,都可以生成一個覆蓋率文件,當(dāng)所有的測試激勵驗證完畢后,Specman一次讀入所有的覆蓋率文件,并且將每個功能點的覆蓋率都是用百分比的框圖來表示。

3 eVC驗證平臺的應(yīng)用實例
    下面通過一個應(yīng)用實例來介紹如何基于eRM建立自動化驗證平臺,該實例中待測模塊fifo是一個簡單的存儲模塊,其驗證平臺如下圖2所示。


    在驗證fifo時,先驗證fifo的正常讀寫功能,再驗證其讀寫的極端情況,即將fifo寫滿直至溢出或者讀空,并且實時的監(jiān)測fifo讀出的數(shù)據(jù)及其狀態(tài)。圖2中的各個文件都是用e驗證語言中的Struct或Unit來實現(xiàn)的。
    (1)信號接口fifo_signal。fifo_signal中定義了所有需要與fifo相連接的信號,既可以是接口信號也可以是fifo的內(nèi)部信號,fifo_bfm可以通過這些信號端口向fifo輸入激勵,也可以采樣部分輸出信號。
    (2)總線驅(qū)動接口fifo_bfm。在fifo_bfm中,通過drive()函數(shù)將sequence里生成的數(shù)據(jù)加載入fifo中,也可以在總線端口產(chǎn)生fifo的讀寫時序,將數(shù)據(jù)和地址寫入fifo中,此組件也可以采樣驗證人員感興趣的信號。
    (3)輸入數(shù)據(jù)流fifo_seqtlence。在fifo_sequence中,主要是根據(jù)所加約束來產(chǎn)生fifo的測試數(shù)據(jù)。fifo_sequence的定義中包含三部分,分別是item,sequence_driver以及sequence_kind。其中item是模擬fifo需要的輸入激勵來定義,例如數(shù)據(jù)以及讀寫信號等。sequen-ce_driver將生成的數(shù)據(jù)包發(fā)送給fifo_bfm。sequence_kind是指定需要的各種sequence,一般由驗證人員根據(jù)實際設(shè)計協(xié)議自主定義的。
    (4)監(jiān)視器fifo_monitor。fifo_monitor主要是對寫入和讀出fifo的數(shù)據(jù)進行監(jiān)測,并實時檢查fifo的狀態(tài)是否與實際的輸入相符。fi-fo_monitor是一個被動組件,不能驅(qū)動信號,本例中只能采集fifo的數(shù)據(jù)和狀態(tài)信號并且釋放在Item中定義的事件,作為fifo_coverage統(tǒng)計fifo的數(shù)據(jù)及其狀態(tài)覆蓋率的敏感事件。
    (5)fifo_coverage組件。fifo_coverage中定義了所有的需要統(tǒng)計覆蓋率的數(shù)據(jù),例如統(tǒng)計fifo的狀態(tài)變化、寫入的數(shù)據(jù)等,并在每驗證完一條測試激勵后,可以實時的觀測到該覆蓋率的變化。
    (6)評分板fifo_sb。fifo_sb是一個用來做自動化比較的組件,并對輸入的激勵進行一系列的處理,預(yù)先得到一個絕對正確的輸出結(jié)果,并與從fifo中fifo_monitor采集到的輸出數(shù)據(jù)逐一進行比較,如果二者的數(shù)據(jù)或時序不同,就會報出錯誤信息。
    (7)eVC中expect和check檢查。在eRM中,提供了一些特定的檢查時序的函數(shù)和語法,和Verilog中斷言Assert一樣,使用Expect或者Check可以將fifo的設(shè)計規(guī)范中的fifo_empty,fifo_full等狀態(tài)的與實際在仿真器中的監(jiān)測到的fifo狀態(tài)進行比較,如果二者不相符,則通過函數(shù)dut_error()輸出相應(yīng)的錯誤信息。

4 結(jié)語
    本文以fifo為例,采用了基于eRM驗證方法學(xué)來建立自動化的驗證平臺,并詳細(xì)介紹了fifo驗證環(huán)境框架結(jié)構(gòu)中各個組件的功能和實現(xiàn)方法,極大地提高了fifo的驗證效率和功能覆蓋率。該平臺完全繼承eRM驗證方法學(xué),主要采用了eRM中的直接測試法和隨機測試法,具有較高的驗證重用性,大大的縮短了實際項目開發(fā)中搭建驗證環(huán)境的時間,并已得到了廣泛的應(yīng)用。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉