形式驗證formality
formality形式驗證是乙個基於數學意義的驗證方法,通過比較兩個設計a,b:
如果a的邏輯功能被b包含,那麼形式驗證認為是通過的。
需要注意的是並不是說著兩個design是完全相等的,而是邏輯上具有包含的關係。
在ic的流程中通常用於進行不同流程步驟的netlist的比較:
邏輯綜合netlist,floorplannetlist,placement netlist ,ctsinserted netlist,p&r netlist,在每乙個步驟後都有新的邏輯加入到netlist中,但是這個新的邏輯的加入不能改變之前netlist的功能。
在dynamicsimulation的流程中,需要開發驗證pattern作為輸入來進行驗證,驗證的覆蓋率取決於pattern的開發的完備性;而formality是基於數學比較的,不需要任何的輸入pattern。因此相比於動態**的優勢在於:
不需要開發驗證pattern
速度比較快
覆蓋率100%
純邏輯上的驗證,不考慮物理和timing資訊
缺點在於:
由於不考慮timing,因此需要配合sta工具使用。
equivalence checkers: 邏輯等價性檢查,檢查兩個design是否是邏輯上相等的。
model checkers:檢查design是否滿足某些邏輯屬性比如assert斷言。
少年不被樓層誤,餘生不羈盡自由。
加油,加油
驗證負數以補碼形式儲存
已知 1.負數的補碼等於它的反碼加1,即在其反碼的最低位加1就為該數的補碼 2.該系統中int型佔4位元組 32位二進位制 char型佔1位元組 8位二進位制 3.字元在記憶體中以ascii形式儲存 a的為65,c為67 4.在記憶體中低位址存低位值,高位址存高位值 先定義乙個int型負數 如 in...
關於軟體形式化驗證
軟體開發中一般使用 測試 來找bug,這種方法只能找到bug,不能證明程式沒有bug。形式化驗證是用邏輯來驗證程式的可靠性,就是把一段程式用邏輯的方法證明一遍,證明它能得到預期的結果,沒有bug。一般這類研究主要應用於昂貴的航天器材的作業系統 危險的醫療裝置的程式之中。因為航天器材 醫療裝置牽扯到人...
OS形式化設計與驗證
os往往無法提供理想的安全服務和安全保障。這主要存在兩方面的原因,首先在os實現過程中os開發者不可避免地存在程式設計錯誤 實現與設計不一致等問題,另外更重要的是在os設計過程存在os功能設計與安全目標不一致等問題。目前,公認的 最為合理的方案是利用嚴格的形式化方法來對os進行設計實現和驗證。形式化...