亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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é)。

        日本一区二区三区视频免费观看| 亚洲成年网站在线777| 国产精品国产午夜免费福利看| 日韩一区二区中文字幕| 国产精品亚洲av无人区一区香蕉| 超级碰碰色偷偷免费视频| 欧美亚洲日韩国产区| jiZZ国产在线女人水多| av网站国产主播在线| 亚洲中文字幕久久精品蜜桃| 国产亚洲精品aaaaaaa片| 亚洲av美女在线播放啊| 久草视频在线播放免费| 尤物在线观看一区蜜桃| 亚洲色大成网站www久久九九| 久久天天躁狠狠躁夜夜爽| 国产高清天干天天视频| 久久成人精品国产免费网站| 日本妇人成熟免费2020| 精品久久久久成人码免费动漫| 亚洲美女影院| 中文天堂一区二区三区| 老鲁夜夜老鲁| 国产成人精品999在线观看| 国产精品一卡二卡三卡| 亚洲专区路线一路线二网| 免费国产在线精品一区| 亚洲综合久久成人a片| 亚洲AV无码成人精品区H| 亚洲国产精品区在线观看| 亚洲精品国产美女久久久| 国产一区a| 久久人妻精品中文字幕一区二区| 久久久精品午夜免费不卡| 性欧美暴力猛交69hd| 欧美破处在线观看| 日韩少妇人妻精品中文字幕| 日韩人妻一区二区三区蜜桃视频| 久久av无码精品一区二区三区| 视频在线播放观看免费| 无码日韩精品一区二区免费暖暖|