確保電子設計的正確性非常重要,因為硬體缺陷在生產後是永久性的,可能會影響軟體的可靠性或網路物理系統的安全性。驗證在數位電路工程中是核心,FPGA 和 IC/ASIC 項目分別花費 40% 和 60% 的時間在這個過程上。雖然像導向測試或限制隨機測試這樣的測試方法容易實施,但它們本質上並不全面,無法確保沒有關鍵錯誤。正式驗證,特別是模型檢查,通過數學確認設計是否在所有可能的執行中滿足其規範,來解決這些限制。然而,像 BDD(布爾決策圖)和 SAT 解算器這樣的方法仍然計算密集,對於複雜電路的擴展性存在挑戰。工程師通常依賴有界模型檢查來減少計算需求,這在延長的時間範圍內犧牲了全局正確性。
正式驗證經過數十年的發展,時間邏輯在描述系統行為中扮演了重要角色。基於線性時間邏輯(LTL),SystemVerilog 斷言被廣泛用來定義安全性和活性屬性。安全性屬性使用 BDD 進行高效驗證,而基於 SAT 的方法在有界模型檢查中擴展性更好,但在未達到不切實際的高閾值時仍然不完整。像 IC3 和 Craig 插值這樣的先進技術改善了無界安全檢查,而 Emerson-Lei 固定點計算和 k-活性則將驗證擴展到活性屬性。驗證具有複雜算術的系統仍然具有挑戰性,通常需要顯式狀態抽象、歸納不變式或排名函數。最初為軟體終止分析開發的排名函數已被廣泛應用於硬體活性驗證,並結合了非線性、分段定義和字典序方法,以應對現代系統的複雜性。
來自伯明翰大學(University of Birmingham)、亞馬遜網路服務(Amazon Web Services)和倫敦女王瑪麗大學(Queen Mary University of London)的研究人員開發了一種基於機器學習的硬體模型檢查方法,該方法結合了神經網路和符號推理。他們的方法使用神經網路來表示 LTL 規範的證明證書,這些證書是從隨機生成的系統執行中訓練而來。這種方法通過使用可滿足性求解來驗證這些證書,保證了在無界時間範圍內的正式正確性。實驗證明了其有效性,在速度和任務完成方面超越了學術和商業模型檢查器,為系統設計的安全性和可靠性做出了貢獻。
LTL 模型檢查驗證系統(M)中所有可能的行動序列是否符合給定的 LTL 公式(Phi),該公式描述了所需的時間屬性。系統(M)包括輸入和狀態變數,其行為由轉換規則決定。為了檢查這一點,(Phi)被轉換為一種稱為 Büchi 自動機(A_Phi)的自動機。驗證確保組合系統(M)和自動機(A_neg Phi)(表示公式的否定)沒有有效的無限序列。神經排名函數有助於證明終止,並使用 SMT 解算器進行驗證。
實驗評估測試了來自 10 個參數化硬體設計的 194 個驗證任務,這些設計的複雜性各不相同。開發了一個原型神經模型檢查工具,使用 Spot 生成自動機,使用 Verilator 生成數據,使用 PyTorch 進行訓練,並使用 Bitwuzla 進行 SMT 求解。該工具與行業領先的 ABC、nuXmv 和匿名工具 X 和 Y 進行了基準測試。它完成了 93% 的任務,在可擴展性和運行時間方面超越了競爭對手,儘管仍然存在局部最小值和延長 SMT 檢查時間等挑戰。雖然通常更快,但在像 UARTt 這樣的簡單任務上因為開銷而掙扎。該方法的限制包括依賴字級輸入和數據集偏見的風險。
總結來說,這項研究介紹了一種使用神經網路作為硬體驗證證明證書的時間邏輯模型檢查方法。神經網路在合成系統執行上進行訓練,利用其表示排名函數以確保公平終止的能力。該方法通過使用可滿足性求解器驗證神經證書,結合了機器學習和符號推理,確保了正式的保證。應用於 SystemVerilog 設計時,它在可擴展性方面超越了最先進的工具。儘管 SMT 求解的計算需求較高,但該方法在簡單的前饋神經網路中仍然有效。這標誌著神經證書在時間邏輯中的首次成功應用,為模型檢查的進一步發展奠定了基礎。
查看論文。這項研究的所有功勞都歸於這個項目的研究人員。此外,別忘了在 Twitter 上關注我們,加入我們的 Telegram 頻道和 LinkedIn 群組。別忘了加入我們的 60k+ ML SubReddit。
🚨 熱門消息:LG AI 研究發布 EXAONE 3.5:三個開源雙語前沿 AI 模型提供無與倫比的指令跟隨和長上下文理解,為生成 AI 卓越的全球領導地位提供支持……。
本文由 AI 台灣 運用 AI 技術編撰,內容僅供參考,請自行核實相關資訊。
歡迎加入我們的 AI TAIWAN 台灣人工智慧中心 FB 社團,
隨時掌握最新 AI 動態與實用資訊!