国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OVM的可重用自動化驗證平臺

2016-10-31 06:07:33楊小麗
西安航空學(xué)院學(xué)報 2016年5期
關(guān)鍵詞:斷言方法學(xué)覆蓋率

楊小麗

(西安航空學(xué)院 電子工程學(xué)院, 陜西 西安 710077)

?

基于OVM的可重用自動化驗證平臺

楊小麗

(西安航空學(xué)院 電子工程學(xué)院, 陜西 西安 710077)

介紹了OVM(Open Verification Methodology)驗證方法學(xué)的基本概念和技術(shù),從驗證環(huán)境的體系架構(gòu)、驗證組件的可重用性和驗證過程等方面進(jìn)行詳細(xì)說明,給出一個使用e語言實現(xiàn)的基于OVM的可重用自動化驗證平臺的實例?;贠VM的可重用自動化驗證平臺可提高SoC(System on a chip)功能驗證的可重用性、可擴(kuò)展性和驗證效率。

OVM;可重用;驗證平臺;SoC

0 引言

隨著集成電路工藝幾何尺寸和電路特性的持續(xù)改進(jìn),半導(dǎo)體制造商成功的實現(xiàn)了摩爾定律的預(yù)期和發(fā)展速度,SoC(System on a Chip)設(shè)計的規(guī)模和復(fù)雜度日益增加,導(dǎo)致驗證工作的困難呈指數(shù)級增長。統(tǒng)計顯示,驗證占據(jù)了超過70%的設(shè)計開發(fā)周期,是SoC設(shè)計開發(fā)的主要瓶頸,這就使得驗證的方法受到高度重視,驗證方法學(xué)成為研究的熱點(diǎn)。使用先進(jìn)的驗證方法學(xué)建立高效的、可重用的自動化驗證平臺對片上系統(tǒng)設(shè)計的成功起著關(guān)鍵作用[1]。

OVM(Open Verification Methodology)驗證方法學(xué)是Mentor Graphics公司和Cadence公司共同推出的通用、開放源代碼的驗證方法學(xué),提供了豐富的驗證資源和高級的驗證技術(shù)[2]。應(yīng)用OVM搭建驗證平臺可以提高SoC的驗證效率。

1 驗證平臺的搭建方法及特點(diǎn)

功能驗證平臺的搭建一般有以下幾種方法:基于硬件描述語言HDL的傳統(tǒng)方法;基于斷言的驗證方法;基于高級驗證語言和驗證方法學(xué)的方法。

1.1基于硬件描述語言HDL的傳統(tǒng)方法

傳統(tǒng)方法使用Verilog或VHDL硬件描述語言來構(gòu)建驗證環(huán)境,開發(fā)測試向量進(jìn)行仿真。一般來說具有以下特點(diǎn):針對DUT(Device Under Test)的特定屬性,編寫大量定向測試用例;由人工來決定驗證路徑和驗證目標(biāo),人工檢查和判斷驗證結(jié)果。

隨著設(shè)計復(fù)雜度的增加,傳統(tǒng)驗證方法顯現(xiàn)出諸多缺點(diǎn):

(1)驗證平臺缺乏層次化,難以重用和擴(kuò)展,可讀性和可維護(hù)性差;

(2)需要手動開發(fā)大量邊緣測試案例;

(3)覆蓋率低;

(4)面對復(fù)雜設(shè)計難以開發(fā)強(qiáng)大的驗證環(huán)境;

(5)排查錯誤困難,驗證效率低等。

1.2基于斷言的驗證方法

基于斷言的驗證方法是在設(shè)計源碼中的關(guān)鍵點(diǎn)插入斷言語句,在仿真過程中,由斷言語句發(fā)現(xiàn)設(shè)計優(yōu)缺點(diǎn),具有如下優(yōu)勢:

(1)可以提高設(shè)計的可觀測性,找出傳統(tǒng)方法的輸出結(jié)果難以表現(xiàn)的錯誤;

(2)快速跟蹤錯誤根源,縮短調(diào)試時間;

(3)易于發(fā)現(xiàn)設(shè)計IP集成過程中出現(xiàn)的問題,提高設(shè)計效率;

(4)不需要用戶設(shè)計復(fù)雜的驗證環(huán)境。

基于上述優(yōu)點(diǎn),在今后的設(shè)計中插入斷言語句將成為一種趨勢。但是,也存在一定問題,一般斷言是設(shè)計者描述的,有可能設(shè)計代碼和驗證代碼都是錯誤的,導(dǎo)致無法發(fā)現(xiàn)問題,而且目前的斷言不可綜合,以后仿真中無法使用。

1.3基于高級驗證語言和驗證方法學(xué)的驗證平臺

基于驗證語言和驗證方法學(xué)的方法即基于專用驗證語言,并在相應(yīng)的驗證方法學(xué)的指導(dǎo)下構(gòu)建驗證平臺,具有相應(yīng)工具的支持,可為功能驗證的實現(xiàn)提供完整的解決方案。該方法能有效克服傳統(tǒng)驗證環(huán)境的缺點(diǎn),具有高度的可重用性,并能利用先進(jìn)的自動化驗證技術(shù),大大提高驗證效率。

由于硬件描述語言和C語言等傳統(tǒng)語言在驗證方面的能力不足,難以開發(fā)有效的驗證環(huán)境,于是出現(xiàn)了專門用于驗證的高級驗證語言,例如,SystemC、SystemVerilog、e語言等。這些高級驗證語言都有相應(yīng)的驗證方法學(xué)的支持,如SystemVerilog可以基于VMM方法搭建驗證平臺[3]。目前主流的驗證方法學(xué)主要有Synopsys公司的RVM、VMM,Mentor公司的AVM,Cadence公司的UVM以及Cadence和Mentor聯(lián)合推出的OVM等[4]。其中VMM和OVM作為新興的驗證方法學(xué),逐漸取代其他方法學(xué),得到廣泛應(yīng)用。

2 基于OVM的驗證環(huán)境

2.1OVM簡介

OVM(Open Verification Methodology)是一個支持多種驗證語言的、開源的方法學(xué)和技術(shù)[5]。OVM是基于SystemVerilog提出的,在e語言基礎(chǔ)上發(fā)展起來的一種驗證方法學(xué)。為了整合資源,適應(yīng)更復(fù)雜的驗證需求,Cadence和Mentor聯(lián)合推出了為多語言而構(gòu)建的開源方法學(xué)OVM,可以將SystemVerilog、e以及SystemC等不同語言所構(gòu)建的驗證環(huán)境以及VIP(Verification IP)整合在一起使用。OVM是獨(dú)立于驗證語言的驗證方法學(xué)。OVM方法學(xué)提供了構(gòu)建可重用驗證環(huán)境的方法和規(guī)范,包含針對每種語言的方法指導(dǎo)、庫、例子和培訓(xùn),指導(dǎo)驗證人員進(jìn)行驗證代碼的設(shè)計、編碼和封裝,構(gòu)建可重用的驗證組件。下面對OVM的驗證環(huán)境、驗證組件UVCs(universal verification components)、OVM如何實現(xiàn)可重用性和驗證自動化作簡要介紹。

2.2OVM驗證環(huán)境

OVM驗證環(huán)境由可重用驗證組件UVCs(universal verification components)組成。對于這些驗證組件的組織安排決定了驗證環(huán)境搭建的質(zhì)量。OVM對UVCs的結(jié)構(gòu)、封裝、配置和術(shù)語等制定了一套標(biāo)準(zhǔn)。典型的OVM環(huán)境結(jié)構(gòu)如圖1所示。

圖1典型的OVM環(huán)境

由圖 1可見,一個典型的OVM環(huán)境包括Interface UVCs、 Module UVCs、 System UVCs和Software UVC等。Interface UVC是OVM驗證環(huán)境最基礎(chǔ)的組成模塊,Module UVCs可由Interface UVCs和其他需要的組件組成,System UVCs可由Module UVCs和Interface UVCs組成。每個UVC里都包括檢查(checking),覆蓋率(coverage)的統(tǒng)計和激勵序列(sequences)等。

2.3可重用UVCs

UVCs(universal verification components)是OVM驗證環(huán)境的基本組成模塊。每一個UVC都是封裝好的可配置的組件。通常有三種類型的UVCs:Interface UVCs、Module UVCs和System UVCs。

Interface UVCs是與DUT的直接接口,通常涉及某個特定的協(xié)議,像PCI,TCP/IP,Ethernet等。Interface UVCs通常包括如下元素:

Agents:模擬DUT的頂層文件,與VHDL實現(xiàn)中的實體類似[6]。通過端口(ports)連接到DUT,由Driver,Sequencer和Bus monitor組成。一個UVC可以包含多個agent。Agents可通過配置參數(shù)來實現(xiàn)不同的操作模式,可以配置為驅(qū)動并監(jiān)視接口的主動(Active)模式或僅僅監(jiān)視接口的被動(Passive)模式。

典型的UVC Agent,如圖2所示。

圖2 UVC Agent

Driver也叫BFM(Bus Function Model):通過驅(qū)動和采樣DUT信號來與DUT交互,將傳遞的數(shù)據(jù)流轉(zhuǎn)換為DUT需要的格式,與總線的功能相似。

Sequencer:產(chǎn)生驗證人員希望加載給DUT的激勵數(shù)據(jù)并傳給Driver來執(zhí)行。

Bus monitor:從總線上提取需要監(jiān)測的信號信息,并轉(zhuǎn)換成其他組件可用的數(shù)據(jù)結(jié)構(gòu),同時還控制著檢查(checking)和覆蓋率的統(tǒng)計。通過監(jiān)視總線上的信息來進(jìn)行協(xié)議和數(shù)據(jù)兩方面的檢查。通過偵測總線傳輸,數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)化,事件的發(fā)生等,來通報coverage進(jìn)行覆蓋率收集。

System UVCs用來對系統(tǒng)進(jìn)行驗證,如CPU、bridge或手機(jī)。相關(guān)的小系統(tǒng)UVCs稱作Module UVCs。System UVCs由Interface UVCs和Module UVCs構(gòu)成。它可以沒有自己的agents,而僅僅實例化其他UVCs,把它們連起來形成一個更大的驗證環(huán)境,其中Interface UVCs用于連接到系統(tǒng)接口,而Module UVCs是當(dāng)前驗證系統(tǒng)的子模塊或子系統(tǒng)。

System UVCs和Interface UVCs的結(jié)構(gòu)相似。它的Monitor從Interface UVCs的monitor處收集信息。Scoreboard收集Monitor采集到的數(shù)據(jù)送給參考模型進(jìn)行對比分析。在System UVCs里還定義了Virtual (multiple channel) sequence,它連接到Interface UVCs和Module UVCs的sequence上,可同時控制所有的系統(tǒng)接口。另外多數(shù)系統(tǒng)都有寄存器,System UVCs引入vr_ad模型庫實現(xiàn)對寄存器的驗證。

2.4可重用性

驗證占據(jù)了芯片開發(fā)周期的絕大多數(shù)時間,因此,驗證的可重用性對于開發(fā)效率的提高是至關(guān)重要的。OVM驗證平臺的可重用性主要有下面兩方面內(nèi)容。

(1)UVCs的重用。雖然每個UVC都針對不同的協(xié)議、設(shè)計,但是UVCs還是有很多共性的,如都包含激勵、檢查和覆蓋率信息等,這些相對固定的結(jié)構(gòu),便于開發(fā)標(biāo)準(zhǔn)UVCs,針對不同設(shè)計,只需擴(kuò)展相應(yīng)文件即可。

(2)驗證環(huán)境的重用。高一級的驗證環(huán)境或組件可通過重用低一級的來實現(xiàn),例如,模塊級的驗證環(huán)境在系統(tǒng)級的重用,系統(tǒng)級也可以在更大的系統(tǒng)驗證環(huán)境中重用。

OVM方法學(xué)的拓?fù)浣Y(jié)構(gòu)和配置以及層次性等確保了UVCs以及驗證環(huán)境的可重用性,使得驗證環(huán)境搭建的效率極大提高,驗證人員可以將更多的時間用于驗證過程本身而不是環(huán)境的搭建。

2.5驗證自動化

覆蓋率驅(qū)動驗證CDV(coverage-Driven Verification)方法已是驗證人員所熟悉的一種高效率的驗證方法,通過自動化測試向量生成和對覆蓋率的測量,CDV可確保驗證目標(biāo)的實現(xiàn)和驗證過程自動化。而OVM提供了較好的框架來實現(xiàn)CDV。基于OVM搭建的驗證平臺可實現(xiàn)CDV方法中的帶約束的隨機(jī)向量的生成,通過Monitor、Coverage和Check,實現(xiàn)由覆蓋率驅(qū)動的自動化驗證過程。

3 驗證平臺實例

下面給出一個使用e語言實現(xiàn)的基于OVM的可重用自動化驗證平臺的實例。這里以異步串行通信接口UART為DUT。UART是發(fā)送和接收UART幀的SoC外圍設(shè)備,可以實現(xiàn)全雙工通信,將需要發(fā)送的總線并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),同時,將接收到的串行數(shù)據(jù)轉(zhuǎn)換為總線并行數(shù)據(jù),其主要接口為APB總線和UART通信接口。

3.1UART驗證環(huán)境

UART驗證環(huán)境如圖3所示,主要由四部分組成,其中APB UVC、UART UVC和Module UVC三部分文件結(jié)構(gòu)相同,分別負(fù)責(zé)主機(jī)接口,通信接口和模擬DUT本身的工作。而頂層驗證環(huán)境uart_sve主要是將各個驗證組件有效的組織在一起,并實現(xiàn)虛擬sequence進(jìn)行激勵的有效控制。

圖3 UART驗證環(huán)境

3.1.1Interface UVC

UART驗證環(huán)境中包括兩個Interface UVC,分別為APB UVC和UART UVC。APB UVC主要模擬主機(jī)對DUT的配置行為,按照APB總線協(xié)議訪問時序完成對DUT的讀寫訪問。UART UVC為通信端的接口,主要模擬DUT與DUT的通信行為,按照規(guī)范和DUT進(jìn)行通信,相當(dāng)于在更高層次對DUT的行為模擬。

Interface UVC各個部件都是用e語言中的struct或unit等來實現(xiàn)的。主要部件的實現(xiàn)如下:

(1)Item struct:代表輸入到DUT的交互數(shù)據(jù),包括數(shù)據(jù)包,指令等。對于APB UVC主要定義地址、數(shù)據(jù)和讀寫等,而對于UART UVC主要定義了按照協(xié)議規(guī)定的各種傳輸類型的數(shù)據(jù)包。

(2)Agent unit:分為active和passive兩種子類型,在passive下,只例化了monitor,而在active下,例化了monitor、bfm和sequence driver,除此之外,在agent下可以定義與DUT交互的端口信號。

(3)sequence driver unit:主要是生成數(shù)據(jù)架構(gòu),并且連接bfm,將生成的數(shù)據(jù)包發(fā)送給bfm。

(4)bfm unit:將sequence driver產(chǎn)生的數(shù)據(jù)包,按照規(guī)范要求的訪問規(guī)則驅(qū)動到DUT,同時也檢測DUT的響應(yīng)。

(5)monitor unit:主要負(fù)責(zé)監(jiān)測傳輸。檢測總線上的一切活動,接收有效的數(shù)據(jù)流,并將其轉(zhuǎn)換為抽象級別高的字符。根據(jù)規(guī)范所定義的字符含義,發(fā)出相應(yīng)的有效事件,這些事件可供bfm引用,同時在接收過程中自動檢測數(shù)據(jù)正確性。

3.1.2Module UVC

Module UVC主要是DUT的代理,負(fù)責(zé)監(jiān)測DUT與主機(jī)接口和通信接口的交易事務(wù),并且做相應(yīng)的check和coverage收集。由于使用了寄存器存儲器模型(vr_ad),所以該UVC還實現(xiàn)了寄存器文件的定義、例化和寄存器訪問的sequence。

3.1.3頂層驗證環(huán)境

Uart_sve為UART驗證的頂層環(huán)境,其作用主要是組織三種UVC,并且定義虛擬sequence來調(diào)度各種sequence。驗證環(huán)境的層次如圖 4所示。

圖4 UART頂層驗證環(huán)境

3.2UART的驗證流程

通過OVM方法學(xué)所搭建的UART驗證平臺,其驗證流程如下:

(1)通過APB UVC寫寄存器來配置DUT的工作模式;

(2)使用Testcase對DUT產(chǎn)生所需要的測試激勵,在APB和UART接口間交互數(shù)據(jù);

(3)通過Module UVC檢查DUT的功能正確性;

(4)通過Module UVC收集和分析DUT的功能覆蓋率;

(5)通過對覆蓋率的分析對Testcase進(jìn)一步完善,補(bǔ)充沒有驗證到的情況;

(6)重復(fù)2~5步,直到功能覆蓋率達(dá)到100%。

由驗證流程可見,OVM方法學(xué)所搭建的驗證平臺可以很方便的實現(xiàn)覆蓋率驅(qū)動驗證,提高驗證的自動化程度。

4 結(jié)語

本文介紹了基于OVM驗證方法學(xué)來搭建可重用自動化驗證平臺的方法,并以UART為例,詳細(xì)介紹了驗證環(huán)境各組件的實現(xiàn)方法,該驗證環(huán)境已成功在多個項目中得到重用,提高了驗證效率,保證了驗證的可靠性。

[1] Rashinkar P,Paterson P,Sinagh L.系統(tǒng)芯片(SOC)驗證方法學(xué)與技術(shù)[M].北京:電子工業(yè)出版社:2005.

[2] 蔡金池.基于OVM架構(gòu)的網(wǎng)絡(luò)數(shù)據(jù)包隨機(jī)序列構(gòu)建與產(chǎn)生[J].電腦知識與技術(shù),2010,6(34):9678-9680.

[3] 肖庚亮.基于VMM的SoC可重用驗證平臺設(shè)計[J].科學(xué)技術(shù)與工程,2010,10(5):1149-1152.

[4] 高紅霞.基于高級驗證語言的IP驗證方法[D].西安:西安電子科技大學(xué),2012.

[5] 何萌.高抽象層次化的OVM驗證平臺設(shè)計[D].西安:西安電子科技大學(xué),2014.

[6] 文良,靳榮利,吳龍勝,等.基于AHB總線接口的可重用性驗證環(huán)境的實現(xiàn)[J].微電子學(xué)與計算機(jī),2011,28(7):202-204.

[責(zé)任編輯、校對:東艷]

Reusable and Automatic Verification Platform Based on OVM

YANGXiao-li

(School of Electronic Engineering,Xi'an Aeronautical University,Xi'an 710077,China)

The basic concept and technology of OVM (Open Verification Methodology)are introduced in this paper.It elaborates the verification environment architecture,the reusability of verification components and the process of verification.An application example of reusable and automatic verification platform based on OVM and e language is offered.This kind of methodology is proved to be very useful to improve reusability,extendibility and efficiency of SoC functional verification.

OVM;reusable;verification platform;SoC

2016-09-01

楊小麗(1981-),女,陜西渭南人,工程師,主要從事信息技術(shù)方面的研究。

TN407

A

1008-9233(2016)05-0060-05

猜你喜歡
斷言方法學(xué)覆蓋率
全球首個氫燃料電池汽車碳減排方法學(xué)獲批
von Neumann 代數(shù)上保持混合三重η-*-積的非線性映射
民政部等16部門:到2025年村級綜合服務(wù)設(shè)施覆蓋率超80%
C3-和C4-臨界連通圖的結(jié)構(gòu)
大型學(xué)術(shù)著作《藥理研究方法學(xué)》出版發(fā)行
我國全面實施種業(yè)振興行動 農(nóng)作物良種覆蓋率超過96%
特征為2的素*-代數(shù)上強(qiáng)保持2-新積
Top Republic of Korea's animal rights group slammed for destroying dogs
基于噴丸隨機(jī)模型的表面覆蓋率計算方法
追蹤方法學(xué)在院前急救護(hù)理安全管理中的應(yīng)用
原阳县| 汶川县| 锦屏县| 墨脱县| 鹰潭市| 竹北市| 旌德县| 宜宾市| 平乡县| 禹城市| 雷州市| 开江县| 开远市| 历史| 家居| 昔阳县| 大埔县| 炎陵县| 黄石市| 萍乡市| 永靖县| 呈贡县| 广南县| 张家界市| 华阴市| 泸溪县| 丹东市| 龙州县| 方正县| 囊谦县| 龙口市| 弥渡县| 公主岭市| 阳春市| 民和| 温州市| 德钦县| 宜兰市| 阿克陶县| 车致| 育儿|