自動駕駛汽車是數十個高度復雜系統的集大成者,它將最先進的技術融入電子硬件、傳感器、軟件等。構思和設計這些系統無疑是當今工程師面臨的最大挑戰之一。唯一更大的挑戰是讓謹慎的公眾相信這些自動化系統比預期更安全。根據美國汽車協會(AAA)最近的一項調查,71%的美國人表示害怕乘坐無人駕駛汽車。公眾對自動駕駛的看法仍然是成功的最大障礙。
自動駕駛汽車制造商需要展示他們開發的自動駕駛系統的各個方面的安全性和可靠性,從而建立與公眾的信任,并平息他們的恐懼。除了軟件外,為這些系統提供支撐的先進集成電路(IC)和SoC硬件也將成為關鍵問題。為此,汽車行業建立了一套專注于電氣和電子系統安全的流程和標準,稱為功能安全。
功能安全的目標是降低電氣和電子元件因故障而發生失效的風險。在汽車行業,這些流程和要求已在ISO 26262標準中規范化。ISO 26262要求對電子設備進行隨機硬件故障和系統故障測試。
系統性故障是指防止IC或SoC根據產品規格正常運行的故障。這些可能是設計錯誤、硬件/軟件接口問題、誤解或不完整的規范等等。隨著時間的推移,IC行業積累了大量用于處理系統故障的知識、工具和流程。相比之下,該行業的經驗較少,也沒有能力發現和解決隨機硬件故障。隨機硬件故障是不可預測的,并且會隨著IC的運行而發生。
ISO 26262要求芯片在發生隨機硬件故障時繼續工作或者失效安全。確保IC隨機故障失效安全需要四個關鍵過程(圖2):
·生命周期管理:覆蓋從計劃到合規的功能安全生命周期。包括變更、配置、項目、需求、質量保證和審計/合規管理。生命周期管理過程在整個開發過程中持續開展。
·安全分析:幫助設計人員了解設計如何因隨機硬件故障而失效。故障模式和影響診斷分析(FMEDA)識別設計的潛在故障模式、故障率、每種模式將如何影響其功能,以及自動診斷將捕獲每種故障模式的概率。然后,工程師進行安全差距分析,以確定達到其安全目標所需的安全改進。
·安全設計:通過增強設計以減輕隨機硬件故障造成的潛在故障。這是通過在設計中插入檢測和糾正錯誤行為的安全機制來實現的,確保設計運行安全或者失效安全。
·安全驗證:通過故障注入過程驗證一組故障度量指標,來證明設計是安全的。故障指標集包括單點和潛在故障指標(SPFM/LFM)以及診斷覆蓋率(DC)。
圖2:安全IC設計的四個關鍵過程。
這些過程在閉環流程中運行,每個過程的結果都會通知下一步。這對于解決隨機硬件故障和一次性構建安全的IC設計至關重要。我們簡要討論一下這些流程和高級驗證技術,它們可以提高驗證工程師在每個階段的效率。
生命周期管理
ISO 26262包括設計變更、測試結果和安全指標的跟蹤和管理指南。許多公司仍然依靠他們的工程師手動跟蹤和收集這些信息。手動方法速度慢,容易在記錄的數據中引入錯誤,并且無法將重要信息鏈接在一起,使得追溯變得困難。因此,工程師在為審計和評估創建必要的工作產品之前,會花時間將信息拼湊在一起。隨著汽車IC的日益復雜,手動需求和合規性管理已不再足夠。
需求驅動的驗證流程對于在汽車IC業務中競爭的公司至關重要。應用程序生命周期管理(ALM)解決方案,通過為整個功能安全流程提供數字主干,來實現需求驅動的流程。ALM為工程師提供了證明關鍵汽車電子設備功能安全所需的信息,從而消除了手動收集這些數據的耗時過程。
安全分析
有了生命周期管理解決方案,證明功能安全的第一步是安全分析。安全架構師通常首先通過創建故障模式和影響診斷分析(FMEDA)來識別設計的故障模式,然后計算設計的基礎失效率 (FIT),并估計單點故障和潛在故障指標(SPFM/LFM)。然后,安全架構師可以探索需要提高安全性的設計領域,并確定適當的安全機制以滿足目標安全等級(圖3)。
圖3:安全分析確定了設計的故障模式和合適的安全機制。
在改進設計后,安全分析期間生成的指標將作為安全驗證階段比較的基準。此類分析應在設計的架構級別進行,以生成最準確的數字,從而增加在第一次創建安全IC的可能性,進而節省成本高昂且耗時的迭代。
安全設計
既然工程師已經制定了讓他們的設計更安全的計劃,那么根據安全分析,下一步就是在設計中插入安全機制。先進的解決方案能夠將安全機制自動插入RTL,以實施運行時設計強化技術(即ECC、CRC、奇偶校驗、重復、復制)。這些機制是基于硬件的,直接解決永久和瞬態單點故障。然后,工程師可以插入邏輯和內存內置自測(LBIST/MBIST)結構,以及用于這些引擎運行的控制器。這些片上測試可以識別現場發生的潛伏故障,從而提高汽車芯片的長期安全性和可靠性。
安全驗證
最后,必須通過觀察其出現故障時的行為方式,來驗證改進的芯片設計是否安全。安全驗證從使用安全分析階段生成的故障列表開始。然后,故障仿真用于將這些故障注入設計,產生一組新的故障度量,以證明在安全設計期間插入的安全機制的有效性。
故障仿真用于驗證設計中識別的大部分故障。在RTL級別,IC設計的所有網絡、寄存器和端口都可能存在故障。再往下一層,門級網表的故障可能會多很多倍,達到數百萬。考慮安全指標會進一步增加潛伏故障的數量。此外,汽車SoC包含數字和模擬/混合信號電路的混合,增加了潛伏故障數量,并且需要可以跨數字和模擬/混合信號模塊執行故障注入的解決方案。
為了保持仿真時間可控,工程師使用一系列技術來縮小故障活動或故障列表的范圍,這被稱為故障優化。一個例子是故障抽樣,隨機選擇數千個故障樣本。這減少了在安全驗證期間需要激活的故障數量。
對于大多數功能,沒有必要針對所有可能的故障驗證設計的安全性。但是,安全關鍵組件需要全面驗證,以確保它們完全沒有錯誤。即使是在相對平常的驗證中實現這種級別的驗證,也會很快超出仿真的能力。
因此,在安全關鍵設計中使用形式驗證已廣受歡迎,因為它通過大幅減少輸入條件實現了所需的驗證級別。形式驗證設計“廣度優先”,自動考慮所有可能的輸入條件。從這里開始,形式驗證可以分析給定初始條件下可達到的所有狀態集。結果是一組最壞情況的安全指標,這些指標說明了設計中所有可能的故障。
除了通過形式化技術優化故障列表外,容量更大的驗證引擎還可以進一步縮短驗證時間。硬件仿真以兆赫(MHz)的速度在硬件設計中執行測試,比仿真快幾個數量級。這使得系統驗證能夠在芯片設計在流片之前開始,并提供對硬件設計的全面可見性,以實現高效調試。此外,仿真支持安全關鍵型汽車應用的故障注入、監控和結果分析。
無人時代的功能安全
在盡早進入市場的巨大壓力下,汽車初創公司、老牌原始設備制造商和系統公司將需要一套先進的驗證工具來按時滿足這些嚴格的安全要求。當他們面對令人印象深刻的復雜芯片時,驗證團隊將依靠強大的生命周期管理流程、自動化以及模擬、仿真和形式化技術的組合來確保無人系統IC的安全性。
審核編輯 :李倩
-
IC設計
+關注
關注
38文章
1299瀏覽量
104176 -
soc
+關注
關注
38文章
4193瀏覽量
218757 -
自動駕駛
+關注
關注
784文章
13918瀏覽量
166783
原文標題:如何加速自動駕駛SoC芯片的功能安全驗證
文章出處:【微信號:阿寶1990,微信公眾號:阿寶1990】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論