多路幀隨機數據驗證處理方法及裝置的制造方法
【技術領域】
[0001]本發明涉及通訊技術領域,尤其涉及多路幀隨機數據驗證處理方法及裝置。
【背景技術】
[0002]在ASIC芯片設計和FPGA設計中,一般會先按照需求制定設計說明書。邏輯工程師們再按照設計說明書把這些具體的需求翻譯成verilog代碼。在翻譯成verilog代碼的過程中,會由于各種原因導致寫的verilog代碼存在功能性的錯誤。在這種情況之下,通過邏輯驗證來定位并改正設計中的錯誤成為了保證設計功能正確的一種必要手段。在傳統驗證方式不斷發展的背景下,0VM(0pen Verificat1n Methodology) > VMM (Verificat1nMethodology Manual)、UVM(Universal Verificat1n Methodology)驗證方法學的出現極大地提升了驗證效率。UVM(通用驗證方法學,Universal Verificat1n Methodology),是基于0VM(0pen Verificat1n Methodology)發展而來的新一代驗證方法學。傳統的驗證手段對驗證模塊激勵的添加會存在諸多的不便,特別是在對激勵的約束上,而UVM卻能很好地完成這個任務。UVM在system verilog的基礎上,定義了一些在驗證平臺中經常使用到的基類、宏、和塊語句。這些庫文件可以通過接口直接調用,方便對待驗證模塊DUT(DesignUnder Test)的驗證時定位錯誤。
[0003]隨著光通信網絡的演化和驗證技術的發展,以及FPGA的庫文件與EDA工具編譯的兼容性,ASIC芯片驗證和FPGA邏輯驗證趨向于統一。在這種前提下,光通信網絡的硬件邏輯驗證時激勵所需要的多個多路幀數據及計數方式在驗證平臺中變得很重要。一般的情況下,在設計驗證平臺中實現多路幀隨機數的產生時,大多會一個一個地重復定義transact1n結構,通過不斷地包裹來實現多路巾貞隨機數據的產生,再在驗證平臺中加載給不同的幀數據信號。其缺陷在于,驗證平臺加載受約束的隨機激勵復雜,導致驗證平臺中調用UVM庫時的不確定性,使得系統運行的穩定性較差。
[0004]上述內容僅用于輔助理解本發明的技術方案,并不代表承認上述內容是現有技術。
【發明內容】
[0005]本發明的主要目的在于簡化驗證平臺加載受約束的隨機激勵,減少驗證平臺中調用UVM庫時的不確定性,提高系統運行的穩定性。
[0006]為實現上述目的,本發明提供的一種多路幀隨機數據驗證處理方法包括以下步驟:
[0007]A、搭建通用驗證平臺,預設transact1n組件、sequence組件、sequencer組件、driver組件、monitor組件、scoreboard組件及各組件的派生關系;
[0008]B、所述transact1n組件獲取目標驗證數據包中每一數據包的包結構信息,并將每一數據包的包結構信息以預置參數類型打包發送至sequence組件;
[0009]C、所述sequence組件根據所述每一數據包的包結構信息生成隨機數,且每一數據包對應的所有隨機數形成幀數據;
[0010]D、所述sequencer組件接收所述幀數據,并通過預置的TLM端口發送所述幀數據至所述driver組件;
[0011]E、所述driver組件在每接收到所述sequencer組件發送的一巾貞數據時,將接收到的當前幀數據進行隨機數抓取處理,得到多路隨機數據;并將所述多路隨機數據一一對應賦值給預置臨時變量后,將所述預置臨時變量賦值到被調用任務的賦值語句中,以將所述預置臨時變量加載至待驗證模塊;
[0012]F、所述monitor組件檢測所述待驗證模塊輸出的檢測數據信息;
[0013]G、所述scoreboard組件對所述monitor組件檢測獲得的所述檢測數據信息進行驗證處理。
[0014]優選地,所述步驟E包括:
[0015]所述driver組件在每接收到所述sequence組件發送的一巾貞數據時,將接收到的當前幀數據打包至預置的數組內;
[0016]在所述數組內提取數據,得到多路隨機數據;
[0017]將所述多路隨機數據一一對應賦值給預置臨時變量,并打包形成多路幀隨機數據;
[0018]啟動加載任務將所述多路幀隨機數據加載至所述待驗證模塊的輸入端。
[0019]優選地,所述啟動加載任務將所述多路幀隨機數據加載至所述待驗證模塊的輸入端之后還包括:
[0020]所述driver組件根據所述多路幀隨機數據中的幀頭或幀尾統計所述多路幀隨機數據的路數。
[0021]優選地,所述步驟A還包括預設reference_model組件;
[0022]所述步驟G之前還包括:
[0023]所述referencejnodel組件獲取所述多路幀隨機數據;并按照所述待驗證模塊相同的功能對所述多路幀隨機數據進行數據處理后得到期望數據信息;
[0024]所述步驟G包括:
[0025]所述scoreboard組件接收所述檢測數據信息和所述期望數據信息;
[0026]比較所述檢測數據信息和所述期望數據信息;
[0027]輸出比較的結果。
[0028]優選地,所述包結構信息包括包頭、靜荷、負載、開銷字節位及數據包的約束條件。
[0029]此外,為實現上述目的,本發明還提供一種多路幀隨機數據驗證處理裝置包括:
[0030]平臺搭建模塊,用于搭建通用驗證平臺,預設transact1n組件、sequence組件、sequencer組件、driver組件、monitor組件、scoreboard組件及各組件的派生關系;
[0031]所述transact1n組件,用于獲取目標驗證數據包中每一數據包的包結構信息,并將每一數據包的包結構信息以預置參數類型打包發送至sequence組件;
[0032]所述sequence組件,用于根據所述每一數據包的包結構信息生成隨機數,且每一數據包對應的所有隨機數形成幀數據;
[0033]所述sequencer組件,用于接收所述幀數據,并通過預置的TLM端口發送所述幀數據至所述driver組件;
[0034]所述driver組件,用于在每接收到所述sequencer組件發送的一巾貞數據時,將接收到的當前幀數據進行隨機數抓取處理,得到多路隨機數據;并將所述多路隨機數據一一對應賦值給預置臨時變量后,將所述預置臨時變量賦值到被調用任務的賦值語句中,以將所述預置臨時變量加載至待驗證模塊;
[0035]所述monitor組件,用于檢測所述待驗證模塊輸出的檢測數據信息;
[0036]所述scoreboard組件,用于對所述monitor組件檢測獲得的所述檢測數據信息進行驗證處理。
[0037]優選地,所述driver組件具體用于,在每接收到所述sequence組件發送的一中貞數據時,將接收到的當前幀數據打包至預置的數組內;在所述數組內提取數據,得到多路隨機數據;將所述多路隨機數據一一對應賦值給預置臨時變量,并打包形成多路幀隨機數據;啟動加載任務將所述多路幀隨機數據加載至所述待驗證模塊的輸入端。
[0038]優選地,所述driver組件還用于根據所述多路幀隨機數據中的幀頭或幀尾統計所述多路幀隨機數據的路數。
[0039]優選地,所述平臺搭建模塊還用于預設reference_model組件;
[0040]所述reference_model組件,用于獲取所述多路巾貞隨機數據;并按照所述待驗證模塊相同的功能對所述多路幀隨機數據進行數據處理后得到期望數據信息;
[0041]所述scoreboard組件具體用于,接收所述檢測數據信息和所述期望數據信息;t匕較所述檢測數據信息和所述期望數據信息;輸出比較的結果。
[0042]優選地,所述包結構信息包括包頭、靜荷、負載、開銷字節位及數據包的約束條件。
[0043]本發明實施例通過transact1n組件獲取目標驗證數據包中每一數據包的包結構信息,并將每一數據包的包結構信息以預置參數類型打包發送至sequence組件;由述sequence組件根據所述每一數據包的包結構信息生成隨機數,且每一數據包對應的所有隨機數形成巾貞數據;并通過driver組件在每接收到所述sequencer組件發送的一巾貞數據時,將接收到的當前幀數據進行隨機數抓取處理,得到多路隨機數據;并將所述多路隨機數據一一對應賦值給預置臨時變量后,將所述預置臨時變量賦值到被調用任務的賦值語句中,以將所述預置臨時變量加載至待驗證模塊;最后由scoreboard組件對所述monitor組件檢測獲得的所述檢測數據信息進行