形式驗證

電腦硬件(特別是集成電路)和軟件系統的設計過程中,形式驗證的含義是根據某個或某些形式規範或屬性,使用數學的方法證明正確性或非正確性。

解釋

軟件測試無法證明系統不存在缺陷,也不能證明它符合一定的屬性。只有形式化驗證過程可以證明一個系統不存在某個缺陷或符合某個或某些屬性。系統無法被證明或測試為無缺陷,這是因為不可能形式地規定什麼是「沒有缺陷」。所有可以做的,就是證明一個系統沒有任何可以想到的缺陷,並且滿足所有的使系統符合功能要求的和有用的屬性。

集成電路設計中,形式驗證是一種集成電路設計的驗證方法,它的主要思想是通過使用形式證明的方式來驗證一個設計的功能是否正確。形式驗證可以分為三大類:抽象解釋(Abstract Interpretation)、形式模型檢查(Formal Model Checking,也被稱作特性檢查)和定理證明(Theory Prover)。

等價性檢查的驗證用於驗證暫存器傳輸級設計與門級網表之間、門級網表與門級網表之間是否一致。在進行掃描鏈重排、時鐘樹綜合等過程中,都可以用等價性檢查保證網表的一致性。等價性檢查已經融入集成電路標準設計流程中。等價性檢查在檢查ECO時非常有用。例如,設計者在修改門級網表時,由於手誤,錯將一個或門寫成或非門,等價性檢查工具通過比較暫存器傳輸級設計與門級網表,可以很容易地發現這種錯誤。

模型檢查用時態邏輯來描述規範,通過有效的搜尋方法來檢查給定的系統是否滿足規範。模型檢查是目前研究的熱點,但其驗證的電路規模受限制這一問題還沒有得到很好的解決。

定理證明把系統與規範都表示成數學邏輯公式,從公理出發尋求描述。定理證明驗證的電路模型不受限制,但需要用戶的人工干預和較多的背景知識。

相關條目