故障模擬技術如何跟上日益增加的晶片複雜度的腳步?

對晶片設計團隊來說,在努力研發規格嚴苛的晶片以能符合目標應用時,關鍵時刻通常發生在晶片驗證流程中。具體而言,故障模擬(fault simulation)是一個關鍵的驗證步驟,讓晶片設計人員取得晶片對故障或錯誤的恢復能力的指示。然而,為滿足自動駕駛汽車、醫療設備和軍事/航太工業系統等關鍵任務應用的需求,日益增加的晶片複雜度讓故障模擬這一步驟變得更加困難。

故障模擬技術如何繼續因應現今對複雜晶片的需求呢?面對高度要求的安全和復原目標時,又該如何因應呢?

在這篇部落格文章中,我們將討論故障模擬的挑戰、現行可用故障模擬技術的革新、在設計中納入功能安全考量的原因,以及統一的驗證方法正朝正確的方向邁進。

防止晶片設計錯誤

以往故障模擬通常在設計投片(tapeout)後進行;理想上,此時不應發生太多變更。一旦當變更有可能造成重大影響時,工程師期望能儘早進行模擬的工作,以便讓他們可以在此變更對整體造成更大影響前著手強化測試模式。有效的故障模擬在半導體生命週期橫跨三個主要階段:

  1. 在開發階段,故障模擬應能說明和記錄設計與驗證流程的穩健度。換句話說,故障模擬可以保證實作工具和流程不會導致設計錯誤(系統性故障),同時,功能驗證工具和流程也不致於無法回報設計錯誤。這也意味著能確保設計驗證方法足夠穩健,進而有高度信心可做到零瑕疵。
  2. 在製造階段,故障模擬藉由觀察可測試性設計(design for test; DFT)的功能模式,有助於減少因隨機故障造成的每百萬顆的瑕疵數(DPPM)。
  3. 最後,在晶片執行作業的階段,故障模擬會說明並記錄安全機制是否正常作業。安全機制會在出現故障行為的情況下啟動(反之則無),且能為達到安全的設計狀態產生作用。

故障模擬流程會查看設計中的所有潛在錯誤,並判定是否可以偵測到它們。應評估的設計覆蓋目標,或所謂的診斷覆蓋率(diagnostic coverage; DC),是基於設計的安全關鍵程度。舉例來說,用於先進駕駛輔助系統(ADAS)的 SoC,其穩定性直接影響生命安全,相較於用於一對無線耳塞式耳機的 SoC ,要具有更高的覆蓋目標(可能會需要高達 99%)。但是,如果只能達到 97% 的覆蓋率時該怎麼辦?要如何拉近覆蓋差距?

在判定是否可以偵測到設計中的潛在故障的同時也能實現高診斷覆蓋率,是一項深具挑戰性的工作。該流程需要判定在不同的情況下測試設計的大量測試工作台(testbenches)或stimuli是否已足夠;這是一個看似無窮無盡的命題,沒有明確的方式可以判定每個測試工作台或stimuli之於故障覆蓋率的重要性。

此外,隨著晶片設計日益繁複和龐大,將需要更長的時間執行模擬。試想一下,必須模擬多達幾百萬個故障才能估量診斷覆蓋率!更偟論還需要確保某些攸關安全的設計的功能安全合規性。眾所周知,這個流程已經讓整個功能驗證工作增加 30%,其中,故障模擬更是不可或缺的一部份。

故障模擬和功能驗證如何攜手合作

功能驗證涉及測試晶片設計的各種功能,確保設計在目標參數內運作,並依據這些參數得到正確結果。換句話說,設計是否能如預期執行?在故障模擬中,問題會變成:如果在設計中注入造成設計失敗的錯誤,是否能偵測到這種情況會發生;猶有甚者,設計是否仍能依照其應執行的方式順利運作?測試環境是有效的嗎?如果發生故障,目前的設計是否有足夠的韌性來持續運作呢?

功能驗證和故障模擬兩者都有自己的覆蓋率指標。然而,為了提高效率,設計人員通常會查看他們可以如何利用功能驗證中的測試機制來進行故障模擬。在這兩種情況下,要執行幾乎是無止境的測試,才能徹底驗證設計。當然,「無止境」不盡然能協助達成上市時程目標,畢竟手動撰寫軟體測試庫是屬於勞力密集的任務。因此,任何自動化功能驗證和故障模擬的技術都可以大幅提高設計產能。

功能安全合規性增加了另一個轉折點。舉例來說,攸關安全的汽車應用依循 ISO 26262功能安全標準。ISO 26262為汽車安全完整性等級(ASIL)的風險分類系統描繪一個輪廓,目的是要降低電氣電子(E/E)系統故障行為導致的潛在危險。ASIL D 代表最嚴格的層級,應用於 ADAS 等汽車應用。從故障模擬的觀點來看,驗證工程師需要穩健的診斷測試來驗證安全機制是否依循 ISO 26262 和 IEC 61508 工業安全標準的要求。在像是 ASIL D 等更重要的層級,覆蓋需求也將在更高層級,相關安全機制應更具韌性,且因此穩健。

透過自動化加速故障模擬

最終,驗證工程師持續面臨到縮短測試周轉時間的壓力,需要一個能將故障注入工作減少至最低限度的方法。將自動化功能從功能驗證延伸至故障模擬的統一平台(例如:新思科技統一功能安全驗證平台)可能就是解決的方法。該平台包括:

  • 新思科技 VC Z01X™ 同步故障模擬解決方案,該方案在數位汽車裝置中注入故障,模擬其帶來的影響,以加速穩健診斷測試的開發,並驗證安全機制是否符合 ISO 26262 和 IEC 61508的故障注入要求。新思科技 VC Z01X 解決方案有多種回報機制,該機制可協助設計工程瞭解設計覆蓋率低的原因和位置。深入了解後,將能更清楚瞭解是否需要寫入新的測試模式或進行設計變更。
  • 新思科技 VC 功能安全管理器,是一種具可擴展性、自動化且全方位的故障模式與影響分析(FMEA)以及故障模式、影響和診斷分析(FMEDA)的解決方案。
  • 新思科技 VC Formal™ 功能安全應用程式,使用新思科技 Verdi®自動化偵錯系統,提供全面分析和偵錯,以快速識別根本原因所在。新思科技 Verdi 偵錯系統檢查概要圖解並標註發生故障的位置,有助於提高偵錯流程程的效率。
  • 新思科技 TestMAX FuSa 功能安全分析解決方案,可在RTL 或邏輯閘層級網表(gate-level netlist)等設計流程的先期執行分析,幫助改進 ISO 26262 功能安全指標。
  • 新思科技 PrimeSim™ Continuum將次世代電路模擬技術的工作流程統整為一,提供類比故障注入。

新思科技 ZeBu® 模擬系統,可加速故障模擬的速度。

新思科技統整為一的功能安全驗證平台。

藉由該平台的新思科技 VC Z01X 元件,可以將功能驗證測試工作台重複用於故障模擬,因此無需額外的邏輯模擬設置工作。除了加快覆蓋收斂路徑外,新思科技 VC Z01X 解決方案還提供包括軟體驗證、形式驗證和硬體模擬的完整故障測試環境。功能安全驗證平台提供有關測試工作台有效性的情報。舉例來說,假設有 100 個測試案例,在對測試工作台和電路活動進行一些分析之後,該平台可能會判定其中只有少數幾個提供了有價值的故障覆蓋率,而其他的基本上是在浪費模擬週期。針對功能安全合規性,新思科技整合解決方案有助於驗證ASIL 目標是否已實現。

故障模擬技術接下來的發展

多年來,從優化元件以加速流程到更高效率的記憶體模擬,故障模擬技術已經發展到可以提供更有效的模擬。現在已出現不同故障模型的發展趨勢。新思科技的技術是注入基於模型的故障,專門設計用於模擬硬體的瑕疵。隨著晶片尺寸縮小,新興模型持續發展,模仿我們所看到的新效應,像是低速導通孔(slow vias)、橋接和電磁干擾。

日益增加的晶片設計複雜度,將需要運用可用記憶體的新方法和加速模擬時間。新思科技的完整的功能安全驗證平台提供建置基礎。雖然是關鍵步驟,但故障模擬本身並不能涵蓋所有方面,尤其是在功能安全方面。從架構到合成再到佈局,一個可利用故障模擬以及所有其他類型的驗證和偵錯的完整解決方案,在晶片設計邁向未來發展之途將是不可或缺的。

瞭解更多:「故障模擬的功能驗證」線上研討會

歡迎點選觀看Functional Verification to Fault Simulation: Considerations and Efficient Bring-Up線上研討會,深入瞭解新思科技故障模擬解決方案。