《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于SystemVerilog可重用測試平臺的實現
基于SystemVerilog可重用測試平臺的實現
2015年電子技術應用第2期
王 鵬1,劉萬和2,劉 銳2,田 毅1
1.中國民航大學 民用航空器適航審定技術與管理研究中心, 天津市民用航空器適航與維修重點實驗室,天津300300; 2.中國民航大學 安全科學與工程學院,天津300300
摘要: 對于中小型設計,傳統的驗證效率低、可重用性差,而基于方法學的高級驗證測試平臺搭建較繁瑣,驗證流程不太靈活。以ARINC429收發器IP核為驗證對象,采用SystemVerilog語言,通過層次化設計,改善工程組織架構,運用虛接口與回調等關鍵技術,實現了一種可重用測試平臺。將不同的測試案例在測試平臺上運行,結合斷言與覆蓋率驅動等驗證技術完成了對ARINC429收發器IP核的功能驗證,代碼覆蓋率和功能覆蓋率均達到100%。實踐表明,該測試平臺具有良好的可重用性、易操作性,驗證效率較高。
中圖分類號: TN402
文獻標識碼: A
文章編號: 0258-7998(2015)02-0061-04
The implementation of a reusable testbench based on SystemVerilog
Wang Peng1,Liu Wanhe2,Liu Rui2,Tian Yi1
1.Tianjin Key Laboratory for Civil Aircraft Airworthiness and Maintenance, Civil Aircraft Airworthiness Certification Technology and Management Research Center, Civil Aviation University of China, Tianjin 300300,China; 2.Safety Science and Engineering College, Civil Aviation University of China, Tianjin 300300,China
Abstract: For small and medium-sized design, the traditional verification has low efficiency and poor reusability, while the advanced methodology-based verification is a bit complicated to build testbench, and the verification flow is not very flexible. The implementation of a reusable testbench is presented in this paper. The testbench is used to verify the IP core of ARINC429 transceiver, and it is implemented by employing the SystemVerilog language, designing the hierarchical structure, improving the architecture of project, and adopting key technology such as virtual interface and callback. With the assertions and coverage-driven verification technology, the functional verification is completed by running different testcases on this testbench, both code coverage and functional coverage are 100%. The practice shows that the testbench is reusable, easy to operate, and efficient.
Key words : verification;SystemVerilog;testbench;reusable

 

0 引言

  隨著集成電路設計復雜性的增加,驗證的難度也日益加大。傳統的基于Verilog的驗證效率低、可重用性差,為此,工業界推出了具有面向對象特性、支持約束隨機與斷言等功能的標準化硬件描述與驗證語言SystemVerilog[1]。

  對SoC等大型設計的驗證多采用基于方法學的驗證進行,文獻[2]基于UVM建立測試平臺對RISC CPU進行驗證,充分體現了基于方法學的驗證對于大型設計的高效性。對中小型設計的驗證,相對于基于方法學搭建的測試平臺,基于SystemVerilog搭建的測試平臺更具靈活性、易操作性[3]。文獻[4]基于SystemVerilog開發高級驗證環境,實現了測試平臺在定向測試和隨機測試的重用,但對驗證環境的配置實現介紹較少;文獻[5]著重介紹了可重用測試平臺的層次化結構及相應的驗證組件,但缺乏對實現可重用性的關鍵技術的討論。本文以層次化思想為指導,采用SystemVerilog語言實現可重用測試平臺。

1 可重用測試平臺實現

  1.1 ARINC429收發器IP核簡介

  在現代飛機上,多采用ARINC429總線進行通信。根據ARINC429總線規范[6],設計ARINC429收發器,實現上位機與機載設備的通信,并將其IP化,便于復用。ARINC429收發器采用自頂向下的模塊化設計,設計框圖如圖1所示。

001.jpg

  ARINC429收發器的功能具體包括:(1)實現全局異步復位;(2)不同的速率模式通信;(3)異步FIFO的緩存;(4)發送器發送立即、循環數據;(5)發送器對接收的RS232數據正確處理;(6)發送器將RS232正確轉換成ARINC429數據發出;(7)接收器正確處理接收的ARINC429數據;(8)接收器將ARINC429數據轉換成RS232數據發出等。

  1.2 可重用測試平臺實現

  1.2.1 測試平臺層次化[7]

  傳統的采用Verilog實現的測試平臺,設計者難以對測試環境進行分層設計,往往將大部分測試組件放在一個大的文件中,這使得測試代碼難以維護、復用和擴展。所以ARINC429收發器IP核的測試平臺引入驗證方法學中層次化的思想,結合設計規范與驗證計劃,采用SystemVerilog語言搭建層次化測試平臺,如圖2所示。

002.jpg

  ARINC429收發器IP核測試平臺結構自底向上為信號層、命令層、功能層、場景層和測試層等5個層次。測試平臺的重用指的是驗證環境的重用,即不同的測試案例能夠重用同一驗證環境。驗證環境由包含配置器和發生器的場景層、包含記分板與檢查器的功能層以及包含驅動器、斷言和監視器的命令層組成。覆蓋率收集器通過收集統計代碼與功能點的覆蓋信息可以衡量測試在滿足驗證計劃要求方面的進展。

  測試平臺的頂層是測試層,根據驗證計劃開發不同的測試案例,通過信箱(mailbox)將信息傳遞到場景層;場景層中配置器為測試環境配置參數,通過將參數傳遞給發生器和驅動器實現環境參數的配置,發生器則根據收到的配置信息生成測試激勵;功能層包含記分板和檢查器,其中記分板主要包含參考模型,參考模型的輸入為發生器生成的激勵,輸出傳遞到檢查器,檢查器通過對比記分板與監視器的輸出信息來判斷待測設計正確與否;命令層中驅動器接收發生器生成的測試激勵與配置器的配置信息,并將激勵驅動到待測設計ARINC429收發器IP核,斷言和監視器用于監視DUT的相應輸出;最底層信號層中待測設計ARINC429收發器IP核接收驅動器驅動的測試激勵,并將輸出傳送到監視器。

  層次化是測試平臺實現可重用的基本結構,通過層次劃分,將各驗證組件按功能編成不同的類(class),便于重用、修改與擴展。

  1.2.2 工程組織架構

  本驗證工程采用層次化的組織架構,工程組織架構如圖3所示。

003.jpg

  本驗證實例中驗證工程名為“ARINC_top”,包含4個主要的一級結構,即待測設計(ARINC)、測試案例(Testcases)、測試平臺(Testbench)和待測設計的編譯庫文件(lib_files)。測試平臺(Testbench)包含測試環境(Env)與測試平臺執行腳本(scripts)2個二級結構。測試案例(Testcases)包含2個二級結構:直接測試(Direct)和隨機測試(Random),測試案例均以類的形式設計,在測試平臺的頂層。測試平臺執行腳本是以TCL語言編寫的擴展名為.do的文件,用于測試工程的文件組織與仿真進度的自動控制。

  相對于標準的層次化工程組織架構,本架構做了改進。標準的層次化工程組織架構中,頂層模塊中例化了環境類,環境類中包含了測試用例,這限制了添加和修改測試用例的靈活性,不利于測試平臺的重用。本架構將測試用例從測試平臺的結構中分離出來,用測試用例類代替驗證環境類作為頂層的對象[8]。

  這種層次化的組織架構為用戶提供了一個開發直接測試、隨機測試案例的可編程方法,有利于在整個測試平臺結構上開發測試案例,實現測試平臺最大的可重用。

  1.2.3 關鍵技術

  在采用SystemVerilog語言實現ARINC429收發器IP核的可重用驗證平臺時,使用了以下關鍵技術:

  (1)接口及虛接口

  接口(Interface)簡化了對端口信號的處理,封裝了測試平臺各組件間通信所需的信號,提高了設計可重用性。

  在本驗證實例的驅動類(Driver)中使用了虛接口,虛接口類型定義代碼如下:

  Typedef virtual if_arinc429.OUTP vif_429rx;

  Typedef virtual if_arinc429.INP vif_429tx;

  通過使用虛接口,不必對每個通道都編寫一個Driver,而只需編寫一個驅動類再將其例化多次即可,這極大地簡化了工作,提高了驗證組件的可重用性。

  (2)回調

  本測試平臺運用了回調技術[9],回調流程如圖4所示。

004.jpg

  驗證實例在Driver類中運用前回調技術[9]來為待測設計ARINC429收發器IP核注入故障(100個數據隨意丟棄1個),實現ARINC429接收錯誤的定向測試,不修改其他測試代碼,實現了測試平臺的最大可重用。

2 測試運行及結果

  2.1 測試運行

  整個設計的測試激勵主要由兩部分組成:由計算機通過串口發出的數據,以及向ARINC429 接收通道發送的數據。兩部分激勵是并行的,所以整個驗證計劃也是并行的。先進行定向測試,以保證驗證過程具有一定的可復現性;然后進行隨機測試,對待設計進行充分驗證。通過對設計需求的深入分析后,得到如圖5所示的驗證計劃。

005.jpg

  使用Mentor Graphics的QuestaSim10.0c對ARINC429收發器IP核進行仿真測試。根據驗證計劃,編寫了10個測試案例:(1)通道速率為高速的直接測試;(2)通道速率為低速的直接測試;(3)發送循環數據的直接測試;(4)發送立即數據的直接測試;(5)發送速率錯誤直接測試;(6)接收校驗位錯誤的數據直接測試;(7)接收速率錯誤的直接測試,(8)最大速率下的流量測試;(9)發送隨機測試;(10)接收隨機測試。當測試不同的測試案例時,執行相應的腳本,實現自動化測試。

  2.2 測試結果

  按照驗證計劃,先進行定向測試,在測試平臺運行了8個直接測試案例,然后進行隨機測試,在可重用測試平臺上運行了2個隨機測試案例。隨機測試中ARINC429接收隨機測試結果如圖6所示。

006.jpg

  圖6(a)為測試仿真波形圖,圖中三角形指示斷言失敗,因為這次接收隨機測試中,發生器生成了校驗位錯誤的數據,在ARINC429接收模塊中該數據字被舍棄,斷言檢查器檢測到兩路輸入數據不一致,即斷言失敗。這證明ARINC429收發器能按照設計要求舍棄錯誤數據,正確處理數據。圖6(b)為代碼覆蓋率報告,rec429模塊與afifo模塊因為完備狀態機下的default語句無法覆蓋,故代碼覆蓋率沒有達到100%,其他模塊代碼覆蓋率均達到100%,功能覆蓋率達到100%,符合測試要求。測試結果說明了在完成定向測試后,在該測試平臺上能正常運行隨機測試,完全實現了測試平臺驗證組件、驗證環境的可重用。

  為了提高驗證效率,本測試平臺還運用約束隨機自動產生測試集,采用SVA斷言實現錯誤的查找與快速定位,結合覆蓋率驅動驗證明確驗證指標。10個測試案例的測試結果說明本測試平臺完成了對ARINC429收發器IP核功能的高效驗證。

3 結束語

  本文以對ARINC429收發器IP核的驗證為例,介紹了基于SystemVerilog的可重用測試平臺實現。在簡要介紹ARINC429收發器的功能與設計之后,詳細介紹了采用 SystemVerilog 實現收發器IP核的可重用測試平臺的層次化結構、工程組織架構以及技術方法;然后在驗證計劃的指導下,在該測試平臺上運行定向測試和隨機測試共10個測試案例,代碼覆蓋率與功能覆蓋率均達到100%。結合斷言、覆蓋率驅動驗證等技術完成了對ARINC429收發器IP核高效的、有效的功能驗證。

  在實際項目應用中,本測試平臺不僅完成了對ARINC429收發器的功能驗證,在修改少許代碼后,還完成了對協議相似的ARINC629總線的驗證。實踐表明,本測試平臺具有良好的可重用性。

  參考文獻

  [1] IEEE.IEEE standard for SystemVerilog-unified hardware design, specification, and verification language-IEEE [S].IEEE,2009.

  [2] 謝崢,王騰,雍珊珊,等.一種基于UVM面向RISC CPU的

  可重用功能驗證平臺[J].北京大學學報(自然科學版),2014,50(2):221-227.

  [3] 劉芳,謝崢,連志斌,等.一種可重構的通用總線接口驗證平臺的研究及實現[J].電子器件,2011,34(3):350-354.

  [4] KEAVENEY M,MCMAHON A,O’KEEFFE N,et al.The development of advanced verification environments using System-Verilog[C].The 16th Signals and Systems Conference.ISSC 2008.Galway,Ireland,2008.

  [5] 山蕊,蔣林,李濤.基于SystemVerilog的可重用驗證平臺[J].電子技術應用,2013,39(5):128-131.

  [6] Aeronautical Radio.ARINC specification 429[S].AeronauticalRadio Inc,2012.

  [7] 王鵬,邵偉,姜承翔,等.基于ARINC629的層次化驗證平臺設計[J].計算機測量與控制,2014,22(6):1827-1829.

  [8] 鐘文楓.SystemVerilog與功能驗證[M].北京:機械工業出版社,2010.

  [9] SPEAR C,TUMBUSH G.SystemVerilog for verification(3rd ed)[M].Springer,2012.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲巨乳在线| 亚洲欧美日韩另类| 国产精品久久久久久久电影| 亚洲国产免费| 亚洲神马久久| 亚洲欧美卡通另类91av| 洋洋av久久久久久久一区| 欧美日韩视频一区二区三区| 日韩写真在线| 一区二区三区.www| 久久国产精品一区二区三区| 欧美日韩国产精品专区| 午夜在线a亚洲v天堂网2018| 快播亚洲色图| 亚洲另类在线视频| 欧美色偷偷大香| 欧美诱惑福利视频| 欧美不卡三区| 久久精品国产欧美亚洲人人爽| 国产日本欧美视频| 亚洲免费影视第一页| 亚洲免费视频在线观看| 久久精品最新地址| 亚洲剧情一区二区| 欧美视频在线不卡| 午夜日韩福利| 最新亚洲电影| 欧美一区二区三区四区在线| 亚洲激情在线| 欧美视频免费在线| 欧美专区在线观看一区| 亚洲激情偷拍| 一本大道久久a久久精二百| 国产精品视频自拍| 久久亚裔精品欧美| 日韩午夜电影在线观看| 欧美精品1区| 亚洲一区美女视频在线观看免费| 国产精品亚洲片夜色在线| 久久久久九九九九| 亚洲激情精品| 亚洲一区精品在线| 欧美激情片在线观看| 午夜精品亚洲| 国产视频一区在线观看| 欧美暴力喷水在线| 亚洲影院色无极综合| 亚洲国产美女久久久久| 国产精品成人一区二区网站软件 | 国产伦精品免费视频| 一本一道久久综合狠狠老精东影业 | 欧美一级视频| 亚洲精品影院在线观看| 国产精品色网| 欧美91视频| 午夜在线观看欧美| 亚洲国产欧美在线人成| 好看的av在线不卡观看| 欧美日韩另类字幕中文| 久久综合福利| 性欧美video另类hd性玩具| 亚洲精品久久久久久久久| 亚洲欧美国产一区二区三区| 在线观看视频亚洲| 国产精品久久久久77777| 久久青草福利网站| 亚洲男女自偷自拍| 亚洲最新视频在线| 亚洲国产成人av| 亚洲欧美综合一区| 一区二区欧美亚洲| 亚洲精品国产视频| 久久精品一区二区三区不卡| 99精品国产热久久91蜜凸| 久久国产成人| 亚洲在线中文字幕| 日韩午夜av| 亚洲韩国青草视频| 伊人男人综合视频网| 国产欧美视频一区二区三区| 欧美承认网站| 久久综合色婷婷| 久久国产视频网站| 欧美一级在线视频| 亚洲一二三区在线| 一区二区欧美日韩视频| 亚洲激情中文1区| 国产一区二区三区在线播放免费观看| 国产精品视频免费在线观看| 国产精品二区三区四区| 欧美日韩精品伦理作品在线免费观看 | 国产精品一页| 国产精品看片你懂得| 国产精品a久久久久久| 欧美日韩精品一区视频| 欧美精品三级日韩久久| 欧美精品久久一区| 欧美精品一区在线播放| 久久午夜国产精品| 老巨人导航500精品| 老司机免费视频一区二区三区 | 免费日韩一区二区| 男女精品视频| 免费精品视频| 免费久久99精品国产自在现线| 久久这里有精品视频| 久久美女性网| 久久综合综合久久综合| 蜜臀99久久精品久久久久久软件| 老司机精品福利视频| 黄色成人av| 欧美激情视频一区二区三区在线播放 | 亚洲欧美日韩区| 午夜精品福利一区二区蜜股av| 一区二区欧美视频| 亚洲欧美国产精品专区久久| 午夜视频在线观看一区二区三区| 欧美一区成人| 亚洲经典在线看| 一本高清dvd不卡在线观看| 亚洲精品欧美精品| 正在播放日韩| 欧美一区二区日韩| 久久久噜噜噜久久久| 麻豆精品一区二区综合av| 欧美久久久久久| 国产精品xvideos88| 国产精品揄拍一区二区| 激情六月婷婷综合| 亚洲日本免费| 亚洲午夜精品一区二区三区他趣| 羞羞色国产精品| 亚洲日本欧美日韩高观看| 一区二区电影免费观看| 午夜视频一区在线观看| 久久久久久久999| 欧美国产亚洲精品久久久8v| 国产精品久久久久久久浪潮网站| 国产婷婷精品| 亚洲国产一成人久久精品| 国产精品99久久99久久久二8| 亚洲尤物在线| 最新亚洲激情| 99精品视频免费观看视频| 一区二区动漫| 久久久五月婷婷| 欧美日韩精品国产| 国产一区二区高清不卡| 亚洲激情校园春色| 亚洲欧美视频在线观看视频| 亚洲国产影院| 亚洲欧美国产制服动漫| 欧美不卡一区| 国产精品日韩精品欧美在线| 亚洲电影免费观看高清完整版在线| 一本色道久久综合亚洲精品按摩| 久久国产一区二区三区| 亚洲一级黄色片| 久久综合亚州| 国产欧美精品国产国产专区| 亚洲国产专区校园欧美| 午夜精品免费视频| 亚洲精品久久嫩草网站秘色 | 国产精品女主播在线观看| 在线成人激情视频| 亚洲淫性视频| 99re6这里只有精品| 久久全国免费视频| 男女av一区三区二区色多| 国产精品综合av一区二区国产馆| 亚洲欧洲午夜| 亚洲高清视频在线| 亚洲高清视频一区二区| 欧美在线免费播放| 国产精品嫩草影院一区二区| 99re成人精品视频| 一本色道久久综合亚洲精品不卡| 欧美精品亚洲二区| 亚洲欧洲精品一区| 亚洲靠逼com| 欧美精品首页| 亚洲精品一区中文| 艳妇臀荡乳欲伦亚洲一区| 欧美精品一区在线观看| 亚洲精品四区| 在线视频亚洲一区| 欧美日韩一区二区欧美激情 | 欧美日韩一区二区三区免费看| 亚洲精品欧美一区二区三区| 亚洲美女精品久久| 欧美激情视频给我| 亚洲精品三级| 在线亚洲成人| 国产精品豆花视频| 亚洲午夜伦理| 欧美中文字幕视频| 国产综合色产| 亚洲欧洲精品一区二区三区波多野1战4| 免费国产自线拍一欧美视频| 亚洲精品国产品国语在线app|