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

基于UVM的SPI總線控制器驗(yàn)證

2016-05-30 20:11:11齊宇心
科技風(fēng) 2016年7期

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

關(guān)鍵詞:UVM;SPI總線控制器;仿真驗(yàn)證

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

UVM是Universal Verification Methodology的縮寫,全稱即通用驗(yàn)證方法學(xué)。

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

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

1 SPI總線控制器簡(jiǎn)介

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

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

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

2 UVM驗(yàn)證平臺(tái)搭建

2.1 層次化驗(yàn)證平臺(tái)

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

驗(yàn)證工程師通過(guò)將各種驗(yàn)證方法集成在驗(yàn)證平臺(tái)中來(lái)提高驗(yàn)證的效率。為了能夠集成更多高級(jí)的驗(yàn)證方法,引入了分層的驗(yàn)證平臺(tái)的方法。這個(gè)過(guò)程中,抽象程度隨著層次的增高而增大。

1)信號(hào)層是最底層的。DUT屬于信號(hào)層,連接DUT和驗(yàn)證平臺(tái)的信號(hào)也屬于信號(hào)層。

2)命令層主要包含用于驅(qū)動(dòng)DUT的激勵(lì)同時(shí)監(jiān)測(cè)從DUT中采集的輸出信號(hào)。

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

4)場(chǎng)景層的作用主要就是產(chǎn)生激勵(lì)。

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

2.2 通用UVM驗(yàn)證平臺(tái)邏輯結(jié)構(gòu)

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

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

整個(gè)UVM驗(yàn)證平臺(tái)的各個(gè)部分就如同一棵倒置的樹,如下面圖1所示。

2.2.1 Driver

UVM驗(yàn)證平臺(tái)中的driver派生自u(píng)vm_driver。driver是UVM驗(yàn)證平臺(tái)的最基本的驗(yàn)證組件,也是除reference_model之外最復(fù)雜的驗(yàn)證組件。driver會(huì)將由sequence受約束隨機(jī)產(chǎn)生的事務(wù)級(jí)數(shù)據(jù)轉(zhuǎn)變成DUT端口級(jí)別的數(shù)據(jù),再驅(qū)動(dòng)到與DUT的相連的接口上。

2.2.2 Sequencer

UVM驗(yàn)證平臺(tái)中的sequencer派生自u(píng)vm_sequencer,并且在定義時(shí)會(huì)指定要產(chǎn)生的事務(wù)級(jí)數(shù)據(jù)類型。sequencer的作用非常簡(jiǎn)單,就是將sequence中產(chǎn)生的受約束的隨機(jī)事務(wù)級(jí)數(shù)據(jù)發(fā)送給driver。

2.2.3 Monitor

對(duì)于一個(gè)很大項(xiàng)目來(lái)說(shuō),僅僅依靠波形來(lái)判斷DUT的功能是否正確是不可靠也是不現(xiàn)實(shí)的。正確做法應(yīng)該在驗(yàn)證平臺(tái)中引入自對(duì)比機(jī)制,通過(guò)log文件中有無(wú)error來(lái)確定DUT的功能是否正確,這就要在驗(yàn)證平臺(tái)中引入reference model、scoreboard和monitor。monitor是實(shí)現(xiàn)監(jiān)測(cè)DUT行為的驗(yàn)證組件,其派生自u(píng)vm_monitor。

2.2.4 Agent

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

2.2.5 Reference model

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

2.2.6 Scoreboard

scoreboard派生自u(píng)vm_scoreboard,是一個(gè)uvm_component,DUT的輸入或輸出數(shù)據(jù)與reference model輸出的數(shù)據(jù)在scoreboard中進(jìn)行自對(duì)比,對(duì)比成功會(huì)打印一個(gè)標(biāo)志,比對(duì)失敗也會(huì)打印一個(gè)標(biāo)志,這樣使驗(yàn)證工程師不用根據(jù)波形來(lái)判斷DUT功能是否正確,減小了驗(yàn)證工作出錯(cuò)的機(jī)率。

3 基于UVM的SPI總線控制器驗(yàn)證平臺(tái)搭建

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

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

在驗(yàn)證平臺(tái)的搭建中,將sequence分為兩個(gè)部分。一方面為配置寄存器的cfg_sequence,一方面為發(fā)送數(shù)據(jù)的配置。通過(guò)sequence的細(xì)化,達(dá)到將數(shù)據(jù)與配置分離,減小實(shí)際驗(yàn)證工作中的工作量的目的。

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

4 總結(jié)

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

參考文獻(xiàn):

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

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

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

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

作者簡(jiǎn)介:齊宇心(1990-),男,陜西岐山人,在讀研究生,研究方向:soc設(shè)計(jì)方法學(xué)。

主站蜘蛛池模板: 国产97视频在线观看| 日本精品中文字幕在线不卡| 国产成人综合日韩精品无码不卡| 久久伊人久久亚洲综合| 成年片色大黄全免费网站久久| 欧美精品亚洲精品日韩专区| AV老司机AV天堂| 亚洲综合久久成人AV| 成年网址网站在线观看| 无码中字出轨中文人妻中文中| 国产欧美日韩资源在线观看| 国内精品一区二区在线观看| 亚洲乱码在线播放| 国产精品国产主播在线观看| 成人免费视频一区二区三区 | 亚洲日本中文综合在线| 日本精品αv中文字幕| 亚洲精品自在线拍| 热热久久狠狠偷偷色男同| 日韩无码黄色| 亚洲人成在线免费观看| 九九热视频在线免费观看| 青青操国产| 亚洲第一区欧美国产综合| 亚洲精品成人福利在线电影| 精品一区二区无码av| 中文无码毛片又爽又刺激| 亚洲免费三区| 国产女人综合久久精品视| 色综合久久无码网| 国产亚洲视频免费播放| 四虎影视国产精品| 国产成人免费观看在线视频| 麻豆精选在线| 欧美亚洲综合免费精品高清在线观看| 国产乱子伦视频三区| 色综合手机在线| 一区二区欧美日韩高清免费| 中文字幕乱码中文乱码51精品| 欧美日韩导航| 在线播放国产一区| av午夜福利一片免费看| 57pao国产成视频免费播放 | 小说区 亚洲 自拍 另类| 久久综合色播五月男人的天堂| 久久国语对白| 国产精品页| 欧美精品成人一区二区视频一| 日韩在线影院| 成人噜噜噜视频在线观看| 亚洲综合精品第一页| 精品国产一区二区三区在线观看 | 亚洲国产清纯| 人妻出轨无码中文一区二区| 2020国产精品视频| 999国内精品久久免费视频| 尤物精品国产福利网站| 日韩精品无码一级毛片免费| 国产91久久久久久| 免费va国产在线观看| 91久久性奴调教国产免费| 国产av无码日韩av无码网站| 亚洲有码在线播放| 国产专区综合另类日韩一区| 亚洲成人精品在线| 国产网站一区二区三区| 女人爽到高潮免费视频大全| 国产原创自拍不卡第一页| 制服丝袜国产精品| 人人爽人人爽人人片| 女人18毛片水真多国产| 国产综合色在线视频播放线视| 亚洲视频一区| 亚洲人在线| 97久久人人超碰国产精品| 精品国产污污免费网站| 色综合中文| 黄色网在线| 亚洲精品色AV无码看| 2019年国产精品自拍不卡| 538精品在线观看| 波多野结衣的av一区二区三区|