共找到2條詞條名為UVM的結果 展開
- 用於數字電路驗證的技術
- 1791年創立於美國的公立大學
UVM
用於數字電路驗證的技術
通用驗證方法學(Universal Verification Methodology, UVM)是一個以SystemVerilog類庫為主體的驗證平台開發框架,驗證工程師可以利用其可重用組件構建具有標準化層次結構和介面的功能驗證環境。
摩爾定律指出集成晶元可容納的晶體管數目,每隔約18個月便會增加一倍,性能也將提升一倍。大規模SOC和多核設計出現,專用集成晶元(ASIC)設計的複雜度以指數增長,這使得驗證工作成為晶元設計中的關鍵瓶頸。
為了解決驗證這一難題,出現了商用的硬體驗證語言,包括OpenVera、SystemC和e語言。驗證語言的開發大大加速了驗證,另一方面也使得設計人員與驗證人員的溝通出現了障礙,甚至原則上出現分歧。於是,一種新的驗證語言SystemVerilog被提出,並被採納為電氣電子工程師學會1800-2009標準。
雖然SystemVerilog面向對象編程的特性為解決上述問題提供了可能,但是仍然存在問題:工程師有了更靈活的語言,但是怎麼用這種語言來搭建驗證平台卻是沒有明確規範的,即缺乏一種統一的標準。
驗證方法學就是提供一套基於SystemVerilog的類,驗證工程師以其中預定義的類作為起點,就可以建立起具有標準結構的驗證平台。
為了進行實現驗證方法學的標準化,早在2009年12月,Accellera(電子設計自動化行業的一個致力於標準化的組織)內部就通過投票,決定以之前的開放驗證方法學2.1.1版為基礎,構建一個新的功能驗證方法學。
2011年2月,Accellera通過了通用驗證方法學1.0版,並得到了三大廠商(Cadence、Synopsys和MentorGraphics)的共同支持。此後,Accellera陸續推出了UVM1.1,1.1a,1.1b,1.1c和1.1d這幾個版本。2014年6月,Accellera又推出了通用驗證方法學1.2版,是現在的最新版本。
以下列出了通用驗證方法學的類庫結構,注意這與驗證平台中實例的層次關係有所不同。
UVM
具體繼承關係如圖所示。
UVM
UVM
環境的配置和建立都放在了build_phase中執行,其中build中需要建立UVM樹的根節點和建立UVM整個的樹,還需要對環境中參數做初始化的配置;Connect的過程中主要就是將UVM中的port做一個連接;end_of_elaboration這個過程中是模擬前對Testbench模塊通信做最後的配置和調整;start_of_simulation,將模擬的一些Testbench拓撲結構列印出來,也包括前一個階段的配置信息。
run_phase是模擬的運行階段。Reset過程模擬了真實的reset行為;這個環境中用的很少Configure相關的步驟主要讓信號進入準備接受testcase的階段,而激勵真正添加到DUV的階段就是main相關的步驟,這個階段會運行直到激勵運行或者testbench停止。Shutdown是為了確保激勵已經加完的步驟,通常可以將對寄存器的讀操作放在這個階段。
Clean_up_phase的存在就是為了確保覆蓋率而設置的,收集的位置包括了計分板和監視器。