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

基于功能覆蓋率的MAC的UVM驗(yàn)證*

2021-12-01 14:17:38徐梓文郭桂良
關(guān)鍵詞:功能

徐梓文 郭桂良

(1.中國(guó)科學(xué)院大學(xué) 北京 100049)(2.中國(guó)科學(xué)院微電子研究所 北京 100029)

1 引言

隨著集成電路制造技術(shù)的不斷進(jìn)步,以片上系統(tǒng)(SOC)為代表的數(shù)字集成電路發(fā)生了跨越式的發(fā)展,設(shè)計(jì)的復(fù)雜程度和規(guī)模大幅增加,這給驗(yàn)證工作提出了全新的要求與挑戰(zhàn)。相關(guān)研究表示,驗(yàn)證已經(jīng)占據(jù)了整個(gè)數(shù)字前端流程70%~80%的工作時(shí)間[1~3],傳統(tǒng)的驗(yàn)證手段已經(jīng)難以滿(mǎn)足新的要求。在這種背景下,如何找到快速高效的驗(yàn)證手段,成為了一項(xiàng)很有價(jià)值的研究工作。

近年來(lái),各大EDA廠商都在努力推出自己的驗(yàn)證解決方案,諸如VMM等等。每種解決方案都有各自的優(yōu)勢(shì),但是始終沒(méi)能做到兼容所有的應(yīng)用場(chǎng)景。2011年,UVM驗(yàn)證方法學(xué)橫空出世,憑借其良好的性能得到了絕大多數(shù)先進(jìn)IC公司的青睞。如今,UVM驗(yàn)證方法學(xué)已經(jīng)正式成為了IEEE 1800.2-2017標(biāo)準(zhǔn)[4]。

媒體訪問(wèn)控制器(MAC)實(shí)現(xiàn)了上層數(shù)據(jù)和物理層比特流的封裝和解封、流量的控制、檢驗(yàn)檢測(cè)和載波偵聽(tīng)多路訪問(wèn)的信道存取等功能,保障了以太網(wǎng)數(shù)據(jù)的高帶寬、低延時(shí)傳輸。

2 UVM驗(yàn)證方法學(xué)和以太網(wǎng)控制器

2.1 基于CVD的通用驗(yàn)證方法學(xué)

通用驗(yàn)證方法學(xué)UVM是由三大EDA廠商Syn?opsys、Cadence、Mentor協(xié)力打造,由Accellera組織負(fù)責(zé)發(fā)布的一種標(biāo)準(zhǔn)化的驗(yàn)證方法學(xué)[5~6]。UVM本質(zhì)上是一種基于SystemVerilog語(yǔ)言的一個(gè)庫(kù),它將驗(yàn)證中需要使用到的各項(xiàng)功能進(jìn)行劃分和標(biāo)準(zhǔn)化,使得驗(yàn)證工程師可以采用類(lèi)似堆積木的方式來(lái)搭建自己的驗(yàn)證平臺(tái)。由于UVM引入了大量的標(biāo)準(zhǔn)化模塊,這使得基于UVM的驗(yàn)證平臺(tái)具有了極強(qiáng)的可復(fù)用性。當(dāng)待測(cè)設(shè)計(jì)(DUT)發(fā)生改變時(shí),只需要改變與DUT相關(guān)的功能模塊即可實(shí)現(xiàn)測(cè)試平臺(tái)的復(fù)用。

基于覆蓋率驅(qū)動(dòng)(CVD)的UVM驗(yàn)證平臺(tái)是指在驗(yàn)證平臺(tái)運(yùn)行時(shí),除了在scoreboard(計(jì)分板)中對(duì)DUT反饋的數(shù)據(jù)做判斷外,還會(huì)在各個(gè)monitor(監(jiān)視器)中增加大量的CoverGroup(覆蓋組)來(lái)對(duì)采集到的數(shù)據(jù)加以分析。只有當(dāng)收集到的數(shù)據(jù)覆蓋到所有CoverGroup中的全部CoverPoint(覆蓋點(diǎn))時(shí),即功能覆蓋率達(dá)到100%時(shí),我們才可以認(rèn)為該DUT的所有功能均已被測(cè)試[7]。

2.2 媒體訪問(wèn)控制器

在ISO組織制定的國(guó)際標(biāo)準(zhǔn)中,引入了OSI(開(kāi)放式系統(tǒng)互聯(lián)通信參考)模型,該模型定義了計(jì)算機(jī)之間的互聯(lián)通信標(biāo)準(zhǔn),共分為7層。OSI模型從下到上依次是物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話(huà)層、表示層和應(yīng)用層,其中的數(shù)據(jù)鏈路層又分為三個(gè)部分,分別是:邏輯鏈路控制(LLC)子層、媒體訪問(wèn)控制(MAC)子層[8~9]。MAC子層的作用是屏蔽不同的物理層帶來(lái)的差異性,使得上層網(wǎng)絡(luò)可以操作不用的PHY(物理層)芯片[10]。

本文研究的MAC控制器便是采用MAC協(xié)議進(jìn)行數(shù)據(jù)收發(fā)的IP,采用XGMII(10Gb獨(dú)立于媒體的接口)進(jìn)行通信。

3 本研究的驗(yàn)證平臺(tái)

本文的驗(yàn)證平臺(tái)的結(jié)構(gòu)如圖1所示,這是在標(biāo)準(zhǔn)UVM驗(yàn)證環(huán)境的基礎(chǔ)上進(jìn)行搭建的驗(yàn)證平臺(tái)。

圖1 UVM驗(yàn)證平臺(tái)架構(gòu)

由于DUT主要分為與片內(nèi)通信的幀傳輸接口、寄存器控制接口、xgmii傳輸接口,本文構(gòu)建了packet_in、packet_out、reg_access、xgmii_tx、xgmii_rx五組interface和agent。

Agent是根據(jù)數(shù)據(jù)包的功能進(jìn)行劃分的[11],由于一組功能相關(guān)的數(shù)據(jù)接口都是同時(shí)使能或者屏蔽,幾乎不會(huì)出現(xiàn)單獨(dú)使用一組功能接口中某一個(gè)單獨(dú)信號(hào)的情況[12]。因此,本文在設(shè)計(jì)env的時(shí)候,引入了名為is_agent_active的參數(shù),且五組agent對(duì)應(yīng)五個(gè)不用的is_agent_active參數(shù)。當(dāng)is_agent_active置高,即參數(shù)有效時(shí),表明該組數(shù)據(jù)接口需要被驗(yàn)證環(huán)境驅(qū)動(dòng),對(duì)應(yīng)的agent才會(huì)被實(shí)例化到env中;相應(yīng)的,當(dāng)is_agent_active為低時(shí),表明該組數(shù)據(jù)接口在本次測(cè)試用例中,不需要接受驗(yàn)證環(huán)境的驅(qū)動(dòng),該參數(shù)對(duì)應(yīng)的agent就不會(huì)被實(shí)例化到env中。本文中的5個(gè)agent對(duì)應(yīng)5個(gè)參數(shù),這些參數(shù)通過(guò)uvm_config機(jī)制,從test_case這一層級(jí),即用戶(hù)接觸到的層級(jí)中進(jìn)行配置,用戶(hù)只需要編寫(xiě)好testcase即可自動(dòng)完成。這樣做便可以根據(jù)testcase的實(shí)際需求不同,來(lái)快速實(shí)現(xiàn)不同的驗(yàn)證環(huán)境,用最精簡(jiǎn)的驗(yàn)證環(huán)境來(lái)完成需要實(shí)現(xiàn)的任務(wù),以節(jié)約仿真所需的內(nèi)存開(kāi)銷(xiāo),減小仿真需要的總時(shí)長(zhǎng)。

4 測(cè)試點(diǎn)以及測(cè)試用例

根據(jù)待測(cè)設(shè)計(jì)的功能,本文對(duì)以下幾個(gè)功能進(jìn)行驗(yàn)證。

表1 待測(cè)電路功能點(diǎn)劃分

4.1 時(shí)鐘的驗(yàn)證

控制各時(shí)鐘的使能信號(hào),觀測(cè)對(duì)應(yīng)的時(shí)鐘輸出頻率是否滿(mǎn)足要求。驗(yàn)證時(shí)鐘樹(shù)上不同時(shí)鐘之間的相位差關(guān)系以及同源時(shí)鐘的分頻關(guān)系,故將時(shí)鐘信息納入功能驗(yàn)證覆蓋點(diǎn)。

4.2 復(fù)位的驗(yàn)證

在正常的工作狀態(tài)下,隨機(jī)產(chǎn)生一個(gè)等候時(shí)間,在此時(shí)間之后產(chǎn)生復(fù)位信號(hào),并觀測(cè)各寄存器是否復(fù)位成功。復(fù)位之后釋放復(fù)位信號(hào),重新使能,觀測(cè)系統(tǒng)能否正常工作。

4.3 數(shù)據(jù)幀傳輸?shù)尿?yàn)證

時(shí)鐘使能之后,通過(guò)總線(xiàn)agent配置相應(yīng)的寄存器使DUT進(jìn)入工作狀態(tài)。即配置TX與RX的使能寄存,使DUT可以進(jìn)行數(shù)據(jù)的收發(fā)。此時(shí)需要調(diào)用UVM_INFO機(jī)制,將每次的收發(fā)信息進(jìn)行打印對(duì)比,并將其納入測(cè)試覆蓋點(diǎn)。根據(jù)每次運(yùn)行的testcase的不同,觀察系統(tǒng)是否能正常工作或者給出中斷信號(hào)等錯(cuò)誤響應(yīng)。

發(fā)送入棧引擎接受數(shù)據(jù)包,并將他們存入發(fā)送FIFO(先進(jìn)先出存儲(chǔ)隊(duì)列);發(fā)送FIFO的每一個(gè)入口均指向一個(gè)[71:0]的存儲(chǔ)空間,其中低64比特存儲(chǔ)該幀的數(shù)據(jù),高8比特存儲(chǔ)該幀的幀信息,具體存儲(chǔ)格式如圖2所示;發(fā)送出擎分為兩個(gè)狀態(tài)機(jī),分別控制幀數(shù)據(jù)的封裝、CRC校驗(yàn)邏輯計(jì)算延時(shí)等待和幀數(shù)據(jù)發(fā)送過(guò)程的錯(cuò)誤處理。

圖2 FIFO中數(shù)據(jù)存儲(chǔ)的格式

接受入棧引擎通過(guò)gemii接口接受幀數(shù)據(jù),它也包含兩個(gè)狀態(tài)機(jī),分別控制幀數(shù)據(jù)接受過(guò)程的錯(cuò)誤處理和幀數(shù)據(jù)的解封、CRC校驗(yàn)邏輯計(jì)算延時(shí)的等待,如果校驗(yàn)通過(guò)則會(huì)將剩下的數(shù)據(jù)寫(xiě)入接收FIFO[13];接收FIFO的存儲(chǔ)格式和發(fā)送FIFO相一致;接收出棧引擎則將接收FIFO的信息反饋給上層邏輯,使得其他用戶(hù)可以得到接收到的數(shù)據(jù)信息。

圖3 發(fā)送出棧引擎的工作流程

通過(guò)對(duì)MAC處理器工作邏輯的分析,本文將發(fā)送接口和接收接口相連接,將發(fā)送的數(shù)據(jù)和接收到的數(shù)據(jù)進(jìn)行對(duì)比,將FIFO中的各個(gè)狀態(tài)加入測(cè)試點(diǎn)。如果所有功能測(cè)試點(diǎn)都能100%覆蓋,則說(shuō)明驗(yàn)證充分全面[14~16]。

5 實(shí)驗(yàn)結(jié)果與分析

5.1 一個(gè)完整的數(shù)據(jù)收發(fā)周期

一個(gè)完整數(shù)據(jù)發(fā)送周期的波形如圖4所示,首先是CPU對(duì)寄存器進(jìn)行了配置,設(shè)置了發(fā)送模式使能,打開(kāi)了各項(xiàng)中斷位。發(fā)送數(shù)據(jù)幀經(jīng)過(guò)解碼存入了發(fā)送FIFO,并且隨即從發(fā)送FIFO中取出。接下來(lái)CRC校驗(yàn)邏輯對(duì)該幀的數(shù)據(jù)進(jìn)行了CRC值的計(jì)算,根據(jù)mac協(xié)議完成了數(shù)據(jù)包的封裝,進(jìn)入發(fā)送階段。在發(fā)送出棧狀態(tài)機(jī)的控制下,由于沒(méi)有偵測(cè)到PHY接口上有遠(yuǎn)程錯(cuò)誤信息,該數(shù)據(jù)幀的各個(gè)數(shù)據(jù)段按照MAC協(xié)議依次經(jīng)xgmii接口進(jìn)行了發(fā)送。

圖4 數(shù)據(jù)發(fā)送過(guò)程的波形

為了加快驗(yàn)證,本文在testbench中將xgmii的發(fā)送口與接收口連接到了一起,即mac控制器會(huì)接收到自己發(fā)送出去的數(shù)據(jù)。從波形圖上可以看出,接受到的數(shù)據(jù)和發(fā)送數(shù)據(jù)完全一致,CRC校驗(yàn)通過(guò),接收到的數(shù)據(jù)幀符合mac協(xié)議。通過(guò)testbench的對(duì)比,發(fā)送的數(shù)據(jù)字段和接受的數(shù)據(jù)字段一致,該mac控制器可以正常工作。

5.2 功能覆蓋率的結(jié)果與分析

圖5 是經(jīng)過(guò)回歸測(cè)試之后的覆蓋率統(tǒng)計(jì)結(jié)果。回歸測(cè)試是在大規(guī)模隨機(jī)測(cè)試之后,針對(duì)沒(méi)有覆蓋到的區(qū)域編寫(xiě)定向測(cè)試用例,功能覆蓋率達(dá)到100%。

圖5 功能覆蓋率的實(shí)驗(yàn)結(jié)果

在隨機(jī)測(cè)試用例中,大部分的功能點(diǎn)都已經(jīng)被覆蓋,只有不足10%的bins沒(méi)有被完全覆蓋掉。針對(duì)這種情況,本研究編寫(xiě)了定向測(cè)試用例,即對(duì)DUT施加確定的激勵(lì),使隨機(jī)測(cè)試用例中沒(méi)有被覆蓋到的功能也能通過(guò)仿真來(lái)實(shí)現(xiàn)。理論上,只要仿真時(shí)間不加以限制,隨機(jī)測(cè)試用例足夠多,總能實(shí)現(xiàn)100%的完成功能覆蓋,但是這樣做會(huì)耗費(fèi)大量的時(shí)間與計(jì)算資源,延長(zhǎng)了項(xiàng)目的開(kāi)發(fā)周期,變相地降低了產(chǎn)品的競(jìng)爭(zhēng)力。

6 結(jié)語(yǔ)

UVM作為目前最通行的數(shù)字芯片驗(yàn)證手段,雖然其前期平臺(tái)搭建和測(cè)試用例的編寫(xiě)會(huì)耗費(fèi)大量時(shí)間,但是其高度的可重用性和清晰的結(jié)構(gòu)也給驗(yàn)證人員帶來(lái)了無(wú)可比擬的便利性。本研究提出了一種基于UVM的以太網(wǎng)控制器IP的驗(yàn)證環(huán)境,并且成功達(dá)到了功能覆蓋率100%的驗(yàn)證目標(biāo),在實(shí)際的芯片開(kāi)發(fā)流程中具有相當(dāng)重要的應(yīng)用價(jià)值。

猜你喜歡
功能
拆解復(fù)雜功能
鐘表(2023年5期)2023-10-27 04:20:44
也談詩(shī)的“功能”
基層弄虛作假的“新功能取向”
深刻理解功能關(guān)系
鉗把功能創(chuàng)新實(shí)踐應(yīng)用
關(guān)于非首都功能疏解的幾點(diǎn)思考
基于PMC窗口功能實(shí)現(xiàn)設(shè)備同步刷刀功能
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡(jiǎn)直”和“幾乎”的表達(dá)功能
中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
主站蜘蛛池模板: 网友自拍视频精品区| 国产99精品久久| 高清欧美性猛交XXXX黑人猛交| 色婷婷亚洲综合五月| 一本综合久久| 国产精品免费入口视频| 熟女视频91| 看av免费毛片手机播放| 色综合天天视频在线观看| 夜色爽爽影院18禁妓女影院| 亚卅精品无码久久毛片乌克兰 | 中文字幕 91| 香蕉久久国产超碰青草| 欧美第一页在线| 国产高清无码麻豆精品| 91日本在线观看亚洲精品| 国产高清免费午夜在线视频| 国模沟沟一区二区三区| 人人看人人鲁狠狠高清| 成人一级黄色毛片| 99这里只有精品免费视频| 国产亚洲精久久久久久久91| 97在线碰| 人与鲁专区| 国产成人精品免费av| 亚洲综合亚洲国产尤物| 女人18一级毛片免费观看| 亚洲精品无码日韩国产不卡| 亚洲国产日韩一区| 片在线无码观看| 亚洲精品无码不卡在线播放| 国产精品任我爽爆在线播放6080| 在线日韩日本国产亚洲| 免费看久久精品99| 国产高清色视频免费看的网址| 亚洲免费毛片| 亚洲欧美一区二区三区图片| 啦啦啦网站在线观看a毛片| 午夜日本永久乱码免费播放片| 亚洲综合色在线| 99国产精品免费观看视频| 丰满人妻久久中文字幕| 亚洲91精品视频| 人妻丝袜无码视频| 日本手机在线视频| 国产亚洲视频免费播放| 亚洲精品男人天堂| 四虎影视无码永久免费观看| 欧美在线天堂| 午夜国产理论| 色综合日本| 久久伊人久久亚洲综合| 国产青榴视频| 99热国产在线精品99| 精品国产一区91在线| 国产美女精品人人做人人爽| 国产亚洲欧美在线专区| 国产好痛疼轻点好爽的视频| 99在线视频精品| 亚洲欧洲免费视频| 久久精品视频亚洲| 亚洲一区二区精品无码久久久| 青青热久免费精品视频6| 成人av专区精品无码国产| 久久毛片网| 久久香蕉国产线看观| 日韩视频福利| 草草影院国产第一页| 亚洲αv毛片| 久久亚洲精少妇毛片午夜无码| 亚洲日产2021三区在线| 欧美成人手机在线视频| 人妖无码第一页| 国产美女自慰在线观看| 亚洲一区免费看| 在线看免费无码av天堂的| a级毛片毛片免费观看久潮| 亚洲国产亚综合在线区| 亚洲综合一区国产精品| 欧美成人一区午夜福利在线| 久久久国产精品无码专区| 国产第一页屁屁影院|