Skip to Main Content
白皮書

不是我的錯! 如何透過形式驗證更好地執行故障檢測活動

更好地執行故障檢測活動

汽車設計需要功能安全性分析,此任務通常使用故障模式、影響與診斷分析 (FMEDA) 來完成。FMEDA 用於確定每個安全性目標的診斷覆蓋率,進而確定設計是否滿足目標 ASIL 要求。但是,如果您曾編寫過 FMEDA,您便知道這是一項多麼繁瑣的任務。本文分享一種用於建立和自動執行 FMEDA 流程的一鍵式解決方案。

ISO 26262 汽車安全性標準

規定,必須評估隨機硬體故障所產生的安全性目標違規行為,以判斷診斷覆蓋率 (DC),藉此計算安全性指標。

透過模擬來注入故障,可能既耗時又繁瑣,而且可能無法讓設計傳遞故障以進行測試。但如果進行形式驗證,結構分析可提供最壞情況診斷覆蓋率,能輕易分類故障狀況。此外,故障的分析用來驗證故障的傳遞、安全性目標違規,以及故障偵測,從而提供準確且十分可靠的結果。本白皮書詳細說明了如何透過形式驗證,更好地執行故障檢測活動。

ISO 指標

汽車功能安全性標準 ISO 26262,為汽車應用積體電路定義了兩個驗證要求,包括系統性故障驗證與隨機硬體故障驗證。系統性故障是典型功能驗證時可能出現的設計錯誤。隨機硬體故障驗證是將故障注入到設計中,以測試該設計的安全機構相關假設,瞭解此安全機構是否起到作用。就像功能驗證使用覆蓋率來確定完整度,ISO 26262 標準定義了隨機硬體故障的覆蓋率形式(稱為診斷覆蓋率),此覆蓋率代表安全機構覆蓋的安全性元件百分比。

要計算診斷覆蓋率,首先要確定設計中不同故障類型的數目。如果注入的故障,對安全性關鍵目標(功能)或輸出沒有影響,此故障被視為安全。同樣地,注入故障後,只要是能被檢出或向汽車駕駛通報的故障,也都視為安全。我們實際尋找的,是安全機構未保護到的故障(稱為單點故障),或應該要覆蓋、但安全機構未偵測到的故障(稱為殘餘故障)。此 ISO 標準也涵蓋了安全機構中的潛在故障。通常汽車設計會具備次要安全機構(如 POST),以檢查主要安全機構的行為。 為了測試安全機構是否正常,必須在設計中注入故障以啟動主要安全機構,然後在主要安全機構中注入第二個故障,查看其是否依然運作。這稱為雙點故障,被劃分為多點故障類別(雖然該標準只要求測試最多兩個故障,除非因為架構原因而需要測試更多個故障)。任何未被次要安全機構覆蓋的雙點故障,都被視為潛在故障。

一旦分類好設計中的所有故障,便能輕鬆計算 ISO 26262 指標。故障數量常會匯聚於 FMEDA[1] 中,以計算單點故障指標 (SPFM) 或潛在故障指標 (LFM)。或者,可針對特定的故障模式[3],將診斷覆蓋率計算成百分比,然後和流程 FIT[2] 率 (λFIT) 一同用於 FMEDA 中。(請參見 [1] C.1-C.3 節,瞭解關於 ISO 指標計算的細節)。

分享