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

基于UVM的FPGA通用接口測試平臺設計

2019-10-18 07:52:50黃坤超李晨陽
測試技術學報 2019年5期
關鍵詞:數據庫設計

王 濤,黃坤超,李晨陽

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

0 引 言

隨著FPGA在航空、航天、通信、識別等領域的廣泛使用,以及業內對FPGA驗證質量要求的不斷提高,傳統的仿真驗證已難以滿足日益增長的驗證需求,驗證技術也由傳統仿真驗證逐漸轉移到新一代的驗證方法學中.

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

面對多接口的復雜設計環境,為滿足多重驗證環境需要,利用通用UVM驗證平臺架構進行重新優化設計,建立一種基于UVM的高層次化測試平臺,提出層次化設計、通用數據庫共享、事件同步化控制、自動化執行等技術,建立一套新的重用機制,使得重用性即能在相似接口內重用,又可以在多種不同接口的復雜環境中重用,提升測試的可重用性.實驗結果表明改進后的平臺可使測試時間縮短40%以上,并滿足多種接口測試需要.

1 FPGA通用接口自動化測試平臺

1.1 通用接口分析

目前FPGA設計較多的是采用DSP+FPGA設計構架,對歷屆測試項目統計FPGA對外接口主要包括UART,SPI和DSP等.一般情況下UART,SPI和DSP接口設計是通過總線架構形式配合使用,如圖1所示.

圖1 FPGA通用接口關系

根據UART,SPI和DSP 3種接口支持的不同類型協議,通過思維導圖分解接口需求,主要包含DSP的只讀、只寫、可讀可寫測試,UART和SPI的收發功能一致性測試、緩沖測試、幀格式測試,校驗位測試、幀長測試、毛刺測試、波特率測試等,可通過配置寄存器組合出不同的實現模式.

1.2 通用接口自動化測試平臺

基于UVM測試平臺,改進后的FPGA通用接口自動化測試平臺如圖2所示.

圖2 通用接口自動化測試平臺

FPGA軟件通用接口自動化測試平臺分為測試平臺和管理平臺兩部分.管理平臺為自動化測試平臺的實施提供所對應的可視化操作窗口,提供接口參數配置和結果輸出界面,通過腳本方式完成管理平臺與測試平臺之間的數據交互.

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

2 關鍵性技術實現

2.1 層次化設計

對于任何一種新型的驗證方法學來說,分層的測試平臺是一個關鍵概念,分層有助于驗證平臺的可移植性和可維護性[5].研究表明,越是高層次化的驗證則驗證效率越高[6].傳統的仿真采用平面式的驗證環境,層次化程度很低,不利于重用,難以處理各種情境下的驗證問題.

現有的UVM驗證平臺在TLM級組件之間的通信通過專門PORT端口傳遞消息[7],在TEST頂層直接實現和控制測試序列產生,同時還要考慮多序列之間的同步問題,抽象層次級別低,同時驗證組件之間呈現緊耦合關系,導致其可重用性較差.當多重環境存在時,驗證的復雜度和出錯概率都急劇增加[8,9].因此,為提高代碼的可重用性,需要在一個UVM驗證平臺下,即要保留TLM級處理能力,又要同時滿足多重環境需要.為此,在UVM基礎上設計出一種新的高層次化結構,如圖3所示.

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

2.2 通用數據庫共享

通用數據庫是在建立測試用例過程中引入的一種專家知識庫概念[10],是一個中央存儲數據庫,由一組產生各種激勵序列的sequence類組成,可以與UVM驗證環境中的任何組件進行信息交互,整合了仿真所需要的多個獨立的數據庫,數據庫的創建從需求中提取高價值的信息,結合隨機約束特性,進行高效利用.高層次序列、底層次序列庫、數據收集庫、系統配置4個部分與組件之間的共享方式如圖4所示.

圖4 數據庫與組件之間的共享方式

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

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

圖5 高層次序列設計

圖8 數據收集設計

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

圖9 數據庫在不同組件之間的映射

利用數據庫充分挖掘UVM驗證環境中數據的有用信息,提高數據分析的有效性,支撐決策制定,聯合不同的DSP,UART,SPI等接口最優數據格式需求,構建一種可共享和跨項目的通用數據庫,有效提高跨組件的通信和互操作能力,實現資源合理配置,滿足多個平臺重用.

2.3 事件同步化控制設計

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

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

2.4 自動化執行

測試平臺的自動化執行,是提升測試效率的有效手段,平臺可以同時提供兩種自動化執行方法,包括人機交互界面自動調試和命令行的腳本化輸入方式.

利用腳本執行測試平臺,測試結果自動呈現.腳本的開發關鍵是要處理好測試平臺工作目錄配置以及腳本處理對象,即方便腳本設計又可以便利平臺重用,利用腳本將平臺工作目錄下的各個組件銜接形成一個整體進行無縫工作.測試平臺的腳本目錄及工作流程如圖11 和圖12所示.

圖11 測試平臺腳本目錄

圖12 測試平臺工作流程

同時利用Qt工具開發出人機交互界面,用戶選擇不同接口的預設測試用例即可執行測試,通過調用仿真工具執行并打印測試結果,管理界面如圖13所示.

圖13 人機交互式的管理界面

3 測試結果分析

利用改進后的自動化測試平臺,對一個包含多個接口項目進行測試,軟件主要實現功能包括接收DSP接口寫入的數據并緩存到FIFO中,再將數據讀出通過UART接口發送出去;同時將UART接口接收到的數據緩存到另一個FIFO中,再由DSP將數據讀出.通過仿真工具Questa Sim 10.5運行腳本文件run.fdo,仿真完畢后打印測試結果和覆蓋率信息,圖14 和圖15 是測試完成后的部分輸出結果.

圖14 打印結果

圖15 覆蓋率報告

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

4 結束語

FPGA通用接口自動化測試平臺主要面向FPGA軟件測試,解決FPGA軟件通用接口在測試過程中自動化測試環境缺乏、支撐功能不足等問題.通過利用層次化設計、通用數據庫共享、事件同步化控制、腳本執行等技術,改進UVM驗證架構,提高測試平臺的可重用性和自動化水平.通用數據庫還需進一步通過實踐檢驗,形成一種廣泛認可方式,將更豐富的方法應用于測試平臺,提高軟件研制進度和質量.

猜你喜歡
數據庫設計
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
數據庫
財經(2017年15期)2017-07-03 22:40:49
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 午夜国产不卡在线观看视频| 国产成人亚洲无吗淙合青草| 99re在线视频观看| 国产一区二区精品福利| 国产精品一区二区久久精品无码| 日韩欧美中文在线| 欧美国产在线精品17p| 国产欧美日韩在线在线不卡视频| 精品免费在线视频| 九色视频线上播放| 午夜国产精品视频| 国产精品福利导航| 国产精品女同一区三区五区| 国产在线精品人成导航| 亚洲精品国产日韩无码AV永久免费网 | 一本色道久久88| 国产精品久久久久久久伊一| 久久综合国产乱子免费| 国产精品黄色片| 色婷婷国产精品视频| 999国产精品永久免费视频精品久久| 久久人妻xunleige无码| 国产精品任我爽爆在线播放6080| V一区无码内射国产| 国产麻豆va精品视频| 国产成人精品18| 亚洲手机在线| 亚洲精品成人片在线观看| 欧美日本在线一区二区三区| 欧美人与性动交a欧美精品| 亚洲男人的天堂在线观看| 婷婷综合在线观看丁香| 亚洲啪啪网| www.亚洲一区| 99这里只有精品在线| 欧美成人看片一区二区三区 | 亚洲日韩精品欧美中文字幕| 精品伊人久久久香线蕉 | 国产精品hd在线播放| 国产欧美日韩视频怡春院| 国产女同自拍视频| 亚洲区视频在线观看| 99久久精品久久久久久婷婷| 亚洲一区二区约美女探花| 在线观看国产精美视频| 国产视频大全| 久久九九热视频| 日韩一区精品视频一区二区| 免费国产无遮挡又黄又爽| 香蕉综合在线视频91| 国产白浆视频| 日本久久免费| 日本一区二区三区精品视频| 国产91小视频在线观看| a毛片免费在线观看| 老熟妇喷水一区二区三区| 久久青草热| 伊人久久影视| 九九视频免费在线观看| 亚洲精品无码抽插日韩| 欧美一区二区啪啪| 久久国产精品影院| 久久亚洲综合伊人| 欧美不卡视频一区发布| 亚洲人免费视频| 亚洲日韩精品伊甸| 91久久国产综合精品| 国产无套粉嫩白浆| 国产丝袜无码精品| 欧洲熟妇精品视频| 亚洲精选高清无码| 欧美日韩久久综合| 91年精品国产福利线观看久久| 偷拍久久网| 亚洲欧美综合另类图片小说区| 免费jjzz在在线播放国产| 精品无码一区二区在线观看| 亚洲精品在线91| 色网站在线视频| 亚洲国产精品VA在线看黑人| 国产精品嫩草影院视频| 无码免费的亚洲视频|