由人工智慧驱动的设计应用
英文原文:
2021年 1月12日於《Semiconductor Engineering》刊登
過去,IC 測試是设计流程中的最後一項工作。首先要设计出晶片,然後編寫功能性測試程式去验证製造出來的晶片運作狀況是否如預期。功能測試程式中某些部分經常會被重複用於製造測試,以確定晶片的设计是否有缺陷,因此不需花太多心力。
時至今日,一切有所不同。雖然現今依然有验证晶片功能性和篩檢晶片缺陷的必要,但實現此目標的方法更加複雜。设计複雜度顯著增加的同時,測試的方法也越趨成熟。可測試性设计(DFT)現在已是一門有明確定義的學問,可用以處理複雜 SoC 的可測試性。在早期设计的 RTL 階段嵌入 DFT 可實現早期验证,但這種方法對於功耗、性能和面積的優化並不十分有效。若是在设计後期嵌入 DFT,則能達到較高的PPA優化,但會使验证的步驟延後而導致進度延遲。這些交互影響因素顯示出 DFT 的「陰」與「陽」。讓我們來檢視這兩股相反的力量,瞭解為什麼在设计最初、最終以及其間的所有環節都必須考慮進行 SoC DFT。
這是個複雜度管理的情況。大型的设计,就需要複雜且類似的大型測試策略。DFT 複雜度持續增加的範例包括:
為了實現早期验证,可以在设计的 RTL 階段實施 DFT,進而完成早期验证,並更加容易實現DFT交互邏輯的偵錯。這類的验证和偵錯通常是以 Verilog代碼進行模拟,往往會比閘級(gate-level)電路仿真更有效率。雖然這個方法可顯著提升生產力,但由於 RTL DFT 中並不包含物理性的合成指南,所以它仍然不是最佳的 PPA。
正如设计技術不斷擴展以支持各式各樣的 DFT 方案,Design Compiler NXT&苍产蝉辫;和&苍产蝉辫;Fusion Compiler 等合成工具也為了支援這些技術的物理性嵌入而有所擴展。這種 DFT實作方法可輕鬆應用在多種设计中,並利用合成技術確保最佳的 PPA。
問題在於,直到能提供含有嵌入DFT結構的閘級電路網表(gate-level netlist)之前,這個方法可能會延後验证的步驟,所以會降低设计項目的速度。下圖說明這項挑戰。
要處理 DFT 的陰/陽問題,就需要全新的嵌入DFT與验证方法,一種能在 RTL 對主要 DFT 元件進行準確且早期的验证,並且能無縫交遞到下游的合成和底層底层DFT 實作。此方法可以實現全设计的早期验证,讓下游的 DFT 工作,包括:掃描鏈重新排序、核心包覆、壓縮結構在物理層的擁塞優化、測試點等,能與完整流程無縫融合。此方法稱為左移,如下圖所示。
新思 TestMAX 系列产物提供實施左移 DFT 验证與實作流程的完整解决方案,應用複雜的DFT设计方法在複雜的電路设计上,同時滿足早期验证與最佳 PPA。TestMAX 系列的主要功能包括: