複製鏈接
請複製以下鏈接發送給好友

功能驗證

鎖定
功能驗證是一個自動化學科的術語。功能驗證是電子設計自動化中驗證數字電路是否與預定規範功能相符的一個驗證過程,通常所説的功能驗證、功能仿真是指不考慮實際器件的延遲時間,只考慮邏輯功能的一個流程。功能驗證的目標是達到儘可能高的測試覆蓋率,被測試的內容要儘可能覆蓋所有的語句、邏輯分支、條件、路徑、觸發、狀態機的狀態等,同時在某些階段還必須包括對時序的檢查。
中文名
功能驗證
外文名
functional verification

功能驗證功能驗證定義

在較小型的電路設計中,設計人員可以利用硬件描述語言來建立測試平台(通常這是一個頂級模塊),通過指定測試向量來檢驗被測模塊在各種輸入情況下,檢驗對應的輸出是符合要求。但是,在更大型集成電路設計項目中,該過程會耗費設計人員較大的時間和精力。許多項目都採用計算機輔助工程工具來協助驗證人員創建隨機測試激勵向量。其中,硬件驗證語言在建立隨機測試和功能覆蓋方面具有顯著的優勢,它們通常提供了專門用來進行功能覆蓋和產生可約束隨機測試激勵向量的數據結構。
除了上面講述的這種通過輸入測試向量的方式,功能驗證還可以通過形式等效性檢查(形式驗證)、斷言等方式來進行,達到更高的功能覆蓋率。

功能驗證五大驗證技術

功能驗證:原型驗證和硬件仿真 功能驗證:原型驗證和硬件仿真
功能驗證技術有靜態驗證、功能仿真、FPGA原型驗證、硬件仿真、與UVM等。

功能驗證功能驗證流程

功能驗證流程主要分為三部分:1、制定驗證策略和驗證計劃;2、創建驗證平台,運行和調試;3、迴歸測試和覆蓋率分析。 [1] 
制定驗證策略和驗證計劃
制定驗證策略和驗證技術主要處理以下三個問題:
(1) 主要測試點和測試用例
首先需要從設計中提取出有實際意義的、可管理的測試空間集合,並且沒有損害其期望的功能;然後根據這些測試點,擬定驗證策略和驗證用例;最後具體化到一個詳細的、可執行的驗證計劃中,作為整個驗證功能的指導。
(2) 驗證平台的抽象層次
驗證平台的抽象層次將決定它主要的處理對象:比特、包或者更高層次的數據類型。高層次的抽象建模需要讓驗證平台中低層次的功能自動化。
(3) 激勵生成和結果檢查原則
這些原則定義了輸入到驗證平台的激勵是如何提供的,結果是如何檢查的,並判斷測試是否通過。
驗證平台的搭建和調試
驗證平台的搭建要以可重用為基本原則,而且方便設計工程師和驗證工程師添加測試用例。在該階段,需要搭建驗證平台,書寫測試用例並調試。
迴歸測試和覆蓋率分析
迴歸測試要求能夠週期的批處理運行,激勵必須能夠容易得到重現,成功或失敗能夠自動檢查。覆蓋率顯示出該設計被測試的程度,是驗證收斂的重要標準。 [2] 
參考資料
  • 1.    鍾文楓.System Verilog與功能驗證:機械工業出版社,2010年10月1日:6
  • 2.    鍾文楓.System Verilog與功能驗證:機械工業出版社,2010年10月1日:8