草榴社区

故障模拟技术如何跟上日益增加的晶片复杂度的脚步?

本文原文由张贴

英文原文:

對晶片设计團隊來說,在努力研發規格嚴苛的晶片以能符合目標應用時,關鍵時刻通常發生在晶片验证流程中。具體而言,故障模拟(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线上研讨会,深入瞭解新思科技故障模拟解决方案。