Formal Verification(形式驗證)

形式驗證

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

       形式驗證是一個系統性的過程,將使用數學推理來驗證設計意圖(指標)在實現(RTL)中是否得以貫徹。形式驗證可以克服所有3種仿真挑戰,由於形式驗證能夠從算法上窮盡檢查所有隨時間可能變化的輸進值。

形式驗證的出現

       由於仿真對於超大規模設計來說太耗費時間,形式驗證就出現了。當確認設計的功能仿真是正確的以後,設計實現的每一個步驟的結果都可以與上個步驟的結果做形式比較,也就是等價檢查,如果一致就說明設計合理,不必進行仿真了。

形式驗證主要是進行邏輯形式和功能的一致性比較,是靠工具自己來完成,無需開發測試向量。而且由於實現的每個步驟之間邏輯結構變化都不是很大,所有邏輯的形式比較會非常快。這比仿真的時間要少很多。一般要做形式驗證的步驟有:RTL和RTL。

IC設計驗證方法

       形式驗證(Formal Verification)是一種IC設計的驗證方法,它的主要思想是通過使用形式證明的方式來驗證一個設計的功能是否正確。形式驗證可以分為三大類:等價性檢查(Equivalence Checking)、形式模型檢查(Formal Model Checking)(也被稱作特性檢查)和定理證明(Theory Prover) 。

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

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

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

軟體設計驗證方法

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

形式驗證工具:

Synopsys的Formality

Cadence LEC(Logic Equivalence Check)

形式驗證的優點

1. 由於形式驗證技術是借用數學上的方法將待驗證電路和功能描述或參考設計直接進行比較,因此測試者不必考慮如何獲得測試向量。

2. 形式驗證是對指定描述的所有可能的情況進行驗證,而不是僅僅對其中的一個子集進行多次試驗,因此有效地克服了模擬驗證的不足。

3. 形式驗證可以進行從系統級到門級的驗證,而且驗證時間短,有利於儘早、儘快地發現和改正電路設計中的錯誤,有可能縮短設計周期。

       驗證實現工作包括將多種輸進條件定義為測試計畫的一部分、創建功能覆蓋模型、開發測試平台、創建輸進激勵發生器、編寫指導性測試以及執行測試、分析覆蓋率指標、調整激勵發生器以面向未驗證的設計部分,然後反覆這一過程。

       形式驗證補充了模擬驗證的不足,二者各有優勢,互為補充,缺一不可。

       仿真是一種基於經驗的模擬驗證方法,通過反覆試驗試圖查明缺陷,這要花相當多的時間嘗試所有可能的組合,因此永遠不會完整。另外,由於工程師必須定義和產生大量輸進條件,他們的工作重點將是如何在非設計目標基礎上分解設計。

       形式驗證是窮盡式數學技術,使工程師僅關注設計意圖。純形式驗證技術與仿真驗證相反,專注於證實模組的端到端、直接對應微架構規範的高層要求,幫助用戶戲極大進步項目的設計和驗證產能,同時確保正確性。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值