功能驗證

功能驗證  ， 是電子設計自動化中驗證數字電路是否與預定規範功能相符的一個驗證過程 ， 通常所說的功能驗證 、 功能仿真是指不考慮實際器件的延遲時間 ， 只考慮邏輯功能的一個流程 。 功能驗證的目標是達到儘可能高的測試覆蓋率 ， 被測試的內容要儘可能覆蓋所有的語句 、 邏輯分支 、 條件 、 路徑 、 觸發 、 狀態機的狀態等 ， 同時在某些階段還必須包括對時序的檢查 。 在較小型的電路設計中 ， 設計人員可以利用硬件描述語言來建立測試平臺 （ 通常這是一個頂級模塊 ） ， 通過指定測試向量來檢驗被測模塊在各種輸入情況下 ， 檢驗對應的輸出是符合要求 。 但是 ， 在更大型集成電路設計項目中 ， 該過程會耗費設計人員較大的時間和精力 。 許多項目都採用計算機輔助工程工具來協助驗證人員創建隨機測試激勵向量 。 其中 ， 硬件驗證語言在建立隨機測試和功能覆蓋方面具有顯著的優勢 ， 它們通常提供了專門用來進行功能覆蓋和產生可約束隨機測試激勵向量的數據結構 。 除了上面講述的這種通過輸入測試向量的方式 ， 功能驗證還可以通過形式等效性檢查 （ 形式驗證 ） 、 斷言等方式來進行 ， 達到更高的功能覆蓋率 。