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

        ?

        基于UVM的FPGA通用接口測(cè)試平臺(tái)設(shè)計(jì)

        2019-10-18 07:52:50黃坤超李晨陽(yáng)
        關(guān)鍵詞:腳本組件數(shù)據(jù)庫(kù)

        王 濤,黃坤超,李晨陽(yáng)

        (中國(guó)電子科技集團(tuán)公司第十研究所,四川 成都 610036)

        0 引 言

        隨著FPGA在航空、航天、通信、識(shí)別等領(lǐng)域的廣泛使用,以及業(yè)內(nèi)對(duì)FPGA驗(yàn)證質(zhì)量要求的不斷提高,傳統(tǒng)的仿真驗(yàn)證已難以滿足日益增長(zhǎng)的驗(yàn)證需求,驗(yàn)證技術(shù)也由傳統(tǒng)仿真驗(yàn)證逐漸轉(zhuǎn)移到新一代的驗(yàn)證方法學(xué)中.

        目前主流的驗(yàn)證方法學(xué)分別是VMM,OVM和UVM,其中UVM已成為業(yè)內(nèi)廣泛使用的驗(yàn)證技術(shù)[1],屬于TLM級(jí)驗(yàn)證,具有較高層次,主流的EDA工具均支持UVM,已成為各大公司驗(yàn)證趨勢(shì).國(guó)內(nèi)航天等科研單位都在積極開(kāi)展FPGA自動(dòng)化測(cè)試技術(shù)研究,對(duì)UVM驗(yàn)證方法表現(xiàn)出極大興趣.UVM主要是針對(duì)相似的FPGA接口進(jìn)行驗(yàn)證,據(jù)統(tǒng)計(jì),現(xiàn)有的大部分UVM驗(yàn)證平臺(tái)的實(shí)現(xiàn)與DUT呈現(xiàn)緊耦合性[2],導(dǎo)致驗(yàn)證組件不能直接在不同項(xiàng)目平臺(tái)中使用,其可重用性需要通過(guò)重建或替換已有驗(yàn)證平臺(tái)的部分代碼來(lái)實(shí)現(xiàn),使得多重測(cè)試環(huán)境復(fù)雜度增加,產(chǎn)生大量的工作量[3,4].

        面對(duì)多接口的復(fù)雜設(shè)計(jì)環(huán)境,為滿足多重驗(yàn)證環(huán)境需要,利用通用UVM驗(yàn)證平臺(tái)架構(gòu)進(jìn)行重新優(yōu)化設(shè)計(jì),建立一種基于UVM的高層次化測(cè)試平臺(tái),提出層次化設(shè)計(jì)、通用數(shù)據(jù)庫(kù)共享、事件同步化控制、自動(dòng)化執(zhí)行等技術(shù),建立一套新的重用機(jī)制,使得重用性即能在相似接口內(nèi)重用,又可以在多種不同接口的復(fù)雜環(huán)境中重用,提升測(cè)試的可重用性.實(shí)驗(yàn)結(jié)果表明改進(jìn)后的平臺(tái)可使測(cè)試時(shí)間縮短40%以上,并滿足多種接口測(cè)試需要.

        1 FPGA通用接口自動(dòng)化測(cè)試平臺(tái)

        1.1 通用接口分析

        目前FPGA設(shè)計(jì)較多的是采用DSP+FPGA設(shè)計(jì)構(gòu)架,對(duì)歷屆測(cè)試項(xiàng)目統(tǒng)計(jì)FPGA對(duì)外接口主要包括UART,SPI和DSP等.一般情況下UART,SPI和DSP接口設(shè)計(jì)是通過(guò)總線架構(gòu)形式配合使用,如圖1所示.

        圖1 FPGA通用接口關(guān)系

        根據(jù)UART,SPI和DSP 3種接口支持的不同類(lèi)型協(xié)議,通過(guò)思維導(dǎo)圖分解接口需求,主要包含DSP的只讀、只寫(xiě)、可讀可寫(xiě)測(cè)試,UART和SPI的收發(fā)功能一致性測(cè)試、緩沖測(cè)試、幀格式測(cè)試,校驗(yàn)位測(cè)試、幀長(zhǎng)測(cè)試、毛刺測(cè)試、波特率測(cè)試等,可通過(guò)配置寄存器組合出不同的實(shí)現(xiàn)模式.

        1.2 通用接口自動(dòng)化測(cè)試平臺(tái)

        基于UVM測(cè)試平臺(tái),改進(jìn)后的FPGA通用接口自動(dòng)化測(cè)試平臺(tái)如圖2所示.

        圖2 通用接口自動(dòng)化測(cè)試平臺(tái)

        FPGA軟件通用接口自動(dòng)化測(cè)試平臺(tái)分為測(cè)試平臺(tái)和管理平臺(tái)兩部分.管理平臺(tái)為自動(dòng)化測(cè)試平臺(tái)的實(shí)施提供所對(duì)應(yīng)的可視化操作窗口,提供接口參數(shù)配置和結(jié)果輸出界面,通過(guò)腳本方式完成管理平臺(tái)與測(cè)試平臺(tái)之間的數(shù)據(jù)交互.

        測(cè)試平臺(tái)在UVM基礎(chǔ)上改進(jìn)形成,由一個(gè)TOP頂層封裝起來(lái),首先在TEST層控制發(fā)送sequence_high(高層次序列)給序列器sequencer;Sequencer將sequence_high以指針的形式傳遞給驅(qū)動(dòng)器Driver;其次在BASE_TEST層中建立通用數(shù)據(jù)庫(kù)和ENV層之間的各個(gè)組件連接關(guān)系,建立數(shù)據(jù)傳輸通道;Driver根據(jù)接收到的高層次序列命令sequence_high,從通用數(shù)據(jù)庫(kù)sequence_low_lib中提取相應(yīng)的底層次序列sequence和系統(tǒng)配置參數(shù)sequence_sys,將底層次序列送給被測(cè)件DUT;監(jiān)控器Monitor收集DUT輸出數(shù)據(jù)和覆蓋率數(shù)據(jù)等,將收集好的數(shù)據(jù)傳遞給Collect_lib(數(shù)據(jù)收集庫(kù)),Collect_lib負(fù)責(zé)數(shù)據(jù)統(tǒng)一管理和覆蓋率收集;比較器Scoreboard從數(shù)據(jù)收集庫(kù)Collect_lib提取要比較的數(shù)據(jù),在Scoreboard比較完成后,打印輸出結(jié)果.最終實(shí)現(xiàn)測(cè)試指令與測(cè)試設(shè)計(jì)相分離,測(cè)試設(shè)計(jì)與被測(cè)設(shè)計(jì)相分離的設(shè)計(jì),完成整個(gè)測(cè)試過(guò)程.

        2 關(guān)鍵性技術(shù)實(shí)現(xiàn)

        2.1 層次化設(shè)計(jì)

        對(duì)于任何一種新型的驗(yàn)證方法學(xué)來(lái)說(shuō),分層的測(cè)試平臺(tái)是一個(gè)關(guān)鍵概念,分層有助于驗(yàn)證平臺(tái)的可移植性和可維護(hù)性[5].研究表明,越是高層次化的驗(yàn)證則驗(yàn)證效率越高[6].傳統(tǒng)的仿真采用平面式的驗(yàn)證環(huán)境,層次化程度很低,不利于重用,難以處理各種情境下的驗(yàn)證問(wèn)題.

        現(xiàn)有的UVM驗(yàn)證平臺(tái)在TLM級(jí)組件之間的通信通過(guò)專門(mén)PORT端口傳遞消息[7],在TEST頂層直接實(shí)現(xiàn)和控制測(cè)試序列產(chǎn)生,同時(shí)還要考慮多序列之間的同步問(wèn)題,抽象層次級(jí)別低,同時(shí)驗(yàn)證組件之間呈現(xiàn)緊耦合關(guān)系,導(dǎo)致其可重用性較差.當(dāng)多重環(huán)境存在時(shí),驗(yàn)證的復(fù)雜度和出錯(cuò)概率都急劇增加[8,9].因此,為提高代碼的可重用性,需要在一個(gè)UVM驗(yàn)證平臺(tái)下,即要保留TLM級(jí)處理能力,又要同時(shí)滿足多重環(huán)境需要.為此,在UVM基礎(chǔ)上設(shè)計(jì)出一種新的高層次化結(jié)構(gòu),如圖3所示.

        改進(jìn)后的UVM和通用UVM的層次關(guān)系不同之處在于:一方面,將原有的測(cè)試序列sequence按層次分成4類(lèi),分別為高層次序列、底層次序列庫(kù)、數(shù)據(jù)收集庫(kù)和系統(tǒng)配置4個(gè)部分,由于原來(lái)的序列使用過(guò)于直接,級(jí)別低,劃分不明確,每次測(cè)試都需要用戶重新開(kāi)始設(shè)計(jì),因此,通過(guò)分解,序列不僅提高了重用性,而且提升序列的抽象級(jí)別,同時(shí)解決了多序列帶來(lái)的同步化問(wèn)題,消除了采用vrtual sequencer和virtual sequencer進(jìn)行同步的復(fù)雜序列設(shè)計(jì);另一方面,在ENV層中統(tǒng)一Driver,Monitor,Scoreboard和Ref_model4個(gè)組件,其中只保留sequencer和Drive組件之間采用PORT端口傳遞信息,繼承UVM特性,其余組件之間信息傳遞使用通用數(shù)據(jù)庫(kù)共享方式替代PORT端口傳遞消息,取消agent代理層設(shè)計(jì),這樣做可以大大地簡(jiǎn)化測(cè)試環(huán)境之間的耦合關(guān)系,不僅提高了可重用性,而且在處理不同信息時(shí)得到了擴(kuò)展,處理方式更加簡(jiǎn)潔和透明.使用一個(gè)平臺(tái),即可完成對(duì)不同的多接口測(cè)試環(huán)境需要.

        2.2 通用數(shù)據(jù)庫(kù)共享

        通用數(shù)據(jù)庫(kù)是在建立測(cè)試用例過(guò)程中引入的一種專家知識(shí)庫(kù)概念[10],是一個(gè)中央存儲(chǔ)數(shù)據(jù)庫(kù),由一組產(chǎn)生各種激勵(lì)序列的sequence類(lèi)組成,可以與UVM驗(yàn)證環(huán)境中的任何組件進(jìn)行信息交互,整合了仿真所需要的多個(gè)獨(dú)立的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)的創(chuàng)建從需求中提取高價(jià)值的信息,結(jié)合隨機(jī)約束特性,進(jìn)行高效利用.高層次序列、底層次序列庫(kù)、數(shù)據(jù)收集庫(kù)、系統(tǒng)配置4個(gè)部分與組件之間的共享方式如圖4所示.

        圖4 數(shù)據(jù)庫(kù)與組件之間的共享方式

        sequence_high按照需求規(guī)格提煉出驗(yàn)證特性,將驗(yàn)證特性進(jìn)行歸類(lèi)處理后,對(duì)應(yīng)測(cè)試用例的功能測(cè)試點(diǎn)表示,sequence_low_lib就是每個(gè)功能測(cè)試點(diǎn)具體輸入數(shù)據(jù)序列的集合.高層次序列抽象級(jí)別較高,為決策者,低層次序列是直接測(cè)試序列,抽象級(jí)別較低,為執(zhí)行者,兩者將決策與具體執(zhí)行聯(lián)合在一起.collect_lib主要是收集DUT輸出的各種實(shí)測(cè)數(shù)據(jù),同時(shí)也收集參考模型或底層序列庫(kù)傳遞來(lái)的期望數(shù)據(jù)以及覆蓋收集等,在收集數(shù)據(jù)完成后,產(chǎn)生不同的同步標(biāo)志信息,供比較器Scoreboard使用.由于DUT是一種時(shí)序電路,驅(qū)動(dòng)接口時(shí)會(huì)有時(shí)序參數(shù)要求,因此,必須要有sequence_sys系統(tǒng)配置,sequence_sys主要包括建立控制接口信號(hào)正確時(shí)序關(guān)系的各種時(shí)序參數(shù),如時(shí)鐘頻率、建立時(shí)間、保持時(shí)間、發(fā)包間隔等.

        圖5~圖8 分別是高層次序列、底層次序列庫(kù)、數(shù)據(jù)收集庫(kù)、系統(tǒng)配置設(shè)計(jì)示例,每類(lèi)序列設(shè)計(jì)允許創(chuàng)建、修改、新增、刪除等操作.實(shí)現(xiàn)機(jī)制采用class形式將序列封裝起來(lái)形成一組參數(shù)化,提高繼承者的配置功能和通用功能.通過(guò)利用UVM的Field_Automation宏機(jī)制注冊(cè),使用`uvm_field_*系列宏體注冊(cè)不同數(shù)據(jù)類(lèi)型的變量,宏的使用實(shí)際上相當(dāng)于是一種對(duì)數(shù)據(jù)變量的控制開(kāi)關(guān),使用if/case判決條件語(yǔ)句判決高層次序列激活時(shí)啟用不同的數(shù)據(jù)變量.利用該機(jī)制用戶能夠很方便地產(chǎn)生所需要的各種序列.

        圖5 高層次序列設(shè)計(jì)

        圖8 數(shù)據(jù)收集設(shè)計(jì)

        通用數(shù)據(jù)庫(kù)是作為uvm_object的class類(lèi)產(chǎn)生所有相關(guān)的數(shù)據(jù)分類(lèi)設(shè)計(jì),數(shù)據(jù)庫(kù)可以在任何的component or object中共享.共享方式在BASE_TEST層完成配置,主要作用是建立數(shù)據(jù)庫(kù)和ENV層的各個(gè)組件之間連接關(guān)系,建立數(shù)據(jù)傳輸通道,其基本結(jié)構(gòu)如圖9所示.使用uvm_config_db::set(源文件使用)函數(shù)將需要共享的數(shù)據(jù)庫(kù)傳遞給指定的模塊;組件調(diào)用時(shí),使用uvm_config_db::get(目的文件使用)函數(shù)將該指定的模塊導(dǎo)出共享的數(shù)據(jù)庫(kù).

        圖9 數(shù)據(jù)庫(kù)在不同組件之間的映射

        利用數(shù)據(jù)庫(kù)充分挖掘UVM驗(yàn)證環(huán)境中數(shù)據(jù)的有用信息,提高數(shù)據(jù)分析的有效性,支撐決策制定,聯(lián)合不同的DSP,UART,SPI等接口最優(yōu)數(shù)據(jù)格式需求,構(gòu)建一種可共享和跨項(xiàng)目的通用數(shù)據(jù)庫(kù),有效提高跨組件的通信和互操作能力,實(shí)現(xiàn)資源合理配置,滿足多個(gè)平臺(tái)重用.

        2.3 事件同步化控制設(shè)計(jì)

        測(cè)試平臺(tái)組件Driver,Monitor,Scoreboard 3者之間必須有密切的時(shí)序配合才能正常工作,基于時(shí)鐘周期級(jí)的測(cè)試平臺(tái)對(duì)于具體時(shí)鐘的緊耦合性很強(qiáng),需要處理執(zhí)行過(guò)程中初始化、驅(qū)動(dòng)、監(jiān)控和比較等組件,組件之間的信息交互難以處理同步化關(guān)系,同時(shí)還存在一定的時(shí)序競(jìng)爭(zhēng)問(wèn)題.事件觸發(fā)對(duì)于具體時(shí)鐘的緊耦合性不強(qiáng),采用事件觸發(fā)解決組件之間信息傳遞同步化處理是一種很好的解決辦法,如圖10所示.

        圖10 基于事件的同步化控制

        2.4 自動(dòng)化執(zhí)行

        測(cè)試平臺(tái)的自動(dòng)化執(zhí)行,是提升測(cè)試效率的有效手段,平臺(tái)可以同時(shí)提供兩種自動(dòng)化執(zhí)行方法,包括人機(jī)交互界面自動(dòng)調(diào)試和命令行的腳本化輸入方式.

        利用腳本執(zhí)行測(cè)試平臺(tái),測(cè)試結(jié)果自動(dòng)呈現(xiàn).腳本的開(kāi)發(fā)關(guān)鍵是要處理好測(cè)試平臺(tái)工作目錄配置以及腳本處理對(duì)象,即方便腳本設(shè)計(jì)又可以便利平臺(tái)重用,利用腳本將平臺(tái)工作目錄下的各個(gè)組件銜接形成一個(gè)整體進(jìn)行無(wú)縫工作.測(cè)試平臺(tái)的腳本目錄及工作流程如圖11 和圖12所示.

        圖11 測(cè)試平臺(tái)腳本目錄

        圖12 測(cè)試平臺(tái)工作流程

        同時(shí)利用Qt工具開(kāi)發(fā)出人機(jī)交互界面,用戶選擇不同接口的預(yù)設(shè)測(cè)試用例即可執(zhí)行測(cè)試,通過(guò)調(diào)用仿真工具執(zhí)行并打印測(cè)試結(jié)果,管理界面如圖13所示.

        圖13 人機(jī)交互式的管理界面

        3 測(cè)試結(jié)果分析

        利用改進(jìn)后的自動(dòng)化測(cè)試平臺(tái),對(duì)一個(gè)包含多個(gè)接口項(xiàng)目進(jìn)行測(cè)試,軟件主要實(shí)現(xiàn)功能包括接收DSP接口寫(xiě)入的數(shù)據(jù)并緩存到FIFO中,再將數(shù)據(jù)讀出通過(guò)UART接口發(fā)送出去;同時(shí)將UART接口接收到的數(shù)據(jù)緩存到另一個(gè)FIFO中,再由DSP將數(shù)據(jù)讀出.通過(guò)仿真工具Questa Sim 10.5運(yùn)行腳本文件run.fdo,仿真完畢后打印測(cè)試結(jié)果和覆蓋率信息,圖14 和圖15 是測(cè)試完成后的部分輸出結(jié)果.

        圖14 打印結(jié)果

        圖15 覆蓋率報(bào)告

        經(jīng)測(cè)試,UART接口的波特率余量約為:(39.46~38.46 kHz)/38.46 kHz=2.6%,與通常要求的20%余量相比,其UART模塊抗干擾性較差.另外此次測(cè)試還檢查出奇校驗(yàn)、偶校驗(yàn)報(bào)錯(cuò),無(wú)校驗(yàn)正確,與源代碼的無(wú)校驗(yàn)設(shè)計(jì)特性相符合,DSP讀寫(xiě)功能正常.統(tǒng)計(jì)測(cè)試過(guò)程中的消耗時(shí)間,包括腳本編輯、參數(shù)配置、接口配置、用例編譯鏈接、結(jié)果記錄、測(cè)試執(zhí)行、環(huán)境搭建等占用時(shí)間統(tǒng)計(jì),總消耗時(shí)間為13.7 h.同時(shí)將該項(xiàng)目在傳統(tǒng)測(cè)試和UVM驗(yàn)證平臺(tái)上試運(yùn)行,統(tǒng)計(jì)測(cè)試時(shí)間分別為36 h和23 h,經(jīng)對(duì)比,該平臺(tái)有效降低測(cè)試時(shí)間40%以上,測(cè)試效率得到有效提升.

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

        FPGA通用接口自動(dòng)化測(cè)試平臺(tái)主要面向FPGA軟件測(cè)試,解決FPGA軟件通用接口在測(cè)試過(guò)程中自動(dòng)化測(cè)試環(huán)境缺乏、支撐功能不足等問(wèn)題.通過(guò)利用層次化設(shè)計(jì)、通用數(shù)據(jù)庫(kù)共享、事件同步化控制、腳本執(zhí)行等技術(shù),改進(jìn)UVM驗(yàn)證架構(gòu),提高測(cè)試平臺(tái)的可重用性和自動(dòng)化水平.通用數(shù)據(jù)庫(kù)還需進(jìn)一步通過(guò)實(shí)踐檢驗(yàn),形成一種廣泛認(rèn)可方式,將更豐富的方法應(yīng)用于測(cè)試平臺(tái),提高軟件研制進(jìn)度和質(zhì)量.

        猜你喜歡
        腳本組件數(shù)據(jù)庫(kù)
        酒駕
        無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
        能源工程(2022年2期)2022-05-23 13:51:50
        安奇奇與小cool 龍(第二回)
        新型碎邊剪刀盤(pán)組件
        U盾外殼組件注塑模具設(shè)計(jì)
        數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
        快樂(lè)假期
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        久久道精品一区二区三区| 无码尹人久久相蕉无码| 99精品国产综合久久久久五月天| 亚洲产在线精品亚洲第一站一| 亚洲国产精品夜男人天堂| 亚洲日本人妻少妇中文字幕| 永久黄网站色视频免费看| 亚洲精品永久在线观看| 色二av手机版在线| 成人免费播放视频影院| 日本天堂免费观看| 国产自国产在线观看免费观看| 色噜噜狠狠色综合欧洲| 中文字幕人乱码中文字幕乱码在线 | 日本一区二区三级免费| 把女人弄爽特黄a大片| 男人边吃奶边做好爽免费视频 | 中文字幕在线乱码日本| 特黄aaaaaaaaa毛片免费视频| 亚洲精品久久无码av片软件| 狠狠色丁香婷婷久久综合2021| 在线观看免费不卡网站| 美女高潮黄又色高清视频免费| 国产精品白浆一区二小说| 人妻爽综合网| 日韩一级黄色片一区二区三区| 人人妻人人澡人人爽欧美一区九九| 熟女性饥渴一区二区三区| 日韩av免费在线不卡一区| 黄色av亚洲在线观看| 边啃奶头边躁狠狠躁| 伊人久久大香线蕉午夜av| 中日韩精品视频在线观看| 456亚洲人成在线播放网站| 亚洲av手机在线播放| 亚洲国产精品久久电影欧美| 欧美性受xxxx黑人xyx性爽| 亚洲福利av一区二区| 中文字幕亚洲精品久久| 大肉大捧一进一出好爽视频mba| 亚洲天天综合色制服丝袜在线 |