草榴社区

別讓X成為阻礙 Logic BIST 的問題

英文原文:

2021年 10月12日於《Semiconductor Engineering》刊登

當積體電路 (IC) 或晶片應用於汽車、医疗和航太等安全攸關的地方時,一旦發生故障,就可能會導致災難性的後果。這些故障可能肇因於生產測試中未檢查出的晶片缺陷,或者是在系統運行期間,因作業環境等因素而發生的暫態故障。為了避免此類故障,IC 需要嚴格的生產測試來實現低於百萬分之一的缺陷率 (DPPM),也需要進行系統內測試(in-system test),以確保晶片能符合 ISO 26262 標準所定義的系統運作過程中的功能安全需求。IC 设计人員通常會根據先進的故障模型,例如單元認知、路徑延遲、轉換測試等,來產生掃描測試向量圖型(scan test patterns),以達到優良的測試品質目標,並加入 Logic BIST 等可測試性设计 (design-for-test, DFT)進行系統內測試。

Logic BIST 是系統內測試的關鍵 DFT 元件,用於測試设计中记忆体以外的其他邏輯部分。有別於利用自動測試設備(ATE),藉由掃描測試引腳(scan test pin)加載測試向量圖型的掃描測試,Logic BIST 利用偽隨機向量圖型產生器 (pseudo-random-pattern-generator, PRPG) 在晶片上產生測試模型,測試向量的結果透過多輸入移位暫存器 (multiple-input-shift-register, MISR)累加,成為一個特定簽章符號 (signature)。MISR 簽章會與晶片上或晶片外的預存的簽章符號進行比較,以確定測試狀態是「通過」還是「失敗」。除了高測試覆蓋率的要求之外,由於攸關安全性的應用IC 系統內測試必須要在晶片功能性作業期間執行,因此其測試時間必須很短。影響 Logic BIST 測試時間和覆蓋率的主要因素之一,是设计中產生未知 (即 X) 模拟值的路徑,因為 X 會破壞多個測試模型或測試間隔中累積的 MISR 簽章符號。這個問題會導致測試覆蓋率降低,或者需要增加更多測試向量圖型,以滿足測試覆蓋率需求,因而導致測試時間增加。標準的 Logic BIST 解决方案需要完全沒有 X的设计(X-clean design),才能避免這個問題。

造成X 出現在设计開發週期不同階段的原因有很多,包括電路设计還未被模拟验证、沒有设计初始化,以及在靜態時序分析(STA)中未考量到的時序路徑。在常規 Logic BIST设计中,设计人員可以藉由變更设计來消除 X,或者在測試模型產生期間對掃描鏈(scan chain)採用遮罩法 (masking) 來處理 X,但後者可能會影響设计進度或對測試品質造成影響。為了在進入佈局佈線流程之前消除 X,设计人員通常會選擇更改设计而非掃描鏈遮罩法,因為在這個階段更改设计的周轉時間比較短 (如圖 1 所示)。然而,在佈局佈線完成之後,隨著時序資訊增加,新的 X 通常也會出現。如圖 2 所示,在這種狀況下,设计人員被迫要作出取捨,是要更改设计或重新设计而導致進度嚴重延誤,還是採用掃描鏈遮罩法而導致測試品質下降。在矽後 (post-silicon) 階段,未知的邏輯值還會帶來更嚴峻的挑戰。在現今激進的设计和技術節點之下,因複雜的故障模型、時序邊緣性和作業參數變化等因素,要預測在矽後階段出現的未知數值幾乎是不可能的任務。如圖 3 所示,由於在晶片中無法進行设计變更,因此唯一的選擇就是採取掃描鏈遮罩法,犧牲測試覆蓋率和測試時間。基於這些因素,设计人員若使用標準 Logic BIST,就必須犧牲设计進度或測試品質。

圖 1:在進入佈局佈線流程之前消除 X 的设计流程

圖 2:在進入佈局佈線流程之後消除 X 的设计流程

圖 3:在矽後階段處理设计中未知數值的工作流程

X 容差 (X-tolerant) 的 Logic BIST,例如 TestMAX XLBIST,可以將X 在掃描鏈遮罩法中對於測試品質的影響降到最低,同時消除變更设计的需要,讓设计人員不必再做取捨。TestMAX XLBIST 可以針對包含 X 的掃描單元(scan cell)進行動態遮罩,而不需對整個掃描鍊進行遮罩,因而導致嚴重的測試覆蓋率損失。掃描單元遮罩法可以觀察掃描鍊,在大多數狀況下,可以達到與無 X设计相近的測試時間和覆蓋率,而無需負擔相關的間接費用。TestMAX XLBIST 可以聰明地利用其 PRPG 重複加載種子數據的 (re-seeding) 能力、動態 X 容錯解碼器和 X 遮罩 (X-masking) 解碼邏輯來實現測試目標 (如圖 4 所示)。圖 5 顯示針對指定數量的模型種子的測試覆蓋率與模型數目的比較。

圖 4 (左):TestMAX XLBIST 架構

圖 5 (右):TestMAX XLBIST 以多種子實現高覆蓋率

除了測試時間和覆蓋率的要求之外,攸關安全應用的 IC 也需要透過其功能性作業中不同階段的測試,從而確保能及早發現並減輕任何潛在的缺陷及其影響。TestMAX XLBIST 可支援三個主要階段的系統內測試:開機系統測試 (POST)、功能性作業期間測試和關機系統測試。TestMAX XLBIST 架構也支援製程測試中的決定性測試向量圖型 (deterministic test pattern) 生成,讓晶片在同時需要製程測試和系統內測試時,可以不需要另外的掃描鏈壓縮/解壓縮邏輯(codec logic)。除了 X 容錯的功能之外,TestMAX XLBIST 還可以產生功率感知 (power-aware)優化的系統內測試向量圖型。它還支援以進階故障模型為基礎的的系統內測試模型,包括單元感知、路徑延遲和轉換測試的測試模型。

在現今充滿複雜设计的競爭環境中,设计人員不可能在 IC 设计進度和測試品質之間做出取捨,在攸關安全應用方面尤其如此。透過重複更改设计來實現無 X 设计,或者根據標準 LBIST 規定採用更多測試模型來達成測試目標,已經無法讓人滿意。TestMAX XLBIST 在實現無 X 设计方面表現最佳,同時不必更改设计或對全掃描鏈採用遮罩法就可以處理含有 X 值的设计,因此可以同時滿足设计進度和測試品質的目標。