01
介紹
隨著當今汽車中芯片數量的快速增長,IC設計人員需要改進流程以滿足ISO 26262標準定義的功能安全(FuSa: Function Safety)要求。
ISO 26262標準定義了功能安全級別,稱為ASIL(Automotive Safety Integrity Level汽車安全完整性等級),是汽車系統設計過程的強制性組成部分。ASIL類別的范圍從A(用于最不安全關鍵的應用)到D(用于最關鍵的應用)。例如,車載信息娛樂系統與自動制動系統相比,對ISO 26262 認證的ASIL要求不同。圖1展示了車輛內不同功能以及對應的ASIL要求的一些示例:
要達到所需的ASIL水平,需要進行廣泛的仿真,以分析設計中可能發生的影響安全功能的潛在隨機故障。此過程類似于DFT(Design For Test)中常用的故障仿真過程。然而,在FuSa方面,并非所有故障都是平等的,這會導致我們的DFT指標(DFT Metrics)和功能安全指標(FuSa Metrics)之間存在差異。沒有簡單的方法可以將這兩個不同的指標關聯起來。本文介紹了如何利用傳統 DFT 技術來滿足 ISO 26262 功能安全要求。
02
功能安全概述
功能安全的目標是防止關鍵安全系統的故障對人員造成傷害。功能安全機制通過檢測兩種不同類型的隨機硬件故障來保護設計免受故障。LBIST 是一種安全機制,也用于制造測試和系統內測試。
設計上的安全保障
為了滿足 ISO 26262 汽車標準規定的功能安全要求,汽車 IC 設計人員需要在其設計中添加稱為安全機制的特定電路。這些安全機制電路是在設計的基礎功能之上額外添加的,純粹是為了確保 IC 能夠安全運行。安全機制將檢測設備使用壽命期間可能發生的靜態和瞬態故障。一旦檢測到缺陷,設備就可以做出響應或安全關閉,通常稱為返回到安全狀態。根據應用的不同,安全機制可以采取多種形式。
圖 2 顯示了一個示例設計,其中包含一系列實現安全機制的方法,以及為特定功能添加的安全監控。Mentor Austemper SafetyScope EDA工具可以執行此分析,以提供有關安全合規性的初步反饋。
圖 2:不同功能安全機制的芯片級實現
安全機制的選擇很大程度上取決于需要確保安全的結構上的要求。一般來說,需要良好的設計知識來準確評估哪種安全機制適合哪種場景。然而,設計人員可以通過使用EDA?具和自動化分析來幫助選擇最佳安全機制。作為安全設計過程和功能安全設計流程的一部分,EDA軟件的使用正變得越來越廣泛。
ISO 26262 標準為許多常見安全機制的有效性提供了指導。安全機制的選擇需要在幾個因素之間進行權衡,如表1所示:
Coverage覆蓋范圍 – 檢測缺陷/故障的有效性
Test Time測試時間 – 執行測試以檢測缺陷/故障所需的時間
Silicon Area硅面積 – 實施測試所需的對芯片面積的影響
Distruption干擾–測試對正常操作造成的干擾程度
糾正 – 檢測和/或檢測 + 糾正故障的能力
表1:功能安全機制關鍵參數比較
基于硬件的安全機制對硅片面積、功耗和成本的影響可能是巨大的。因此,設計人員經常尋找既可用于功能安全又可以用于制造測試的電路,比如LBIST和MBIST等結構化的方法。
這些技術通常已經作為制造測試要求的一部分在芯片上實現,因此任何額外的開銷都保持在最低限度。圖 3 顯示了典型的 BIST 實現,該實現允許自動測試設備 (ATE) 通過 IEEE 1149.1 TAP 控制器進行訪問,從而可以運行和監控測試。
圖 3:汽車設計中的 BIST 基礎設施
隨機故障類型
ISO 26262 標準將故障分為兩種類型,必須檢測和控制這兩種類型,以證明功能安全的正確實現。
第一類包括單點故障和殘余故障,如圖4所示
單點故障是安全關鍵邏輯中的故障,可能對硬件功能產生不利影響并且不受安全機制的保護。
殘余故障是安全關鍵邏輯中的故障,可能對硬件和設備的功能產生不利影響。保護該功能的安全機制無法有效的檢測到這類故障。
圖 4:單點和殘余故障圖
無論哪種情況,故障都會直接影響功能。為簡單起見,將使用術語“單點故障”來表示兩者。用于描述單點故障的度量是單點故障度量 (SPFM)。
第二類故障是多點故障,如圖5所示。多點故障是指與其他故障結合可能對安全關鍵功能產生不利影響的故障。最常見的例子是安全機制發生故障,導致安全機制無法運行,隨后關鍵安全功能出現故障,但未被檢測到。
圖 5:多點故障
多點故障可分為兩類:潛在的多點故障和檢測到的多點故障。利用上面的示例,潛在故障是安全機制內的故障,其中不存在附加安全機制來捕獲該故障。檢測到/感知到的故障是安全機制中的故障,該安全機制受到附加安全機制(通常稱為輔助安全機制)的保護。
用于測試和功能安全的LBIST
LBIST 是一項在半導體行業已使用多年的技術。從歷史上看,它一直被用作 SoC 制造測試解決方案的一部分,與掃描 ATPG 結合使用或代替掃描 ATPG。
對于汽車設計,混合使用LBIST/ATPG 方法已被證明是一種流行的方法。Mentor Tesssent TK/LBIST 混合 IP 使LBIST和 ATPG 能夠共享許多相同的邏輯結構,從而減少了測試電路所需的硅面積。
圖6展示了ATPG壓縮電路(Tessent TestKompress)和LBIST 是如何互補的。他們還可以使用在設計中實現的相同掃描鏈結構進行制造測試。LBIST的優點是能夠在內部生成測試模式,使其成為一種基于系統內測試的良好的功能安全解決方案。
圖 6:混合 ATPG/LBIST 控制器架構
使用LBIST 作為制造測試解決方案的一個挑戰是,由于生成模式的隨機性,如果不在設計中添加測試點來幫助檢測,它就無法達到與ATPG相同的測試質量和覆蓋范圍。
然而,對于功能安全的應用和功能安全機制的實現,LBIST提供了極其有效的安全機制,能夠為被測邏輯提供非常?的診斷覆蓋率(DC)。這可以為設計人員提供一種自動化解決方案,即使不是更好,也可以與定制安全機制相媲美。
表 2 顯示了不同類型的安全機制及其對設計不同方面的適用性之間的比較。其中許多安全機制可以使用Austemper安全設計?具或Tessent 的BIST ?具自動插入或實施。
表 2:安全機制在測試覆蓋范圍、測試時間、芯片面積以及它們對設計功能操作的破壞程度之間提供了不同的權衡
使用LBIST 作為安全機制的缺點是功能操作的干擾或中斷。對于潛在故障診斷,功能操作的干擾或中斷不是問題,因為這些診斷通常在Key-On/Key-Off期間執行。但對于檢測到/感知到的故障,對功能操作的干擾越少越好。LBIST 在啟用時是一種破壞性技術,必須更改電路的操作才能使掃描鏈變為活動狀態,從而破壞設計存儲元件中存儲的數據。因此,LBIST 運行后必須重置電路。
設計人員越來越多地使用LBIST 作為檢查單點故障的機制。雖然具有破壞性,但越來越多的應用程序在運行操作期間存在執行BIST的時間窗口。安全架構師或安全經理有責任確定LBIST是否可以重復使用來檢測單點故障。
03
計算覆蓋率指標
使用LBIST 實現功能安全對指標提出了挑戰。目前還沒有好的方法將 DFT測試覆蓋率(TC)和故障覆蓋率(FC)指標與功能安全指標,例如診斷覆蓋率、單點故障指標(SPFM)和潛在故障指標(LFM)相關聯。
然而,設計人員可以使用現有的DFT和分析軟件來生成FMEDA (Failure Mode Effects and Diagnostics Analysis)所需的指標,以確定準確的故障率、故障模式和診斷功能。
DFT覆蓋率指標
為了計算LBIST 實現的測試和故障覆蓋率,采用與使用 ATPG 時相同的方法進行故障統計。LBIST的目標故障是基于特定的目標故障模型,是被測試的IC對象或組件的所有可能的故障。
在LBIST模式的故障模擬過程中,對完整的故障列表進行分析和模擬,以便為每個潛在故障給出特定的故障分類。這些分類推動了整體測試覆蓋率和故障覆蓋率計算。
功能安全診斷覆蓋率指標
功能安全診斷覆蓋率 (DC) 指標與 DFT 指標的不同之處在于,功能安全僅僅考慮那些可能直接影響應用程序安全目標的故障。因此,第一步是將設計中的故障分類為安全關鍵型故障和非安全關鍵型故障。
安全關鍵 – 可能違反安全目標并導致不安全操作的故障
非安全關鍵–不會導致設計不安全運行的故障
一旦我們有了這些分類,就可以進行故障模擬,以確定安全機制是否已成功實施并檢測到安全關鍵故障。
LBIST的診斷范圍
通過結合不同的技術,可以從成功實施的LBIST中準確計算單點故障度量診斷覆蓋率。采用LBIST的故障模擬流程來計算圖7a所示的DFT測試和故障覆蓋率指標,初始故障列表中的每個故障都被同等對待,無論它是否應該被分類為安全關鍵或非安全關鍵。
圖 7b 說明了添加安全分析如何對故障進行預分類:分為不同的功能安全類別。通過這種預分類,安全關鍵故障列表隨后可應用于LBIST故障模擬。
圖 7:(a) 標準 DFT LBIST仿真流程。(b) FuSa LBIST故障模擬流程
由此產生的診斷覆蓋率根據以下公式計算:
例子
以下示例展示了如何使用圖7b中的流程將功能安全故障分類添加到設計中的不同結構,以實現功能安全指標的正確計算。
圖 8 所示的設計顯示了具有三個 IP 的示例設計:
UART ——僅在車輛維護期間使用,正常運行時候不使用。
MCU ——功能的關鍵處理器,但是沒有內置的安全機制。
Sensor + SM ——傳感器IP,其中包括內置的專用安全機制,可以檢測傳感器在運行時候發生的故障。
然后添加LBIST 作為完整設計的附加安全機制。它被實現為定期運行,具有足夠短的診斷測試間隔(DTI),使得整體容錯時間間隔(FTTI)可以滿足,如圖9所示。
圖9:故障反應時間和容忍時間間隔
在添加LBIST之前,進行了全面的設計安全分析,并將故障分為以下幾類:
λSPF(危險故障)–在MCU 中,這些是單點故障,沒有任何安全機制覆蓋。
λMPF(多點故障) – 專用安全機制已涵蓋傳感器中的故障。
一旦對故障進行分類,就可以看到我們可以為 DFT 和功能安全提取不同的覆蓋率指標。例如:
LBIST DFT 故障覆蓋率:= 87%
單點診斷覆蓋率:= 95%
多點診斷覆蓋率:= 80%
04
結論
由于需要滿足 ISO 26262 對隨機硬件容差的要求,因此功能安全機制的實施成為任何汽車 IC 安全設計階段的關鍵部分。選擇最合適的安全機制對于實現所需的正確安全認證級別非常重要。LBIST是一種非常有效的安全機制,為基于數字邏輯的IP提供高覆蓋率。由于它可以將部分制造測試解決方案翻倍,因此使用LBIST作為安全機制還可以減少面積開銷。集成功能安全分析工具和 DFT 技術,使設計人員能夠準確提取診斷指標,從而改進了ISO 26262認證流程。
審核編輯:黃飛
-
mcu
+關注
關注
146文章
17123瀏覽量
350983 -
IC設計
+關注
關注
38文章
1295瀏覽量
103918 -
soc
+關注
關注
38文章
4161瀏覽量
218162 -
BIST
+關注
關注
1文章
15瀏覽量
13092
原文標題:如何通過BIST滿足功能安全要求
文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論