由人工智慧驱动的设计应用
英文原文:
2022年2月8日於《Semiconductor Engineering》刊登
减少执行功能安全分析时的主观性和错误。
汽車應用中 SoC 必須滿足 ISO 26262 所述的特定安全和品質標準,而定量的安全分析方法需要執行失效模式效應和診斷分析 (Failure Mode Effects and Diagnostic Analysis, FMEDA)。FMEDA 是一種系統性的定量分析技術,可以取得子系統/产物等級的故障率、失效模式,並具備系統故障診斷的功能。在眾多技術中, FMEDA對於设计中的元件考量的是每一個元件的失效模式和每一個元件失效模式對於产物功能的影響;而這些故障會以失效模式分佈 (Failure Mode Distribution; FMD) 來進行測量。
FMEDA 中的 FMD 通常是一個估計值,這對於車輛安全完整性等級(Automotive Safety Integrity Level; ASIL)的 A/B 等級來說是可以接受的,但 ISO 26262 規定必須對追溯性進行量化分析,尤其是針對 ASIL的C/D 等級。
失效模式分佈 (FMD) 指的是设计中一個區塊內可能導致故障的面積百分比。
當一個硬體子部件(subpart)存在多種故障模式時,就有必要找出哪種故障模式在分佈中的佔比多少。在 FMEDA 中填入 FMD 資料的方法有很多,其中有些是定性方法,例如:
在硬體子部件中,所有故障模式的佔比後加總會達到 100%,而工程師必須為每一個硬體子部件中的所有故障模式算出類似的分佈。這種定性結果有其限制,包括:
雖然在 ASIL-B 等級下,安全評估人員仍然可以接受定性分析的結果,但其可信度並不高。
自動化方法可以突破定性方法的限制。自動化工具可以透過靜態結構分析自動取得實際的设计資料,並對故障模式分佈進行定量分析。此方法的關鍵,在於找出符合故障模式的正確邏輯單元。
這種方法需指定一個受不同失效模式影響的輸出點作為觀測點,然後對該點進行邏輯電路各個節點的反向追溯 (logic back-tracing),直至其輸入點。這個過程包括寄存器、輸出/輸入接口及不同的邏輯階層。邏輯追溯的結果會形成該故障模式的下降漏斗 (Cone of Influence; COI)圓錐,一旦定義出圓錐的範圍後,就能找出存在於其中的單元。將漏斗內單元的面積加總,可以得到該圓錐的面積。接著,以該圓錐面積進行相對比較,就能得出該硬體子部件的 FMD。
圖 1:下降漏斗範例
相较於以非基於工具為基础的手动下降漏斗(颁翱滨)确认流程,此方法具有以下优势:
FMD 的準確度會影響到整體 SPFM/LFM 分數和 ASIL 評分等級,在較低的 ASIL C/D 等級尤其如此。在 ASIL-C/D 等級中,具備分析證據的定量結果是必要的。
新思科技 TestMAX FuSa 利用靜態分析法來準確計算某個设计或其中一部分的 FMD。
針對 FMD 分析,使用者可以為特定的故障模式指定觀察點。此工具會追溯邏輯電路,一路到设计輸入端,通過時序停止點(timing stop point)諸如觸發器、連接埠和子階層結構 (如果存在的話) 等,以劃出下降漏斗 (COI)。COI 中所有單元的面積總和,便是該故障模式的面積佔比。接下來,該數值便會相對分佈到各個失效模式中。
分析完成後,會產生 FMD,做為暫態或永久錯誤之失效模式觀察點的COI。TestMAX FuSa 還能回報基於邏輯閘或面積的 COI 指標。
基於邏輯閘的方法會以邏輯閘的數量來計算 COI 指標,適用於 RTL 设计。不過,缺乏面積資訊的網表(netlist) 设计也可以使用這個方法。
基於面積的方法則使用單元面積來計算 COI 指標,適用於 Liberty 文件 (.lib) 中包含面積資訊的網表设计。
圖 2:使用靜態分析和可觀測性運算從觀測點反向傳播
圖 3:TestMAX FuSa 回報基於邏輯閘或面積的 COI 指標
總而言之,透過以自動化工具為基礎的方法,使用 新思科技 TestMAX FuSa來取得 FMD,可以節省時間、減少主觀性、減少錯誤,並提供可追蹤的資料報告。