一種利用已有VerilogBFM構造UVM驗證組件的方法
2023-04-24 17:26:35 1
一種利用已有Verilog BFM構造UVM驗證組件的方法
【專利摘要】本發明公開一種利用已有Verilog BFM構造UVM驗證組件的方法,屬於計算機構造驗證領域,對已有的Verilog BFM改造;將改造後的Verilog BFM集成到UVM驗證環境中;本發明不用對之前的總線模型做太多修改,就使其能在新的UVM環境中得到使用,有效利用了現有資源,修改最少的代碼,節省最多的時間,極大縮短驗證周期,避免驗證平臺本身產生的錯誤影響驗證進度。
【專利說明】一種利用已有Ver i I og BFM構造 UVM驗證組件的方法
【技術領域】
[0001] 本發明公開一種構造 UVM驗證組件的方法,屬於計算機構造驗證領域,具體地說 是一種利用已有Verilog BFM構造 UVM驗證組件的方法。
【背景技術】
[0002] Verilog是一種廣泛應用於FPGA以及數字ASIC設計的硬體描述語言,使用它描 述數字邏輯電路,同時使用它描述電路的外圍設備來構建仿真平臺。早期的總線功能模型 BFM (bus functional model)是工程師用Verilog等硬體描述語言構建的電路外圍設備的 模型,來產生各種激勵來驅動所設計的電路的模型,並檢測電路的輸出,來判斷電路的功能 是否符合預期。
[0003] 隨著數字電路技術的發展,傳統的Verilog語言已經不能滿足構建總線功能模型 BFM進行數字電路驗證的需要,新的驗證語言開始出現。現在最廣泛使用的SystemVerilog 語言在原有Verilog語言的基礎上,增加了約束隨機激勵,功能覆蓋率檢查,面向對象編 程,斷言等屬性,能夠更好的滿足複雜電路驗證的需求。UVM是晶片驗證業界最新研發的一 種驗證方法學。UVM提供基於SystemVerilog語言開發的一套庫函數,通過調用庫可以省去 從零開始開發驗證環境的麻煩。如果想從之前的面向數字邏輯的Verilog語言到具有面向 對象屬性的SystemVerilog的迀移,從基於Verilog的驗證環境迀移到UVM驗證環境,這並 不簡單,UVM環境中復用之前的Verilog總線功能模型BFM是關鍵一步。為了實現這種復 用,本發明提供一種利用已有Verilog BFM構造 UVM驗證組件的方法,不用對之前的總線模 型做太多修改,就使其能在新的UVM環境中得到使用,有效利用了現有資源,修改最少的代 碼,節省最多的時間,極大縮短驗證周期,避免驗證平臺本身產生的錯誤影響驗證進度。
【發明內容】
[0004] 本發明針對現有技術存在的不足和問題,為解決從基於Verilog的驗證環境迀移 到UVM驗證環境時,UVM環境中復用之前的Verilog總線功能模型BFM的難題,提供一種利 用已有Verilog BFM構造 UVM驗證組件的方法。
[0005] 提出的具體方案是: 一種利用已有Verilog BFM構造 UVM驗證組件的方法,具體步驟為: 對已有的Verilog BFM改造:選擇協議中的driver,根據driver在協議中的數據發送 情況,在Verilog BFM中加入數據包信息的信號以及發送開始結束信號; 在Verilog module的埠列表中把數據包信息的信號封在一個interface中,然後通 過這個interface跟Verilog BFM連接,根據interface進入的數據包信息來驅動發送信 號; 將改造後的Verilog BFM集成到UVM驗證環境中:創建一個uvm_driver,在它的run_ phase中,將從sequece_item中得到的隨機化的數據包信息,不斷發送給虛擬接口,uvm_ driver起到連接UVM環境與Verilog BFM的橋梁作用,無實際工作; 驗證環境頂層例化uvm_driver與Verilog BFM之間的接口,並通過uvm_conf ig_db把 它傳遞給driver中的虛擬接口,完成改造後的Verilog BFM集成到UVM驗證環境。
[0006] 所述的選擇協議中的driver,選擇的是rapidio協議中的driver,所述的數據包 信息按照rapidio協議進行串行發送。
[0007] 所述的數據包信息信號包括數據包的類型,長度,源器件號碼,目的器件號碼,數 據負載。
[0008] 所述的數據負載的長度是不固定的,使用隊列來存儲數據負載的長度信息。
[0009] 本發明的有益之處是:本發明通過對現有的Verilog BFM進行改造,並連接到UVM 平臺中,有效利用了現有資源,修改最少的代碼,節省最多的時間,極大縮短驗證周期,避免 驗證平臺本身產生的錯誤影響驗證進度。
【專利附圖】
【附圖說明】
[0010] 圖1是基於Verilog實現的驗證環境的基本結構示意圖; 圖2是標準UVM驗證環境的結構示意圖; 圖3是uvm_driver與Verilog BFM連接的框架示意圖。
【具體實施方式】
[0011] 下面結合【專利附圖】
【附圖說明】。
[0012] 如圖1,中間是被測電路的邏輯描述,左邊是激勵產生的總線模型BFM,右邊是響 應檢測的總線模型BFM。無論是激勵產生或者響應檢測模型,一般都封裝在Verilog的 module中,在module中通過fuction或者task來產生各種激勵或者收集各種響應,來模擬 被測電路的外部設備。三部分在頂層中被例化,並且相互連接。示例程序為:
【權利要求】
1. 一種利用已有Verilog BFM構造UVM驗證組件的方法,其特徵是具體步驟為: 對已有的Verilog BFM改造;選擇協議中的化iver,根據化iver在協議中的數據發送 情況,在Verilog BFM中加入數據包信息的信號W及發送開始結束信號; 在Verilog mo化le的埠列表中把數據包信息的信號封在一個inte計ace中,然後通 過該個inte計ace跟Verilog BFM連接,根據inte計ace進入的數據包信息來驅動發送信 號; 將改造後的Verilog BFM集成到UVM驗證環境中;創建一個uvm_^iver,在它的run_ phase中,將從sequece_item中得到的隨機化的數據包信息,不斷發送給虛擬接口,uvm_ 化iver起到連接UVM環境與Verilog BFM的橋梁作用,無實際工作; 驗證環境頂層例化uvm_^iver與Verilog BFM之間的接口,並通過uvm_conf ig_化把 它傳遞給化iver中的虛擬接口,完成改造後的Verilog BFM集成到UVM驗證環境。
2. 根據權利要求1所述的一種利用已有Verilog BFM構造UVM驗證組件的方法,其特 徵是所述的選擇協議中的化iver,選擇的是rapidio協議中的化iver,所述的數據包信息 按照rapidio協議進行串行發送。
3. 根據權利要求2所述的一種利用已有Verilog BFM構造UVM驗證組件的方法,其特 徵是所述的數據包信息信號包括數據包的類型,長度,源器件號碼,目的器件號碼,數據負 載。
4. 根據權利要求3所述的一種利用已有Verilog BFM構造UVM驗證組件的方法,其特 徵是所述的數據負載的長度是不固定的,使用隊列來存儲數據負載的長度信息。
【文檔編號】G06F11/26GK104461812SQ201410790038
【公開日】2015年3月25日 申請日期:2014年12月18日 優先權日:2014年12月18日
【發明者】耿介, 於治樓, 畢研山 申請人:浪潮集團有限公司