《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于System Verilog的可重用驗證平臺
基于System Verilog的可重用驗證平臺
來源:電子技術應用2013年第5期
山 蕊1, 蔣 林2, 李 濤1
1. 西安郵電大學 電子工程學院, 陜西 西安 710061; 2. 西安郵電大學 研究生學院, 陜西 西安 710061
摘要: 采用System Verilog語言設計了一種具有層次化結構的可重用驗證平臺,該平臺能夠產生各種隨機、定向、錯誤測試向量,并提供功能覆蓋率計算。將驗證平臺在Synopsys公司的VCS仿真工具上運行,并應用到包交換芯片的仿真驗證中。仿真結果顯示,新設計的驗證平臺能通過修改隨機信號約束條件和產生隨機信號的權重值,使芯片的功能覆蓋率達到100%。
中圖分類號: TN492
文獻標識碼: A
文章編號: 0258-7998(2013)05-0128-04
The design and implementation of a reusable verification platform based on System Verilog
Shan Rui1, Jiang Lin2, Li Tao1
1. School of Electronic Engineering, Xi′an University of Posts and Telecommunications, Xi′an 710061, China; 2. School of Graduate, Xi′an University of Posts and Telecommunications, Xi′an 710061, China
Abstract: Design a reusable verification platform with a hierarchical structure employing system verilog language. This verification platform can generate targeted, random, and error test vectors. The platform also facilitates the computing of functional coverage. Running this platform on VCS tools of Synopsys Corporation, meanwhile using it to simulate packet switch chip. The result shows that the functional coverage of chip can achieve 100% through revising restraint condition of random signal and weight value using to generate random signal.
Key words : System Verilog; verification; hierarchical platform; reusability

    隨著集成電路制造工藝技術水平不斷進步,芯片設計規模越來越大,驗證所花費的時間占據了整個產品設計周期的70%,而且隨著設計復雜度的提高呈指數性增加[1]。芯片一次流片的成功率從很大程度上取決于功能驗證是否充分[2]。因此,驗證已經成為制約芯片開發的瓶頸問題。

    傳統的驗證平臺主要依賴驗證人員觀察波形的方法進行驗證,驗證效率低,不能滿足當今驗證規模的需求。VMM驗證方法學[3]的出現極大程度上提高了驗證的效率,進而出現了一批借鑒VMM驗證方法學的驗證平臺[4-7],如參考文獻[4]所設計的驗證平臺就采用了VMM驗證技術。但是其設計的驗證平臺只產生了隨機激勵,驗證時僅使用隨機激勵很難測試到電路的邊界情況,而且驗證過程收斂性差。
    為了快速定位設計中的問題及邊界情況,同時提高驗證效率,本文擬采用System Verilog語言,根據VMM驗證方法學中的分層設計思想,搭建一個可重用的驗證平臺,以求同時提供定向測試、受約束的隨機測試和錯誤激勵測試。
1 平臺框架
    驗證平臺可分為4層,即測試層、建立層、事務層和物理層,如圖1所示。

    (1)物理層:包括被測設計模塊(DUT)集合和電路模型。
    電路模型用來與被測代碼進行比較,以實現自檢驗的驗證。采用Verilog語言或者System Verilog語言模擬與設計代碼等價的功能。
    (2)事務層:包括激勵產生器、監視器、和覆蓋率統計器等。
    激勵產生器的主要功能是驅動DUT和電路模型的接口信號。本平臺的激勵產生器能夠產生定向測試向量、錯誤測試向量和受約束的隨機向量。
    監視器的主要功能是監視DUT和電路模型輸出的信號,并對兩者進行比較。當DUT的輸出信號和電路模型的輸出信號不一致時,仿真可能被強迫結束,同時打印出當時出錯的時間和出錯的信號名稱及內容。
    覆蓋率統計器的主要功能是根據激勵產生器產生的測試向量、DUT輸出信號以及覆蓋點的要求統計出電路功能的覆蓋概率。覆蓋點是一種有效的驗證機制[8],它的編寫根據具體的測試對象而定,可以對單個信號進行功能覆蓋率統計,也可以統計多個信號的交叉覆蓋率。
    以上介紹了事務的類型,根據不同的測試需求可以創建各種平臺所需的事務,如隨機事務、各種回調函數事務等。
    (3)建立層:包括驗證框架的建立和電路初始配置。
    驗證框架建立的主要功能是利用事務層的各種事務構建出整個平臺的框架。包括平臺環境的配置及參數的設定;激勵產生器和監視器的句柄定義和對象聲明;與覆蓋率相關的回調函數類的句柄定義和對象聲明;激勵產生器和監視器與回調函數的通信建立。本平臺還研發了面向通信交換設備的配置軟件和專用的圖形界面。
    (4)測試層:包括配置文件和測試用例。
    在平臺搭建好之后,測試層的主要功能是提供定向測試的測試實例和與DUT相關的一些配置信息。例如對高性能路由器轉發單元進行驗證時,需要通過微機接口對轉發單元進行配置,不同的配置參數DUT將會提供不同的功能。本文設計開發了面向定向測試的數據塊/包的軟件輔助工具。測試人員可以使用輔助工具來產生所需要的數據。
2 通信交換設備驗證平臺
2.1 交換功能介紹

    本文假定所測試的交換設備具有N個輸入/輸出端口,這里N通常是2的整數次冪,考慮到內部復用,這N個端口可以映射到k組總線,每m=N/k個端口分時復用一組總線,k<N,而且通常也是一個2的整數次冪。交換設備可以接受數據塊(如ATM cell)或者數據包(如IP packet),根據數據包的類型、包長、優先級、源端口、目的端口以及其他參數和等信息,通過相應的流量控機制決定數據包或數據塊是否被轉發傳送。交換設備還要負責轉發存儲管理,將信息數據存入到基于輸出端口的緩存隊列中等待調度;同時,在隊列不空的情況下,根據網絡中鏈路的忙/閑狀態,通過一定的調度算法,采用分時復用的方法,依次從不同的輸出端口調度出一個數據包發送到網絡中。
2.2 驗證平臺
    驗證平臺需要按照數據包/塊格式的要求提供各種不同類型、包長、優先級、源端口和目的端口,以及包含其他參數和配置的網絡數據包,同時能夠根據各個端口輸出的數據包個數計算出該端口的速率,以此來產生鏈路的忙/閑狀態,模擬配置規定的速率和其他要求。
    根據層次化結構,并結合交換設備的功能,對驗證平臺進行了詳細的設計。
    (1)物理層:DUT采用Verilog語言編寫,電路模型采用System Verilog編寫,編寫過程不是設計的重點,所以這里不再進行敘述。
    (2)事務層:根據功能描述可知,如果要從端口處進行驗證,本驗證平臺需要N個激勵產生器,用于產生來自N個輸入端口的數據包/塊,還需要N個監視器來觀察N個輸出端口的數據包/塊。如果要從總線處進行驗證,則需要k個激勵產生器和k個監視器用于監視來自電路模型和DUT的k組總線上的輸出數據。這里,每個激勵產生器需要模仿m=N/k個端口及其速率,每個監視器需要記錄m個端口的輸出。同時還需要一個覆蓋率統計器用于統計激勵產生器產生的所有情況下的數據包。
    ①激勵產生器:將激勵產生器定義為一個類,該類的屬性包含了虛接口的定義、待發送包的隊列定義、激勵發生器編號和回調函數隊列定義等,此外還包含了運行方法、定向測試、隨機測試、端口速率配置方法、定向包入隊方法、定向包驅動方法、隨機包產生方法、隨機包入隊方法、隨即包驅動方法和丟棄概率計算方法等。
    其中定向測試的測試流程如圖2所示。

    首先調用端口速率配置方法對所有N個端口的速率進行配置,然后調用定向包/塊入隊方法,根據測試層的測試實例進行定向包/塊的入隊操作。按照發送時序要求將定向包依次驅動到DUT的輸入端口上,直到發送完所有的定向包,并觸發隨機包產生事件,然后宣告定向測試結束。測試中在包與包或者塊與塊之間引入了受約束的隨機時延。隨機時延的范圍采用輔助工具進行配置。在測試層不僅能使用隨機數據,還能使用隨機時延,從而最大限度地驗證被測電路的功能和時延正確性,保證了被測模塊的魯棒性。
     隨機測試流程如圖3所示。首先為每個端口或者總線設置一個數據結構和包/塊的隊列。產生的數據包/塊先被送入相應的隊列。然后為每個輸入端口的隊列預存入一個數據包,等待隨機事件被觸發。當隨機事件被觸發后,程序分為兩個分支:分支一用于產生隨機數據包并進行入隊操作;分支二用于調用回調函數,產生錯誤指示信號,根據錯誤指示信號丟棄該包、或者發送錯誤的數據信息、又或者正常發送該包。當發送完一個數據包后再次調用回調函數進行覆蓋率的統計;最后判斷是否結束隨機測試,如果結束,則退出測試。否則重復上述操作。分支一和分支二之間通過事件進行同步通信。

    ②監視器:監視器的類結構與激勵產生器相近,其中包含了屬性(虛接口的定義、監視器編號、回調函數隊列等)和方法(數據結果比較、端口速率計算)。數據結果比較方法將DUT和行為模型的有效輸出數據信號進行比較,如果輸出結果不一致,則可能停止仿真,并打印出當前仿真的時間和錯誤數據信息;如果輸出結果一致,則調用回調函數進行覆蓋率的統計。端口速率計算方法的主要功能是統計每個端口輸出的數據包,根據數據包個數產生相應的鏈路空/閑指示信號。
    ③覆蓋率統計器:覆蓋率統計器的類結構與激勵產生器的類有所不同,其結構由屬性、方法和覆蓋組構成。屬性主要是為進行覆蓋率統計而定義的一些中間變量;方法為進行覆蓋率統計準備數據,這些數據涉及到相應的覆蓋點,并調用采樣函數,進行覆蓋率統計操作;覆蓋組由多個覆蓋點組成,首先定義多個獨立的覆蓋點。然后根據具體的情況將這些獨立的覆蓋點進行交叉覆蓋率計算定義,如cross packet_type、packet_dport等。
    (3)建立層:建立層定義為一個類,該類由屬性和方法構成。屬性包含了m個激勵產生器和m個監視器的句柄定義、m組總線的虛接口定義、覆蓋率類的句柄聲明等。其方法包含了建造方法、DUT配置方法和運行方法。其中建造方法用于對m個激勵產生器和m個監視器進行對象聲明,同時將回調函數壓入激勵產生器和監視器的回調函數隊列中。DUT配置方法的主要功能是按照微機接口時序利用測試層提供的配置文件,對電路進行初始配置。運行方法主要的功能是啟動m個激勵產生器和m個監視器的線程,這里采用fork join_none語句實現。
   (4)測試層:按照數據包的格式要求編寫定向測試向量文件,同時提供電路的各種配置參數文件。
   最終搭建好的驗證平臺如圖4所示。

3 驗證結果和分析
 本文的驗證平臺搭建在Sysnopsys公司的VCS仿真平臺上,使用了DVE環境。運行結果如圖5所示。可以看出本平臺能夠按照DUT輸入數據信號的要求產生正確的輸入信號,并能夠按照一定的概率產生錯誤的數據。同時,當DUT和電路模型輸出的數據不一致時,驗證平臺能夠強行停止仿真過程,并打印錯誤信息。該錯誤信息包括了錯誤信號及錯誤信號產生的時刻等,這些信息能夠幫助設計人員快速地定位錯誤,從而提高驗證效率。

 

 

    最后在覆蓋率結果的引導下,通過增加覆蓋點以及修改隨機信號約束條件和產生隨機信號的權重值,最終功能覆蓋率能夠達到100%。
    采用System Verilog語言,借鑒VMM層次化的驗證技術,設計了一個可重用的驗證平臺。與其他的驗證平臺相比,該可重用驗證平臺能夠提供多種形式的激勵,包括定向測試激勵、受約束的隨機測試以及錯誤激勵;采用了一套十分有效的算法來產生激勵并真實地模仿配置好的端口設施;能產生隨機數據和受約束的隨機時延,模仿真實的環境,對被測模型進行完備的驗證。
   同時采用了自動對比結果技術。構建不同設計對象的驗證平臺時,在不修改本驗證平臺框架的情況下,僅需修改功能覆蓋率類中的覆蓋點和激勵產生器中的一些方法,新的驗證平臺即可搭建而成。與采用純手工編寫測試向量的驗證技術相比較,本文設計的驗證平臺極大地提高了驗證效率,縮短了設計周期。
參考文獻
[1] 閆沫,張媛.基于System Verilog語言的設計驗證技術[J].現代電子技術,2008,31(6):8-11.
[2] 馬寧,李玲,田澤,等. ARINC659總線協議芯片的仿真驗證[J].計算機技與發展,2010,20(1):205-208.
[3] 張春,麥宋平,趙益新. System Verilog驗證[M].北京:科學出版社,2009.
[4] 劉兆勇, 王進祥, 李清波. 基于VMM的外部存儲器接口驗證[J].微處理機, 2009(4):1-4.
[5] 段乘超,徐金甫. 基于VMM構件可重用驗證平臺[J]. 現代電子技術,2011,34(8):127-129.
[6] 林健,楊志家.利用VMM建立基于事務的層次化驗證平臺[J].微計算機信息,2010,26(4-2):97-98.
[7] 段青亞,黃士坦,靳榮利,等. SoC自動化驗證方法的研究與實現[J].吉林大學學報:信息科學版, 2010,28(3):231-237.
[8] KEAVENEY M, MCMAHON A, O&rsquo;KEEFFE N, et. al. The development of advanced verification environments using system verilog[C]. The 16th Irish System and Signals Conference. ISSC2008, Galway, Ireland,2008.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
免费久久久一本精品久久区| 国产精品毛片a∨一区二区三区| 亚洲手机视频| 亚洲久久在线| 亚洲精品视频中文字幕| 亚洲激情在线播放| 亚洲欧洲精品一区| 亚洲精品久久久久久一区二区| 亚洲国产欧美另类丝袜| 亚洲第一视频| 亚洲国产精品t66y| 91久久久在线| 日韩香蕉视频| 一区二区欧美在线| 一本一本久久| 亚洲一区二区三区高清 | 欧美性猛交xxxx乱大交蜜桃| 欧美视频福利| 国产精品一级在线| 国产婷婷97碰碰久久人人蜜臀| 国产日产欧美精品| 精品电影在线观看| 最近中文字幕日韩精品| 亚洲免费成人av电影| 一区二区三区免费观看| 亚洲欧美成人| 亚洲丰满少妇videoshd| 最新国产乱人伦偷精品免费网站 | 亚洲国产精品女人久久久| 最近看过的日韩成人| 亚洲毛片在线看| 亚洲无玛一区| 欧美一区二区三区四区在线| 久久福利精品| 老色鬼精品视频在线观看播放| 欧美a级在线| 欧美日韩国产二区| 国产精品欧美日韩一区二区| 国产一区视频在线看| 亚洲二区在线观看| 在线亚洲一区观看| 欧美一级免费视频| 亚洲日本在线视频观看| 亚洲小视频在线| 久久精品一区二区三区不卡| 欧美成人精品一区二区| 欧美日一区二区在线观看| 国产欧美日韩综合精品二区| 在线成人激情黄色| 99国产欧美久久久精品| 西西裸体人体做爰大胆久久久| 91久久亚洲| 亚洲欧美一区二区视频| 老司机凹凸av亚洲导航| 欧美日韩一区二区三区视频| 国产亚洲成人一区| 亚洲欧洲在线一区| 亚洲欧美成人一区二区三区| 亚洲欧洲一二三| 亚洲欧美中文字幕| 暖暖成人免费视频| 国产精品亚洲аv天堂网| 一区免费在线| 亚洲自拍三区| 日韩午夜激情电影| 欧美一区二区视频网站| 欧美精品精品一区| 国产揄拍国内精品对白| 亚洲免费高清| 久久精品欧美日韩精品| 亚洲一级片在线观看| 蜜桃av噜噜一区| 国产美女诱惑一区二区| 亚洲精品一区二区三区婷婷月| 欧美亚洲视频| 亚洲影音一区| 欧美大胆成人| 韩国成人福利片在线播放| 亚洲午夜av| 99国产精品| 老司机一区二区三区| 国产欧美日韩一区| a91a精品视频在线观看| 亚洲国产一区在线观看| 欧美一区二区三区四区夜夜大片| 欧美日韩蜜桃| 亚洲高清视频一区| 欧美在线观看视频在线| 午夜国产欧美理论在线播放| 欧美日韩国产在线一区| 在线欧美福利| 欧美中在线观看| 欧美制服丝袜| 国产精品日韩欧美一区二区三区| 亚洲肉体裸体xxxx137| 亚洲国产精品一区| 久久精品国产久精国产思思| 国产精品久久看| 一区二区不卡在线视频 午夜欧美不卡在 | 午夜精品久久久久| 欧美日韩国产不卡在线看| 亚洲成人在线网站| 亚洲成人在线免费| 国产精品网站在线观看| 99在线精品视频在线观看| 亚洲精品国产精品国产自| 久热国产精品视频| 国内一区二区在线视频观看| 亚洲综合首页| 午夜伦理片一区| 国产精品成人久久久久| 一本久久综合亚洲鲁鲁| 中日韩午夜理伦电影免费| 欧美日韩不卡合集视频| 亚洲三级国产| 在线一区日本视频| 欧美亚一区二区| 亚洲视频免费| 午夜国产精品影院在线观看 | 欧美一区二区免费| 国产精品任我爽爆在线播放| 中文日韩在线| 亚洲欧美一区二区精品久久久 | 国产精品人人做人人爽| 亚洲永久免费观看| 午夜欧美精品| 国产欧美日韩高清| 欧美在线视频导航| 久久亚洲风情| 亚洲国产专区校园欧美| 99精品欧美一区二区三区综合在线 | 欧美二区在线看| 亚洲国产免费看| 99精品国产福利在线观看免费| 欧美久色视频| aa亚洲婷婷| 性一交一乱一区二区洋洋av| 国产日本欧美一区二区三区在线| 亚洲欧美国产不卡| 久久精品国产99国产精品| 黄网动漫久久久| 日韩一级免费| 欧美香蕉大胸在线视频观看| 亚洲一区三区视频在线观看| 欧美一区二区三区免费大片| 国产乱人伦精品一区二区 | 欧美性猛交视频| 亚洲欧美日韩电影| 久久影院午夜片一区| 亚洲国产成人av好男人在线观看| 日韩一区二区免费看| 欧美日韩国产色视频| 亚洲一区二区视频| 久久嫩草精品久久久久| 亚洲国内自拍| 亚洲一区二区日本| 国产亚洲成av人片在线观看桃 | 在线日韩精品视频| 中国成人黄色视屏| 国产欧美精品xxxx另类| 亚洲国产一区二区三区青草影视| 欧美精品在线观看91| 亚洲一区免费| 久热精品视频在线观看一区| 亚洲六月丁香色婷婷综合久久| 午夜精品久久久久影视 | 久久女同精品一区二区| 亚洲精品裸体| 欧美一区二区三区四区在线观看| 伊人春色精品| 亚洲一区二区三区在线| 国产一区二区三区在线免费观看 | 久久激情五月丁香伊人| 亚洲国产成人av在线| 亚洲欧美一区二区原创| 精品动漫一区| 亚洲女同同性videoxma| 好吊妞这里只有精品| 一区二区高清视频在线观看| 国产视频在线观看一区二区| 日韩视频在线观看免费| 国产精品一区2区| 亚洲欧洲一区二区三区在线观看| 欧美天天在线| 亚洲黄色三级| 国产精品美女xx| 亚洲精选一区| 国产视频观看一区| 一本色道婷婷久久欧美| 国内久久精品视频| 中文日韩电影网站| 亚洲丰满少妇videoshd| 欧美一区二区在线观看| 亚洲九九精品| 可以看av的网站久久看| 亚洲视频一二| 欧美日韩国产三区| 亚洲欧洲一区| 国产性做久久久久久| 亚洲一区在线看|