亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向串行總線的層次化UVM驗(yàn)證平臺(tái)設(shè)計(jì)

        2018-09-11 02:09:24陳琳娜孟建熠林志濤
        傳感器與微系統(tǒng) 2018年9期
        關(guān)鍵詞:定義

        陳琳娜, 孟建熠, 林志濤

        (1.浙江大學(xué) 電氣工程學(xué)院,浙江 杭州 310027; 2.復(fù)旦大學(xué) 微電子學(xué)院,上海 201203)

        0 引 言

        提高芯片的驗(yàn)證效率至關(guān)重要[1],現(xiàn)有的驗(yàn)證平臺(tái)大部分是基于通用驗(yàn)證方法學(xué)(universal verification methodology,UVM)環(huán)境開(kāi)發(fā)的[2],然而驗(yàn)證組件的實(shí)現(xiàn)與被測(cè)器件(device under test,DUT)緊耦合,導(dǎo)致其可重用性需要通過(guò)更改或替換已有驗(yàn)證平臺(tái)的部分代碼來(lái)實(shí)現(xiàn)[3,4];另一方面,在一個(gè)含有上千個(gè)測(cè)試用例的大型項(xiàng)目里,仿真測(cè)試需要的時(shí)間變得很長(zhǎng)。因此如何提高驗(yàn)證組件代碼的可重用性和縮短測(cè)試用例仿真時(shí)間已成為驗(yàn)證平臺(tái)開(kāi)發(fā)的困難與挑戰(zhàn)之一。標(biāo)準(zhǔn)化串行總線接口作為設(shè)備之間信息交流的主要通道,是片上系統(tǒng)(system on chip,SOC)芯片不可缺少的部分[5]。針對(duì)廣泛應(yīng)用的串行總線協(xié)議,以及現(xiàn)有的UVM驗(yàn)證組件代碼可重用性差和仿真時(shí)間長(zhǎng)等缺陷,本文提出了一種面向串行總線協(xié)議的層次化公用庫(kù)設(shè)計(jì),同時(shí)對(duì)UVM transaction定義進(jìn)行改進(jìn),加快仿真速度,實(shí)現(xiàn)了快速驗(yàn)證。

        1 UVM驗(yàn)證方法學(xué)

        UVM繼承了 SystemVerilog驗(yàn)證語(yǔ)言面向?qū)ο蟮乃枷耄瑢?shí)現(xiàn)了驗(yàn)證的重用性和清晰的層次結(jié)構(gòu)。UVM常用類的層次結(jié)構(gòu)如圖1所示[6,7]。

        2 串行總線的層次化驗(yàn)證平臺(tái)研究

        2.1 層次化公用庫(kù)的設(shè)計(jì)

        公用庫(kù)的設(shè)計(jì)是將環(huán)境模型和功能模塊抽象出來(lái),定義為可重用的通用庫(kù)文件。串行總線協(xié)議通常具有共性:1)支持主從或?qū)Φ饶J剑?)支持大端或小端;3)支持同步或異步模式。

        層次化的公用庫(kù)主要基于驗(yàn)證平臺(tái)的重用層級(jí)來(lái)進(jìn)行建模和管理,主要分為以下幾個(gè)層級(jí)建模:1)事務(wù)級(jí)建模;2)組件級(jí)建模;3)功能級(jí)建模。圖2為在原有的庫(kù)基礎(chǔ)上添加的層次化公用庫(kù)。

        圖1 UVM常用類層次結(jié)構(gòu)

        圖2 層次化公用庫(kù)類

        2.1.1 事務(wù)級(jí)建模

        該層次的建模主要包括具體協(xié)議內(nèi)容的transaction定義以及相關(guān)語(yǔ)義類型定義,一個(gè)標(biāo)準(zhǔn)串行總線協(xié)議的transaction通常是定義一些數(shù)據(jù)包類型,數(shù)據(jù)傳送格式,數(shù)據(jù)傳送長(zhǎng)度等基礎(chǔ)內(nèi)容。

        2.1.2 組件級(jí)建模

        該層次的建模與協(xié)議內(nèi)容無(wú)關(guān),主要包括驗(yàn)證組件基本功能的實(shí)現(xiàn)。組件級(jí)的建模包括:

        1)lib_driver:所有協(xié)議的driver設(shè)計(jì)都有一個(gè)共同功能:當(dāng)檢測(cè)到一個(gè)復(fù)位信號(hào)到來(lái)時(shí),立刻退出所有的接口驅(qū)動(dòng)。可以設(shè)計(jì)一個(gè)公用組件lib_driver派生自driver,并在該組件中加入該功能。

        2)lib_monitor:該組件派生自monitor, 不同的協(xié)議對(duì)接口的monitor方式各不同,故在該組件中加入一個(gè)虛函數(shù)并通過(guò)無(wú)限循環(huán)來(lái)不斷收集DUT 接口的輸出。

        3)lib_scoreboard:該組件派生自scoreboard,用于比較期望數(shù)據(jù)和實(shí)際數(shù)據(jù)??稍趌ib_scoreboard中聲明2個(gè)imp端口,同時(shí)另設(shè)2個(gè) Buffer 用于緩沖數(shù)據(jù)。在check_phase里檢查Buffer是否為空。

        4)lib_test:該組件派生自u(píng)vm_test,并包含基本功能:a.設(shè)置整個(gè)驗(yàn)證平臺(tái)的超時(shí)退出時(shí)間;b.設(shè)置用例跑的次數(shù);c.在report_phase中根據(jù)UVM_ERROR的數(shù)量來(lái)打印不同的信息。

        2.1.3 功能級(jí)建模

        該層次的建模主要包括協(xié)議通用的功能和任務(wù)函數(shù)。串行總線協(xié)議的通用函數(shù)包括:

        1)傳輸起始與停止條件:主從模式下的串行協(xié)議,起始和停止條件由主機(jī)產(chǎn)生;對(duì)等模式則由發(fā)送模式產(chǎn)生。無(wú)論是何種模式,都需要實(shí)時(shí)監(jiān)測(cè)起始與停止條件。這些過(guò)程可封裝成公用函數(shù)。

        2)時(shí)鐘線驅(qū)動(dòng):同步傳輸模式下的串行協(xié)議,需要時(shí)鐘信號(hào)確定同步傳輸?shù)乃俣?;異步傳輸通過(guò)配置波特率對(duì)時(shí)鐘進(jìn)行采樣。該過(guò)程可封裝成公用函數(shù)實(shí)現(xiàn)不同頻率的時(shí)鐘產(chǎn)生。

        3)數(shù)據(jù)線驅(qū)動(dòng)/監(jiān)測(cè):同步傳輸模式下,不同的時(shí)鐘極性和相位決定了在時(shí)鐘不同的跳變沿對(duì)數(shù)據(jù)線進(jìn)行驅(qū)動(dòng)或監(jiān)測(cè);異步傳輸數(shù)據(jù)的驅(qū)動(dòng)與監(jiān)測(cè)由采樣時(shí)鐘確定。數(shù)據(jù)傳輸有大端和小端模式。該過(guò)程可封裝成公用函數(shù)。

        2.2 改進(jìn)的transaction定義

        UVM各個(gè)組件之間的信息傳遞基于transaction。transaction中數(shù)據(jù)變量通過(guò)Field-Automation宏機(jī)制注冊(cè),簡(jiǎn)化了transaction的處理過(guò)程[8]。

        Field-Automation宏機(jī)制的實(shí)現(xiàn)過(guò)程如圖3所示。′uvm_object_utils_begin()為宏開(kāi)始定義,用于注冊(cè)transaction類,該宏擴(kuò)展為一個(gè)內(nèi)部方法: __m_uvm_field_automation()?!鋟vm_filed_*系列宏體用于注冊(cè)transaction內(nèi)部定義的變量[9],每個(gè)宏體的聲明都會(huì)擴(kuò)展成一個(gè)case語(yǔ)句的實(shí)現(xiàn)。當(dāng)用戶調(diào)用print,copy,compare等函數(shù)對(duì)transaction進(jìn)行處理時(shí),如果該transaction使用了Field-Automation機(jī)制,那么這些函數(shù)就會(huì)自動(dòng)調(diào)用內(nèi)部方法,并把第二個(gè)參數(shù)what_設(shè)置成對(duì)應(yīng)的函數(shù)處理字段。宏體的聲明導(dǎo)致相應(yīng)case語(yǔ)句分支操作的執(zhí)行,而分支操作里的函數(shù)又通過(guò)調(diào)用其他方法實(shí)現(xiàn)。過(guò)長(zhǎng)的調(diào)用路徑導(dǎo)致過(guò)多的冗余代碼執(zhí)行,使得測(cè)試用例的運(yùn)行時(shí)間和調(diào)試難度大大地提高。

        圖3 宏的實(shí)現(xiàn)

        UVM庫(kù)里提供另一種方法來(lái)實(shí)現(xiàn)函數(shù)print,copy,compare,pack,unpack,即do_ 虛方法,這些虛方法會(huì)自動(dòng)執(zhí)行。為了避免冗余代碼的調(diào)用,在改進(jìn)的transaction定義中,無(wú)需聲明′uvm_field_*宏體,并根據(jù)協(xié)議內(nèi)容重寫需要的do_虛方法。

        do_compare的重寫只需添加下面幾行代碼即可實(shí)現(xiàn)compare的功能:

        function bit do_compare(uvm_object rhs);

        transaction rhs_;∥transaction為自定義的類

        do_compare=(S|cast(rhs_,rhs)&&addr==rhs_.addr);∥添加要比較的變量

        endfunction

        相比原有的transaction定義,改進(jìn)的transaction定義沒(méi)有宏體的聲明,避免了過(guò)長(zhǎng)的路徑調(diào)用;重寫的do_代碼量少,沒(méi)有冗余代碼的調(diào)用,很大程度上提高了仿真效率。

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

        本文以通用串行接口(universal serial interface,USI)模塊的快速驗(yàn)證為例,對(duì)文中提到的方法進(jìn)行評(píng)估。USI 為自行開(kāi)發(fā),該模塊包括了高級(jí)外圍總線(advanced peripheral bus,APB)接口,寄存器TX FIFO和RX FIFO,功能模塊(UART,I2CM,I2CS,SPIM,SPIS)和串行接口,通過(guò)配置控制寄存器,可使相應(yīng)的功能模塊工作,實(shí)現(xiàn)了UART, I2C, SPI 3種協(xié)議。

        3.1 USI驗(yàn)證平臺(tái)構(gòu)建

        基于層次化公用庫(kù)的思想和高效的transaction定義,設(shè)計(jì)了如圖4所示的USI模塊驗(yàn)證平臺(tái)。該平臺(tái)構(gòu)建了APB UVC,INTR UVC,Reset UVC,DMA UVC(Reset UVC和DMA UVC圖中未標(biāo)出),包含SPI ,I2C,UART UVC的Peripheral。SPI ,I2C,UART UVC均有2個(gè)Monitor port,分別用于傳遞期望的數(shù)據(jù)和實(shí)際的數(shù)據(jù)。Reference model包含了TX,RX FIFO,APB,SPI,UART,I2C等模型,功能行為與DUT一致。 用戶在case里通過(guò)寄存器模型操作APB_UVC配置控制寄存器選擇相應(yīng)的功能模塊。寫操作時(shí),APB UVC向DUT TX FIFO寫數(shù)據(jù),寫入當(dāng)前數(shù)據(jù)同時(shí)也傳給reference model的TX FIFO模型,根據(jù)配置選擇相應(yīng)的功能模型(SPI,I2C或UART)讀出數(shù)據(jù),發(fā)送給Scoreboard,作為期望的數(shù)據(jù);實(shí)際的數(shù)據(jù)則是設(shè)備UVC監(jiān)測(cè)DUT接口得到的數(shù)據(jù)。讀操作時(shí),通過(guò)case啟動(dòng)sequencer,將得到的transaction數(shù)據(jù)寫入reference model RX FIFO, 并通過(guò)APB模型讀出發(fā)送給Scoreboard,作為期望的數(shù)據(jù);實(shí)際的數(shù)據(jù)由寄存器模型操作APB UVC讀取DUT的RX FIFO數(shù)據(jù)。

        3.2 效率分析

        USI驗(yàn)證以高效性為原則。原有的驗(yàn)證平臺(tái)的代碼量有一萬(wàn)行之多,基于公用庫(kù)的驗(yàn)證平臺(tái)將代碼量減少到數(shù)千行之內(nèi),60 %以上的功能代碼可通過(guò)調(diào)用公用庫(kù)實(shí)現(xiàn)。由于使用了公用庫(kù),驗(yàn)證不同串行總線IP時(shí),驗(yàn)證工程師只需在此基礎(chǔ)上進(jìn)行功能擴(kuò)展,實(shí)現(xiàn)了驗(yàn)證組件可重用性。

        圖4 USI驗(yàn)證結(jié)構(gòu)

        與傳統(tǒng)的transaction定義方法相比,改進(jìn)的transaction定義縮短了仿真運(yùn)行時(shí)間。表1列出在回歸測(cè)試之前相同測(cè)試用例下,2種不同的transaction定義對(duì)仿真時(shí)間的影響。I2C,SPI模塊對(duì)transaction的操作相對(duì)復(fù)雜,調(diào)用了copy,compare,print函數(shù),與改進(jìn)前的transaction定義相比,仿真速度提升了6 %~7 %左右;而UART模塊相對(duì)簡(jiǎn)單,對(duì)transaction的處理次數(shù)少,仿真速度只提升了3 %。

        表1 仿真時(shí)間對(duì)比

        圖5為同期開(kāi)展的USI回歸測(cè)試2種不同transaction定義,達(dá)到規(guī)定覆蓋率要求所需驗(yàn)證時(shí)間的對(duì)比結(jié)果??梢钥闯?,使用改進(jìn)的transaction 的驗(yàn)證平臺(tái)在50 h左右的測(cè)試時(shí)間內(nèi),完成USI模塊100 %的功能覆蓋率驗(yàn)證,96.6 %的代碼覆蓋率驗(yàn)證;使用Field-Automation機(jī)制的transaction 驗(yàn)證平臺(tái)則在56 h左右達(dá)到相同的覆蓋率。測(cè)試結(jié)果表明,改進(jìn)的transaction定義使USI驗(yàn)證時(shí)間縮短10.7 %。對(duì)于在大型的驗(yàn)證項(xiàng)目中,對(duì)transaction處理的次數(shù)越多,仿真速度提升效果將會(huì)越明顯。

        圖5 不同transaction定義達(dá)到96 %覆蓋率所需驗(yàn)證時(shí)間

        4 結(jié)束語(yǔ)

        本文設(shè)計(jì)了一種面向串行總線的層次化UVM驗(yàn)證平臺(tái)。相對(duì)于已有的UVM驗(yàn)證平臺(tái),引進(jìn)了公用庫(kù)的概念,使得驗(yàn)證平臺(tái)能最大限度重用,同時(shí)對(duì)傳統(tǒng)的transaction定義進(jìn)行改進(jìn),縮短了仿真測(cè)試時(shí)間。實(shí)驗(yàn)表明:基于公用庫(kù)的多標(biāo)準(zhǔn)串行總線協(xié)議驗(yàn)證平臺(tái)和改進(jìn)的transaction定義使驗(yàn)證效率得到了提升。下一步將根據(jù)配置文件,用腳本自動(dòng)生成公用庫(kù),實(shí)現(xiàn)驗(yàn)證組件的自動(dòng)化生成。

        猜你喜歡
        定義
        以愛(ài)之名,定義成長(zhǎng)
        活用定義巧解統(tǒng)計(jì)概率解答題
        例談橢圓的定義及其應(yīng)用
        題在書外 根在書中——圓錐曲線第三定義在教材和高考中的滲透
        永遠(yuǎn)不要用“起點(diǎn)”定義自己
        海峽姐妹(2020年9期)2021-01-04 01:35:44
        嚴(yán)昊:不定義終點(diǎn) 一直在路上
        定義“風(fēng)格”
        成功的定義
        山東青年(2016年1期)2016-02-28 14:25:25
        有壹手——重新定義快修連鎖
        修辭學(xué)的重大定義
        欧洲熟妇色| 日韩精品极品视频在线观看蜜桃| 青青青视频手机在线观看| 少妇下面好爽好紧好湿一区二区| 激烈的性高湖波多野结衣| 国内精品一区二区三区| 欧美在线Aⅴ性色| 人妻一区二区三区在线看| 亚洲国产精品无码专区在线观看| 欧美日韩不卡视频合集| 欧美h久免费女| 亚洲乱码一区二区av高潮偷拍的| 久久99国产精品久久99果冻传媒 | 亚洲国产精品久久亚洲精品| 日本少妇被爽到高潮的免费| 日韩女优一区二区在线观看| 国产亚洲精品美女久久久m| 亚洲欧美日韩综合久久久| 无码一区二区三区在| 国产精品女同一区二区软件| 国产强被迫伦姧在线观看无码| 精品无码国产污污污免费网站| 美女精品国产一区二区三区| 麻豆国产精品一区二区三区| 最近2019年好看中文字幕视频| 国产亚洲欧美成人久久片| 免费在线观看视频专区| 久久熟妇少妇亚洲精品| 亚洲av永久无码天堂网毛片| 麻豆密入视频在线观看| av在线播放免费观看| 亚洲一区二区三区四区五区六| 国产精品国产三级农村妇女| 女人一级特黄大片国产精品 | 无遮挡亲胸捏胸免费视频 | 大尺度极品粉嫩嫩模免费| 色诱视频在线观看| 国产欧美日韩专区| 国产三级在线观看不卡| 国产精品美女一区二区视频| 无码人妻一区二区三区免费|