白皮書

無需 UVM 經驗的 UVM:將 UVM 驗證程式撰寫自動化的方法

將 UVM 驗證程式撰寫自動化的方法

本白皮書為沒有任何 UVM 背景的驗證團隊邁出採用 SystemVerilog UVM 的第一步,提供了一個簡單的解決方案:一個架構或程式碼產生的範本系統。架構、程式碼產生器及範本會運用先前驗證作業的 UVM 經驗。此外,想要成功產生程式碼,不必在開始時就得知所有細節。一段時間後,架構、產生器及範本會隨著團隊 UVM 驗證經驗的增長而成長。

典型的 UVM 驗證程式

典型的 UVM 驗證程式包含待測物件 (DUT),以及每個介面的「agent」、將代理程式聚集在一起的「environment」,以及頂層「test」。連接 DUT 的介面是 SystemVerilog 介面,這是用於將 DUT 連接至以類別為基礎之驗證程式的虛擬介面。您別擔心 – 範本會處理大部分的細節和詞彙。

範本

目前已開發兩組範本,兩者的重點稍有不同。本白皮書只討論其中一個範本,另一個範本請洽作者。沒有所謂正規的範本。每個範本反映的是範本撰寫者的優先順序(就地編輯相對於編輯副檔案),或者驗證作業的重點(涵蓋所有位址範圍相對於涵蓋位址範圍邊緣),或者一般驗證哲學(讀寫所有記憶體)。

範本系統本身可獨立執行,也就是說,範本可以被編寫及模擬,並且會執行一些工作。未連接 DUT,因此不會發生實際有用的驗證,但可以編寫及模擬的系統可輕鬆建立錯誤較少的起始範本。不涉及 SystemVerilog 虛擬程式碼,全為 SystemVerilog UVM。

本白皮書所述的範本由大約 20 個檔案組成,共計 500 行程式碼。我們的想法是範本應該盡量簡潔。產生器指令碼在右邊。

Share

相關資訊