《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于SystemVerilog語言的像素cache驗(yàn)證平臺(tái)的實(shí)現(xiàn)
基于SystemVerilog語言的像素cache驗(yàn)證平臺(tái)的實(shí)現(xiàn)
2016年電子技術(shù)應(yīng)用第10期
楊 錚1,韓俊剛1,李卯良2,劉 歡1
1.西安郵電大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安710121;2.西安郵電大學(xué) 電子工程學(xué)院,陜西 西安710121
摘要: 以SystemVerilog為基礎(chǔ),對(duì)自主研發(fā)的GPU“螢火蟲2號(hào)”中像素cache部分搭建可重用的驗(yàn)證平臺(tái)。該平臺(tái)可以自動(dòng)完成整個(gè)驗(yàn)證過程,并將驗(yàn)證結(jié)果打印到Linux終端和文件當(dāng)中,方便程序員檢查驗(yàn)證結(jié)果。實(shí)驗(yàn)結(jié)果表明,該驗(yàn)證平臺(tái)對(duì)像素cache的功能驗(yàn)證覆蓋率可以達(dá)到100%,并且具有良好的可重用性,能夠全面、正確地完成RTL級(jí)功能驗(yàn)證,有效地提高了驗(yàn)證的效率和質(zhì)量。
中圖分類號(hào): TP302.1
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.012
中文引用格式: 楊錚,韓俊剛,李卯良,等. 基于SystemVerilog語言的像素cache驗(yàn)證平臺(tái)的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2016,42(10):51-53,61.
英文引用格式: Yang Zheng,Han Jungang,Li Maoliang,et al. Implementations of the pixel cache validation platform based on SystemVerilog language[J].Application of Electronic Technique,2016,42(10):51-53,61.
Implementations of the pixel cache validation platform based on SystemVerilog language
Yang Zheng1,Han Jungang1,Li Maoliang2,Liu Huan1
1.School of Computer Science,Xi′an University of Posts & Telecommunications,Xi′an 710121,China; 2.School of Electronic Engineering,Xi′an University of Posts & Telecommunications,Xi′an 710121,China
Abstract: Based on SystemVerilog,build a reusable verification platform for GPU "Firefly 2nd" pixel cache which is the independent research and development of school. The platform can automatically complete the verification process, and print the results to a Linux terminal and file to facilitate the programmer checks to verify the results. Experimental results show that the functional verification coverage verification platform for pixel cache can be 100% and have good reusable, fully and correctly complete RTL-level verification, and effectively improve the efficiency of the verification and quality.
Key words : pixel cache;verification platform;SystemVerilog;reusable

0 引言

    集成電路發(fā)展日新月異,已經(jīng)由小規(guī)模集成電路階段發(fā)展到了超大規(guī)模集成電路階段,工藝水平也從130 nm到22 nm甚至到14 nm。三星集團(tuán)最近宣布,將于今年年底實(shí)現(xiàn)超越14 nm,達(dá)到10 nm的制造工藝。這些進(jìn)步會(huì)使芯片的處理能力更強(qiáng),體積更小,功耗更低。但伴隨著這些進(jìn)步同時(shí),也會(huì)使芯片的驗(yàn)證難度不斷增大,驗(yàn)證的工作量也會(huì)更多。如今,驗(yàn)證的工作量已經(jīng)占到了整個(gè)SOC研發(fā)的70%[1],因此提高驗(yàn)證的效率已經(jīng)迫在眉睫。

    傳統(tǒng)的Verilog驗(yàn)證方法是定向的,需要程序員設(shè)計(jì)大量的測(cè)試激勵(lì),然后對(duì)波形進(jìn)行觀察檢測(cè),這樣的方法驗(yàn)證效率低、可重用性差,為此工業(yè)界推出了具有面向?qū)ο筇匦浴⒅С旨s束隨機(jī)與斷言等功能的標(biāo)準(zhǔn)化硬件描述與驗(yàn)證語言SystemVerilog[2-3]。本文基于該語言實(shí)現(xiàn)了一種芯片系統(tǒng)功能驗(yàn)證平臺(tái),有效地完成了對(duì)芯片的RTL級(jí)功能驗(yàn)證,突破了傳統(tǒng)的驗(yàn)證方法,有效地解決了傳統(tǒng)驗(yàn)證方法對(duì)芯片驗(yàn)證的充分性不足和效率低下的問題[4]

1 SystemVerilog語言

    SystemVerilog語言吸收了Verilog、VHDL、C++的概念,還包括驗(yàn)證平臺(tái)語言和斷言語言,也就是說,它將硬件描述語言(HDL)與現(xiàn)代的高層級(jí)驗(yàn)證語言(HVL)結(jié)合了起來[5]。正是因?yàn)檫@些優(yōu)點(diǎn),使得SystemVerilog語言在RTL驗(yàn)證流程上比傳統(tǒng)方式具有更強(qiáng)大的表現(xiàn)能力,而且該語言集成了面向?qū)ο蠛途€程間通信等的特點(diǎn),使得該語言具有更強(qiáng)的靈活性,使程序員在設(shè)計(jì)驗(yàn)證平臺(tái)時(shí)有更大的發(fā)揮空間。同樣幾個(gè)比較著名的驗(yàn)證方法還有如:UVM、OVM、VMM等,本文主要使用SystemVerilog語言來搭建一個(gè)可重用的驗(yàn)證平臺(tái)對(duì)待測(cè)模塊(Design Under Test,DUT)像素cache進(jìn)行全面地驗(yàn)證。

2 SystemVerilog驗(yàn)證平臺(tái)實(shí)現(xiàn)

2.1 像素cache簡(jiǎn)介

    像素cache是GPU中的重要組成部分,這個(gè)模塊的算法是否正確和功能是否全面直接關(guān)系到GPU處理圖像的正確性及快慢與否。因此,該模塊的功能驗(yàn)證和覆蓋率驗(yàn)證就顯得至關(guān)重要。本文的像素cache模塊在我校工程中心自主研發(fā)的GPU“螢火蟲2號(hào)”中連接著像素處理單元(FOP)以及像素RAM兩個(gè)模塊,目的是保證兩者之間能夠快速準(zhǔn)確地傳輸數(shù)據(jù)和指令。像素cache模塊架構(gòu)如圖1所示。

wdz5-t1.gif

    該像素cache包含2個(gè)模塊,分別是cache模塊和控制模塊。

2.2 cache模塊

    cache模塊包含3個(gè)模塊,cache_tag模塊、cache_output模塊和cache_lru模塊,它們分別完成了cache地址選擇、輸出和算法實(shí)現(xiàn)的功能。

2.2.1 cache_tag模塊

    該模塊主要實(shí)現(xiàn)的功能就是地址運(yùn)算,將接收到的地址和cache內(nèi)部存儲(chǔ)的地址進(jìn)行比較來判斷是否命中。

2.2.2 cache_lru模塊

    該模塊主要實(shí)現(xiàn)了整個(gè)cache的核心內(nèi)容,實(shí)現(xiàn)了cache的替換算法。本文中的像素cache采用的是最近最少使用的替換算法。

2.2.3 cache_output模塊

    這個(gè)模塊主要功能就是根據(jù)cache_lru模塊輸出的控制條件,將cache_ram中的數(shù)據(jù)輸出。這部分控制條件包括2D刷新、讀命中、讀未命中、寫命中和寫未命中等。

2.3 控制模塊

    控制模塊包含有一個(gè)狀態(tài)機(jī)模塊和一個(gè)選擇模塊。

2.3.1 狀態(tài)機(jī)模塊

    狀態(tài)機(jī)完成了處理各個(gè)請(qǐng)求的狀態(tài)跳轉(zhuǎn),該模塊將整個(gè)像素cache操作劃分為如圖2的4個(gè)狀態(tài),這4個(gè)狀態(tài)分別完成了初始化、2D圖形處理加速狀態(tài)、3D段操作狀態(tài)和結(jié)束狀態(tài)。

wdz5-t2.gif

2.3.2 選擇模塊

    該模塊根據(jù)狀態(tài)機(jī)跳轉(zhuǎn)輸出的選擇信號(hào)選擇3D段操作或者2D圖形加速并且把相應(yīng)的信號(hào)傳遞給cache模塊,然后進(jìn)行相應(yīng)的處理。

2.4 像素cache驗(yàn)證平臺(tái)設(shè)計(jì)

    本文設(shè)計(jì)的驗(yàn)證平臺(tái)架構(gòu)圖如圖3所示。

wdz5-t3.gif

    該平臺(tái)主要包括了頂層模塊和一些功能模塊。其中tb_top模塊是頂層模塊,也是整個(gè)驗(yàn)證平臺(tái)的入口,該模塊實(shí)例化了env模塊和interface模塊;env模塊是環(huán)境模塊,該模塊實(shí)例化了generator、driver、monitor等的功能模塊,這些功能模塊在env模塊中分別完成自己的任務(wù);interface模塊是接口模塊,該模塊定義了整個(gè)像素cache模塊驗(yàn)證環(huán)境中需要控制和驗(yàn)證的接口;generator模塊是整個(gè)驗(yàn)證環(huán)境中測(cè)試激勵(lì)的產(chǎn)生器,該模塊會(huì)根據(jù)需求產(chǎn)生包括2D操作、3D操作、寫讀寫、寫讀等激勵(lì),并且將激勵(lì)以郵箱的方式傳送給其他模塊;driver模塊是驅(qū)動(dòng)模塊,該模塊接收generator模塊傳來的激勵(lì),然后根據(jù)像素cache的時(shí)序處理這些接口信號(hào);monitor模塊是監(jiān)視器模塊,該模塊會(huì)監(jiān)視整個(gè)驗(yàn)證過程中的信號(hào),如數(shù)據(jù)、地址、功能,包括像素cache模塊中間產(chǎn)生的信號(hào),并將監(jiān)視到的有用信號(hào)以郵箱的方式傳送給其他模塊;scoreboard模塊是計(jì)分板,該模塊接收monitor模塊傳來的有用數(shù)據(jù),并根據(jù)需求把結(jié)果打印到終端和文件中,以供程序員對(duì)比檢查,如果出現(xiàn)錯(cuò)誤,該模塊會(huì)打印出問題所在位置和時(shí)間,并中斷整個(gè)驗(yàn)證流程;coverage模塊是覆蓋率模塊,該模塊接收每一次激勵(lì)信號(hào),并分析該激勵(lì)屬于哪一類測(cè)試,最終統(tǒng)計(jì)所有結(jié)果,計(jì)算出整個(gè)驗(yàn)證過程中的功能覆蓋率和數(shù)據(jù)的覆蓋率并打印到終端和文件中,以供程序員對(duì)比檢查。

2.5 驗(yàn)證過程和預(yù)期目標(biāo)

    整個(gè)驗(yàn)證平臺(tái)和DUT以如圖4[6]方式進(jìn)行搭建。

wdz5-t4.gif

    首先根據(jù)DUT模塊的功能和反饋信號(hào),將DUT輸入分為如下幾類:2D圖形加速的寫、寫后讀、寫后寫后讀、讀、讀后讀、讀后寫后讀;3D段操作的寫、寫后讀、寫后寫后讀、讀、讀后讀、讀后寫后讀等輸入信號(hào)。然后將輸入數(shù)據(jù)128位和地址32位進(jìn)行隨機(jī)產(chǎn)生,最終目標(biāo)要保證功能覆蓋率達(dá)到100%,并且數(shù)據(jù)和地址能夠正確無誤地進(jìn)行傳輸。

3 結(jié)果分析

3.1 輸出報(bào)告

    經(jīng)過隨機(jī)產(chǎn)生的100 000組測(cè)試激勵(lì),在VCS終端會(huì)打印出執(zhí)行報(bào)告,隨機(jī)挑出一條報(bào)告進(jìn)行分析,如圖5。

wdz5-t5.gif

    圖中第200次隨機(jī)驗(yàn)證中Driver讀取generator產(chǎn)生的隨機(jī)激勵(lì)成功,并分析該次隨機(jī)驗(yàn)證的分類。分別經(jīng)過driver,scoreboard,monitor模塊操作,最終分析得出,該次隨機(jī)驗(yàn)證屬于3D端操作中的讀類型,讀的數(shù)據(jù)為如圖5中的128位的值,地址為32’h675745fd。本次隨機(jī)驗(yàn)證時(shí)間從99330000ps開始到99790000ps結(jié)束,數(shù)據(jù)和地址均與預(yù)期結(jié)果一直,傳輸結(jié)果正確。

    整個(gè)驗(yàn)證過程產(chǎn)生的報(bào)告如圖6所示。

wdz5-t6.gif

    根據(jù)圖6中報(bào)告可知,經(jīng)過100 000次隨機(jī)激勵(lì)與測(cè)試,所得的結(jié)果滿足預(yù)期要求,能夠完全覆蓋2D圖形加速和3D段操作中的所有8種預(yù)期情況,功能覆蓋率達(dá)到100%;數(shù)據(jù)和地址也是隨機(jī)產(chǎn)生,經(jīng)過100 000次的隨機(jī)化產(chǎn)生激勵(lì),數(shù)據(jù)和地址基本達(dá)到全面覆蓋。

3.2 波形圖

    圖7是使用DVE工具產(chǎn)生的部分驗(yàn)證波形,從波形中可以看出,每個(gè)驗(yàn)證激勵(lì)均為隨機(jī)產(chǎn)生,并且結(jié)果與預(yù)期的一致,沒有出現(xiàn)錯(cuò)誤。

wdz5-t7.gif

4 總結(jié)

    本文基于SV語言搭建了一個(gè)能夠全面驗(yàn)證像素cahce的平臺(tái),并且詳細(xì)地介紹了該平臺(tái)各個(gè)模塊及架構(gòu)。隨后利用VCS軟件對(duì)像素cache進(jìn)行了全面驗(yàn)證測(cè)試。實(shí)驗(yàn)結(jié)果表明,該平臺(tái)針對(duì)像素cache模塊實(shí)現(xiàn)了功能上全面覆蓋,能夠準(zhǔn)確地檢測(cè)出像素cache模塊中出錯(cuò)的地方,并且及時(shí)報(bào)錯(cuò),從覆蓋率和正確性上均達(dá)到了預(yù)期目標(biāo)。由于本文設(shè)計(jì)的驗(yàn)證平臺(tái)與待測(cè)模塊在架構(gòu)上是獨(dú)立的,所以該平臺(tái)具有很好的可重用性,只需對(duì)部分模塊進(jìn)行修改便可以用于驗(yàn)證其他同類型的待測(cè)模塊。

參考文獻(xiàn)

[1] 山蕊,蔣林,李濤.基于SystemVerilog的可重用驗(yàn)證平臺(tái)[J].電子技術(shù)應(yīng)用,2013,39(5):128-131.

[2] 王鵬,劉萬和,劉銳,等.基于SystemVerilog可重用測(cè)試平臺(tái)的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2015,41(2):61-64.

[3] P-IEEE.Standard for SystemVerilog-Unified hardware design,Specification,and verification language[J].Copyright 2009:isbn,2009:1-1285.

[4] 黃鳳英.基于SV語言的RFID標(biāo)簽芯片數(shù)字系統(tǒng)驗(yàn)證平臺(tái)設(shè)計(jì)[J].中國(guó)集成電路,2016,25(3):30-34.

[5] SPEAR C.Systemverilog for verification[M].SystemVerilog for Verification.2012:253-266.

[6] (美)克里斯·斯皮爾.SystemVerilog驗(yàn)證[M].北京:科學(xué)出版社,2009.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美va天堂| 国产字幕视频一区二区| 欧美在线观看天堂一区二区三区| 亚洲日本精品国产第一区| 久久成人免费| 久久gogo国模裸体人体| 亚洲一区二区在线视频 | 午夜精品久久99蜜桃的功能介绍| 一本色道久久综合一区| 99pao成人国产永久免费视频| 亚洲国产精品久久久| 亚洲国产精选| 亚洲精品网站在线播放gif| 最新亚洲一区| 99riav国产精品| 中日韩视频在线观看| 亚洲五月婷婷| 亚洲欧美视频在线| 欧美在线观看网站| 亚洲第一狼人社区| 亚洲国产精品成人综合| 韩国v欧美v日本v亚洲v | 国内精品久久久久国产盗摄免费观看完整版| 国产精品嫩草久久久久| 国产欧美精品一区aⅴ影院| 国产乱码精品一区二区三区忘忧草 | 国产精品人人做人人爽| 国产精品一区二区三区观看| 国产美女诱惑一区二区| 国产视频久久久久久久| 狠狠色噜噜狠狠狠狠色吗综合| 精品成人乱色一区二区| 91久久线看在观草草青青| 99精品欧美| 午夜精品免费| 亚洲欧洲日韩女同| 在线视频日韩| 欧美在线三级| 欧美成ee人免费视频| 欧美日韩1234| 国产精品尤物| 激情91久久| 日韩亚洲视频| 亚洲欧美日韩国产中文| 亚洲福利久久| 亚洲午夜精品| 久久亚洲午夜电影| 欧美日韩国产影院| 国产精品亚洲综合一区在线观看| 激情成人在线视频| 99国产成+人+综合+亚洲欧美| 亚洲资源av| 亚洲日本中文字幕| 香蕉成人啪国产精品视频综合网| 久久精品男女| 欧美区在线观看| 国产亚洲精品久久久久婷婷瑜伽| 在线观看欧美精品| 中文亚洲视频在线| 久久精品欧洲| 亚洲一区二区在线播放| 久久久免费观看视频| 欧美日本一道本| 国产在线视频欧美| 一区二区三区免费网站| 亚洲黄色一区| 性欧美办公室18xxxxhd| 国产在线观看一区| 久久精精品视频| 欧美大片一区| 国产日韩高清一区二区三区在线| 亚洲人成网在线播放| 小黄鸭精品aⅴ导航网站入口| 日韩午夜一区| 久久精品免费播放| 欧美三级乱码| 亚洲高清免费视频| 欧美一级播放| 中文av字幕一区| 嫩草影视亚洲| 国产精品一卡二| 日韩视频中文| 最新国产拍偷乱拍精品| 欧美在线观看视频| 欧美日韩精品一区二区三区四区| 国产原创一区二区| 亚洲一区自拍| 一本色道久久加勒比精品| 美女国内精品自产拍在线播放| 国产精品视频九色porn| 亚洲国产一区二区三区青草影视| 欧美在线视频a| 欧美一级艳片视频免费观看| 欧美精品久久久久久久久老牛影院 | 亚洲欧美久久久| 亚洲一区二区三区精品在线观看| 欧美国产精品专区| 国产综合自拍| 亚洲男女毛片无遮挡| 亚洲午夜精品一区二区| 欧美激情综合五月色丁香小说| 国外视频精品毛片| 欧美亚洲视频在线观看| 午夜精品免费| 国产精品家庭影院| 中国成人在线视频| 中国成人亚色综合网站| 欧美激情在线狂野欧美精品| 亚洲成人自拍视频| 亚洲国产精品久久精品怡红院 | 欧美午夜精品一区| 亚洲毛片网站| 一本色道**综合亚洲精品蜜桃冫 | 亚洲男人的天堂在线观看| 亚洲欧美第一页| 国产精品xxx在线观看www| 99视频精品免费观看| 欧美区一区二区三区| 久久这里只有| 国产亚洲一区在线播放| 午夜精品国产更新| 久久av红桃一区二区小说| 国产精品免费看| 亚洲在线观看免费| 欧美在线视频一区| 国产欧美日韩在线视频| 午夜国产精品影院在线观看| 欧美一级二区| 国产亚洲精品福利| 亚洲国产va精品久久久不卡综合| 久久久女女女女999久久| 激情婷婷久久| 亚洲欧洲在线免费| 欧美日韩国产在线播放| 一区二区三区精品在线| 午夜综合激情| 国内精品视频在线播放| 亚洲高清视频一区| 欧美成人xxx| 亚洲美女区一区| 亚洲欧美日韩天堂一区二区| 国产欧美午夜| 久久国产视频网站| 欧美成人福利视频| 日韩一级成人av| 欧美在线观看视频| 在线观看欧美一区| 日韩一级片网址| 国产精品久久7| 欧美专区日韩视频| 欧美va亚洲va国产综合| 99国产精品99久久久久久| 欧美一级久久久| 在线成人小视频| 亚洲午夜激情在线| 国产一区二区三区直播精品电影| 91久久国产精品91久久性色| 欧美日韩视频在线一区二区观看视频 | 亚洲综合色激情五月| 国产亚洲一区二区三区在线播放| 91久久久亚洲精品| 欧美性一二三区| 久久精品国产99| 欧美日韩美女一区二区| 亚洲欧美日韩国产一区二区三区| 久久永久免费| 亚洲美女中出| 久久精品国产一区二区电影| 亚洲激情视频在线| 性欧美暴力猛交69hd| 在线欧美亚洲| 亚洲欧美卡通另类91av| 在线看日韩av| 午夜国产精品影院在线观看| 亚洲盗摄视频| 亚洲午夜电影在线观看| 精品999网站| 亚洲欧美日韩精品在线| 国产精品一二三四区| 日韩午夜在线| 久久久精品国产一区二区三区| 亚洲三级影片| 久久久久国产精品一区三寸| aa成人免费视频| 久热re这里精品视频在线6| 亚洲视频国产视频| 欧美不卡在线视频| 午夜久久一区| 欧美日韩精品二区| 亚洲国产精品www| 国产精品免费看片| 亚洲精品一区中文| 国产视频观看一区| 亚洲网站在线播放| 亚洲国产美女久久久久| 久久狠狠亚洲综合| 亚洲午夜精品一区二区三区他趣| 欧美激情第二页| 亚洲大片免费看| 国产视频久久久久|