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

基于UVM的SPI總線控制器驗證

2016-05-30 20:11:11齊宇心
科技風 2016年7期

摘 要:本文通過應用UVM高級驗證方法學,搭建適用于SPI總線控制器的驗證平臺和驗證環(huán)境,并實現(xiàn)對其不同模式下數(shù)據(jù)傳輸?shù)墓δ茯炞C,提供了一種可重用的高效驗證方法,有利于提高驗證效率,縮短設計周期。

關鍵詞:UVM;SPI總線控制器;仿真驗證

隨著超大規(guī)模集成電路的不斷發(fā)展,驗證工作已經(jīng)占據(jù)整個研發(fā)周期的70%到80%,芯片驗證的效率已成為影響芯片研發(fā)周期的重要部分,因此選用一種高效率、可復用的驗證方法學成為芯片驗證的關鍵。

UVM是Universal Verification Methodology的縮寫,全稱即通用驗證方法學。

這種方法學是由Cadence、Mentor和Synopsys公司聯(lián)合推出的驗證方法學,起源于OVM(Open Verification Methodology)[ 1 ]。它采用了諸多當前主流驗證方法學的優(yōu)點,可以為工程師提供隨機化的激勵產生方式及具有可重構性的驗證部件,以此來提升驗證效率。

本論文結合在研發(fā)某芯片設計中的SPI總線控制器,應用UVM搭建仿真驗證平臺,完成SPI總線控制器的驗證工作,為以后芯片研制中的SPI控制器驗證提供了可重用的驗證環(huán)境。

1 SPI總線控制器簡介

SPI是一種高速的、全雙工的同步通信總線,使用四根通信線路,極大的節(jié)約了芯片的管腳數(shù)目,同時節(jié)省了PCB版上布局空間[ 2 ]。出于簡單易用的特點與特性,更多的芯片開始集成SPI總線接口。SPI通信雙方為主、從關系,在這種工作模式下,通常有一個主設備和一個或多個從設備,設備之間可以用4線模式(雙向傳輸時)或3線模式(單向傳輸時或單主單從工作模式)連接。

SPI是為環(huán)形總線的結構,主控制設備通過產生移位時鐘來發(fā)起通訊。通訊時,主設備通過發(fā)送時鐘信號來控制數(shù)據(jù)的輸入輸出,數(shù)據(jù)在總線上由MOSI輸出,MISO輸入,數(shù)據(jù)與時鐘信號的關系為用戶自主克配置,這樣經(jīng)過若干次時鐘的改變,完成相應位數(shù)的數(shù)據(jù)傳輸。

在SPI傳輸中,數(shù)據(jù)是同步進行發(fā)送和接收的。數(shù)據(jù)傳輸?shù)臅r鐘基于來自主處理器的時鐘脈沖而產生的總線控制器輸出時鐘,摩托羅拉沒有定義任何通用SPI的時鐘規(guī)范。然而,最常用的時鐘設置基于時鐘極性(CPOL)和時鐘相位(CPHA)兩個參數(shù),CPOL定義SPI串行時鐘的活動狀態(tài),而CPHA定義相對于數(shù)據(jù)位的時鐘相位。CPOL和CPHA的設置決定了數(shù)據(jù)取樣的時鐘沿。

2 UVM驗證平臺搭建

2.1 層次化驗證平臺

驗證平臺(testbench)通過硬件驗證語言[ 3 ]搭建而成,驗證工程師在功能驗證中,在被測設計外部完成驗證平臺的搭建。驗證通常采用向被測設計中施加不同的激勵,然后觀察DUT的輸出結果,并且將這個結構和要求的期望值做比較,從而驗證DUT是否正確。所以生成各種不同的激勵是一個驗證平臺最重要的功能。

驗證工程師通過將各種驗證方法集成在驗證平臺中來提高驗證的效率。為了能夠集成更多高級的驗證方法,引入了分層的驗證平臺的方法。這個過程中,抽象程度隨著層次的增高而增大。

1)信號層是最底層的。DUT屬于信號層,連接DUT和驗證平臺的信號也屬于信號層。

2)命令層主要包含用于驅動DUT的激勵同時監(jiān)測從DUT中采集的輸出信號。

3)功能層負責將上層的事務接收后分解為數(shù)據(jù)包發(fā)送給命令層,功能層的另一個作用就是預測結果,將預測的結果和DUT的輸出進行對比。

4)場景層的作用主要就是產生激勵。

驗證環(huán)境是由以上幾個層次相組合構成的。對于不同的DUT這個層次的劃分會有所不同。雖然表面上看劃分層次好像是提高了驗證平臺的復雜度,但是事實上這樣做劃分了各個模塊的功能,提高了代碼功能的清晰度,有利于驗證平臺的搭建。

2.2 通用UVM驗證平臺邏輯結構

一個典型的UVM驗證平臺[ 4 ],包括driver(驅動器)、monitor(監(jiān)視器)、sequencer(序列器)、agent(代理器)、scoreboard(計分板)、reference model(參考模型)和env(環(huán)境)等通用驗證組件(Universal Verification Component,簡稱UVC)。

UVM預先定義好了一個類uvm_component。UVM平臺中的主要部件,driver、monitor、model、scoreboard等都要從這個類來派生而來。通過類派生的形式,把各個部件等都以樹型結構組合起來,使驗證平臺的層次清楚,易于執(zhí)行操作與更改。

整個UVM驗證平臺的各個部分就如同一棵倒置的樹,如下面圖1所示。

2.2.1 Driver

UVM驗證平臺中的driver派生自uvm_driver。driver是UVM驗證平臺的最基本的驗證組件,也是除reference_model之外最復雜的驗證組件。driver會將由sequence受約束隨機產生的事務級數(shù)據(jù)轉變成DUT端口級別的數(shù)據(jù),再驅動到與DUT的相連的接口上。

2.2.2 Sequencer

UVM驗證平臺中的sequencer派生自uvm_sequencer,并且在定義時會指定要產生的事務級數(shù)據(jù)類型。sequencer的作用非常簡單,就是將sequence中產生的受約束的隨機事務級數(shù)據(jù)發(fā)送給driver。

2.2.3 Monitor

對于一個很大項目來說,僅僅依靠波形來判斷DUT的功能是否正確是不可靠也是不現(xiàn)實的。正確做法應該在驗證平臺中引入自對比機制,通過log文件中有無error來確定DUT的功能是否正確,這就要在驗證平臺中引入reference model、scoreboard和monitor。monitor是實現(xiàn)監(jiān)測DUT行為的驗證組件,其派生自uvm_monitor。

2.2.4 Agent

為了提高驗證組件的可移植性,UVM中通常將driver、monitor和sequencer封裝在一起,成為一個agent。因此不同的agent就代表了不同的協(xié)議。agent派生自uvm_agent。

2.2.5 Reference model

由于UVM驗證平臺需要自對比機制,即需要將DUT的輸入數(shù)據(jù)與DUT的輸出數(shù)據(jù)進行對比,所以需要在驗證平臺中引入reference model驗證組件,reference model直接從uvm_component中派生出來。reference model分兩種,一種是與DUT的功能一樣,相當于用不可綜合的風格寫出的與DUT功能相同的算法;另一種reference model相當于DUT的逆運算。

2.2.6 Scoreboard

scoreboard派生自uvm_scoreboard,是一個uvm_component,DUT的輸入或輸出數(shù)據(jù)與reference model輸出的數(shù)據(jù)在scoreboard中進行自對比,對比成功會打印一個標志,比對失敗也會打印一個標志,這樣使驗證工程師不用根據(jù)波形來判斷DUT功能是否正確,減小了驗證工作出錯的機率。

3 基于UVM的SPI總線控制器驗證平臺搭建

結合UVM驗證平臺的邏輯結構與SPI控制器的工作模式,搭建完整的驗證平臺。基于上節(jié)UVM通用驗證驗證平臺的搭建,SPI總線控制器UVM驗證平臺的框圖如圖2所示。平臺主要包括兩個SPI agent和reference model。其中,SPI sequencer用來獲取SPI sequence,SPI driver將從SPI sequencer獲取的事物級數(shù)據(jù),即總線上預想發(fā)送數(shù)據(jù)的時序要求與數(shù)據(jù)內容發(fā)送給SPI總線控制器即DUT。這些事物級數(shù)據(jù)包括了對SPI總線控制器的控制寄存器配置以及傳輸數(shù)據(jù)的取值。

SPI agent同時將相同的數(shù)據(jù)給SPI reference Model,其中的數(shù)據(jù)為發(fā)送到總線上的數(shù)據(jù)。Out-agent只有Out monitor一個部件,該部件用來監(jiān)控SPI總線控制器的數(shù)據(jù)輸出。Scoreboard接收SPI reference Model和Out agent傳來的數(shù)據(jù),并進行比較,輸出結果信息。

在驗證平臺的搭建中,將sequence分為兩個部分。一方面為配置寄存器的cfg_sequence,一方面為發(fā)送數(shù)據(jù)的配置。通過sequence的細化,達到將數(shù)據(jù)與配置分離,減小實際驗證工作中的工作量的目的。

當驗證平臺向DUT輸入信號后,DUT會對輸入信號有一定的響應。這個響應需要在記分板中進行判斷,這時就需要有一個對比值,而這個對比值就是reference model產生的。reference model向Scoreboard的輸出為SPI總線控制器要發(fā)送的數(shù)據(jù)。在reference model中不需要考慮SPI總線控制器工作模式的問題,只關注與需要發(fā)送的數(shù)據(jù)。在rx_monitor中,通過接收DUT輸出的串行數(shù)據(jù)信號與時鐘信號,判斷發(fā)送數(shù)據(jù)的工作模式。在tx_monitor中,通過接收DUT的輸入配置來確定應有的發(fā)送模式,通過對比確定DUT發(fā)送功能的正確。

4 總結

通過UVM驗證平臺驗證SPI總線控制器,經(jīng)仿真驗證,功能覆蓋率及代碼覆蓋率都達到了要求,并且該驗證環(huán)境可以靈活的集成到系統(tǒng)驗證環(huán)境中,使SPI模塊可以在頂層驗證中應用,做到了可重用驗證。

參考文獻:

[1] 柏才明.基于OVM的SoC功能驗證系統(tǒng)的設計與實現(xiàn)[D].華中科技大學,2011.

[2] 楊美剛,李小文.SPI接口及其在數(shù)據(jù)交換中的應用[J].通信技術,2007,40(11):385-387.

[3] 鐘文楓.SystemVerilog 與功能驗證[M].機械工業(yè)出版社,2010.

[4] Accdlera.Universal verification methodology1.1 users guide[M].Cadence Design Systems Inc,Mentor Graphics Corp,SynopsysInc,2011.

作者簡介:齊宇心(1990-),男,陜西岐山人,在讀研究生,研究方向:soc設計方法學。

主站蜘蛛池模板: 中国黄色一级视频| 色偷偷一区| 91麻豆国产视频| 成人一级黄色毛片| 黄色a一级视频| 亚洲中文字幕日产无码2021| 伊人久久久久久久| 国产精品手机在线观看你懂的 | 97精品国产高清久久久久蜜芽| 欧美在线一二区| 69免费在线视频| 精品人妻无码中字系列| 免费三A级毛片视频| 国产超碰一区二区三区| 亚洲av无码人妻| 重口调教一区二区视频| 欧美一区二区福利视频| 成人国产小视频| 无码高清专区| 色吊丝av中文字幕| 色综合久久88| 亚洲资源站av无码网址| 免费福利视频网站| 国产剧情无码视频在线观看| 蜜臀AV在线播放| 亚洲欧洲日本在线| AV在线天堂进入| 欧美激情视频在线观看一区| 久热中文字幕在线| 亚洲欧洲美色一区二区三区| 亚洲h视频在线| 国产午夜无码专区喷水| 国产一级裸网站| 午夜欧美在线| 97久久人人超碰国产精品| 热99精品视频| 无码免费的亚洲视频| 亚洲五月激情网| 久久香蕉国产线看精品| 久久精品中文字幕免费| 国产一区二区三区夜色| 18黑白丝水手服自慰喷水网站| 国产SUV精品一区二区6| 国产欧美中文字幕| 国产凹凸视频在线观看| 亚洲日韩第九十九页| 国产91特黄特色A级毛片| 在线观看国产网址你懂的| 国产全黄a一级毛片| 久操线在视频在线观看| 国产h视频在线观看视频| 日本不卡在线| 亚洲欧美国产高清va在线播放| 手机成人午夜在线视频| 国产成人精品男人的天堂| 精品国产亚洲人成在线| 久久一级电影| 四虎成人免费毛片| 国产成年女人特黄特色毛片免| 九色国产在线| 在线观看国产小视频| 日韩国产另类| 亚洲啪啪网| 色综合热无码热国产| 色综合a怡红院怡红院首页| 狠狠操夜夜爽| 波多野结衣中文字幕久久| 国产高清免费午夜在线视频| 欧美成a人片在线观看| 国产精品视频公开费视频| 色有码无码视频| 精品国产91爱| 亚洲欧美国产视频| 亚洲AV无码乱码在线观看代蜜桃 | 日本道综合一本久久久88| 日韩欧美中文字幕在线韩免费| 伊人久综合| 试看120秒男女啪啪免费| 欧美成人手机在线视频| 欧美一级高清片久久99| 国产视频大全| 婷婷色一二三区波多野衣|