UVM驗證平臺自動生成及代碼復用技術研究
發(fā)布時間:2020-03-23 23:23
【摘要】:專用集成電路(ASIC)和片上系統(tǒng)(SoC)的復雜度和設計規(guī)模隨著IC工藝的快速發(fā)展而日益增加。同時,復雜度和設計規(guī)模的增加勢必會造成驗證工作也變得日趨繁雜,驗證的難度越來越大。數據顯示,在IC研制的整個過程中,驗證所花費的時間約占整個研制周期的60%至80%。所以,在芯片驗證上所消耗的時間很大程度影響著SoC芯片上市的時間。可見,提高驗證效率顯得尤為重要。提高驗證效率的途徑較多,如使用先進的EDA工具或新的驗證方法學。而作為最近被廣泛推崇的新一代通用驗證方法學,UVM(Universal Verification Methodology)驗證方法學在大規(guī)模IC設計和FPGA測試中被越來越廣泛地使用。然而,隨著設計規(guī)模的不斷增大,基于UVM的驗證平臺搭建代碼工作量成倍增大,代碼調試變得困難,驗證平臺的代碼管理也越來越重要和復雜。本文從縮短驗證平臺搭建的時間和提高代碼后期的復用性這兩個角度出發(fā),以市場占有率更高的AMBA構架SoC做為研究對象,提出一種為AMBA接口協(xié)議的IP核自動生成UVM驗證平臺或驗證組件的代碼產生器,且保證所生成的驗證組件能夠被縱向復用到后期的更高層次的驗證工作中,以提高驗證效率。Doulos公司的easier_uvm_code_generator代碼生成器提供了一種基于Perl的UVM驗證平臺自動生成的解決方法。該代碼生成器能較快速高效搭建UVM驗證平臺,在大幅提高驗證工作效率的同時保證了UVM代碼設計的一致性。但是,在使用該代碼生成器前,需要大量的配置工作,還需要用戶自己提供一些和協(xié)議相關的底層驅動代碼。考慮到AMBA接口的IP在SoC系統(tǒng)中使用較多,同時為保證新開發(fā)的代碼生成器的成熟性,本文在Doulos公司的easier_uvm_code_generator的基礎上,設計了大量的適用于AMBA接口IP的底層UVM組件模板,在設計模板時,全方面多方位地融入了可復用的技巧和編碼方式,使得組件具有較高的復用性。隨后,將其融入代碼生成器中,并對easier_uvm_code_generator的用戶接口進行重新設計,使得新的代碼生成器在生成AMBA接口IP的驗證環(huán)境時,簡單易用。實驗結果表明,本文所設計的代碼生成器能夠極大的縮短搭建驗證平臺的時間,比如,以一個AHB接口從設備DUT為對象,自動生成驗證平臺只需要1秒鐘,但是手動編寫驗證平臺,最少需要3900秒。不僅如此,代碼生成器生成的代碼還能夠很好的被復用。說明該代碼生成器能夠縮短驗證周期,提高驗證效率。
【圖文】:
第二章 理論基礎(4)UVM testbench 的構架由于類對象在創(chuàng)建之后,才會存在于內存當中,而靜態(tài)的 module 是功能仿真的開始,所以在一個 SystemVerilog 的 testbench 中,類的層次的創(chuàng)建必須從 module 開始[14],這個 module 就是頂層的 TB 文件。由于 UVM 特有的樹形結構,只需要在靜態(tài)的 module 里面創(chuàng)建 UVM 的“樹根”①,隨后這個樹根就會按照用戶設計來生成具體的樹形結構。此時整個 UVM testbench 就被動態(tài)的創(chuàng)建了。下圖 2.2 顯示了整個過程[14]。
西安電子科技大學碩士學位論文input delay 和 output delay),這樣在后期進行后仿真時,變ng block 有助于驗證平臺的功能正確性,本文將充分考于設計的模板文件中。證APB的DUT可能是APB主設備(此時,唯一的一種情況是掛載在 AHB2APB 橋上的從設備。為此,,需要在 interfack,一個是關于主設備的 clocking block:m_cb,另一個是ck:s_cb。同時,因為需要設計 monitor 組件,而 monitor ,所以需要有一個專門的 clocking block 用于 monitor 組件。有的信號都用關鍵字 input 申明。m_cb 的定義如下:
【學位授予單位】:西安電子科技大學
【學位級別】:碩士
【學位授予年份】:2018
【分類號】:TN407
本文編號:2597422
【圖文】:
第二章 理論基礎(4)UVM testbench 的構架由于類對象在創(chuàng)建之后,才會存在于內存當中,而靜態(tài)的 module 是功能仿真的開始,所以在一個 SystemVerilog 的 testbench 中,類的層次的創(chuàng)建必須從 module 開始[14],這個 module 就是頂層的 TB 文件。由于 UVM 特有的樹形結構,只需要在靜態(tài)的 module 里面創(chuàng)建 UVM 的“樹根”①,隨后這個樹根就會按照用戶設計來生成具體的樹形結構。此時整個 UVM testbench 就被動態(tài)的創(chuàng)建了。下圖 2.2 顯示了整個過程[14]。
西安電子科技大學碩士學位論文input delay 和 output delay),這樣在后期進行后仿真時,變ng block 有助于驗證平臺的功能正確性,本文將充分考于設計的模板文件中。證APB的DUT可能是APB主設備(此時,唯一的一種情況是掛載在 AHB2APB 橋上的從設備。為此,,需要在 interfack,一個是關于主設備的 clocking block:m_cb,另一個是ck:s_cb。同時,因為需要設計 monitor 組件,而 monitor ,所以需要有一個專門的 clocking block 用于 monitor 組件。有的信號都用關鍵字 input 申明。m_cb 的定義如下:
【學位授予單位】:西安電子科技大學
【學位級別】:碩士
【學位授予年份】:2018
【分類號】:TN407
【參考文獻】
相關期刊論文 前4條
1 謝崢;王騰;雍珊珊;陳旭;蘇吉婷;王新安;;一種基于UVM面向RISCCPU的可重用功能驗證平臺[J];北京大學學報(自然科學版);2014年02期
2 任佳麗;曹海燕;;嵌入式軟件自動代碼生成和代碼整合方法研究[J];太原理工大學學報;2013年04期
3 劉蓬俠;魯建壯;;存儲器內建自測試的程序控制方法[J];微電子學與計算機;2011年03期
4 萬軍民;基于Java的代碼生成器的設計與實現[J];計算機工程;2004年S1期
相關碩士學位論文 前7條
1 秦宇;基于APB總線的SPI接口IP核的設計與驗證[D];貴州大學;2015年
2 張怡琳;基于UVM可重用驗證平臺的研究[D];西安電子科技大學;2015年
3 陸小艷;基于AMBA2.0的SoC總線平臺的設計[D];西安電子科技大學;2012年
4 饒全林;基于System Verilog的FC-AE接口芯片的功能驗證[D];電子科技大學;2011年
5 李元元;基于AMBA APB總線的音頻接口IP核的設計與驗證[D];國防科學技術大學;2011年
6 沈圣盛;基于APB總線的接口IP核設計與驗證[D];西安電子科技大學;2011年
7 關鍵;基于AMBA總線音頻接口的設計與實現[D];西安電子科技大學;2009年
本文編號:2597422
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/2597422.html