文章目錄
- Overview
- ATPG 的基本功能
- ATPG 的工作流程
- ATPG 應用場景示例
- 示例 1:檢測單個信號的 Stuck-at Fault
- 示例 2:針對 Transition Fault 的 ATPG
- ATPG 工具與常用工具鏈
- ATPG 優化與挑戰
Overview
本文主要介紹 DFT scan 中的 ATPG 功能。在 DFT (Design for Testability) Scan 流程中,ATPG (Automatic Test Pattern Generation) 是一種關鍵技術,用于生成測試向量以檢測半導體設計中的故障。以下是 ATPG 的詳細介紹及應用場景的舉例:
ATPG 的基本功能
-
生成測試向量
- ATPG 工具根據設計的網表和故障模型生成一系列輸入測試向量,這些向量用于檢測特定的邏輯故障。目標是覆蓋最大數量的潛在故障。
-
故障建模
- ATPG 通常基于故障模型生成測試向量,常見的故障模型包括:
- Stuck-at Faults (SAF):假設某一線被固定為 0 或 1。
- Transition Faults (TF):針對信號未能及時完成從
0->1
或1->0
的轉換。 - Path Delay Faults (PDF):檢測關鍵路徑上的時序問題。
- Bridging Faults:假設相鄰的兩條信號線被意外短路。
- ATPG 通常基于故障模型生成測試向量,常見的故障模型包括:
-
測試覆蓋率分析
- ATPG 工具評估生成的測試向量集能覆蓋多少百分比的故障。如果某些故障未被檢測,可以調整策略生成補充向量,或標記這些故障為未檢測(Untestable Faults)。
-
優化測試效率
- ATPG 嘗試最小化測試向量的數量,從而減少測試時間(Tester Time)和存儲需求,同時最大化故障覆蓋率。
-
邏輯仿真與驗證
- ATPG 工具會通過仿真驗證生成的測試向量對故障的實際檢測能力,確保測試覆蓋率符合期望。
ATPG 的工作流程
-
輸入準備
- 輸入包含設計的網表(Netlist)、DFT 插入的掃描鏈(Scan Chain)配置,以及時鐘、復位、約束等信息。
-
故障列表生成
- 工具根據設計自動創建可能的故障列表,包括上述的 Stuck-at 和 Transition 等模型。
-
生成測試向量
- 根據故障列表,工具逐個嘗試生成相應的輸入刺激和期望響應。
- 確保在掃描模式下,測試向量能導出到需要檢測的故障節點。
-
故障仿真與優化
- 將生成的測試向量在仿真環境中運行,驗證其對目標故障的檢測能力,并盡量合并冗余向量。
-
輸出測試集
- 生成的向量集通常以標準測試向量格式(如 WGL、STIL 等)輸出,用于實際 ATE(Automatic Test Equipment)測試中加載。
ATPG 應用場景示例
示例 1:檢測單個信號的 Stuck-at Fault
- 設計結構:假設一個簡單的 2 輸入 AND 門,其輸入信號為 A 和 B,輸出為 Y。
- 目標故障:信號 A 固定為 1(Stuck-at-1)。
- ATPG 步驟:
- 在測試模式中初始化掃描鏈,加載向量:
B=1
。 - 設置輸入:
A=0
。 - 檢查輸出:
Y=0
,以此驗證故障被檢測(實際應為 0,但因為 A 固定為 1,則輸出會錯誤)。
- 在測試模式中初始化掃描鏈,加載向量:
示例 2:針對 Transition Fault 的 ATPG
- 設計結構:一個復雜電路的關鍵路徑存在 Transition 故障。
- 目標故障:信號 X 上未完成 1->0 的轉換。
- ATPG 步驟:
- 在時鐘邊沿加載掃描模式數據,使 X 從初始狀態為 1。
- 在下一個激勵向量切換時,強制 X 置為 0。
- 驗證輸出延遲,檢查路徑時序是否滿足。
ATPG 工具與常用工具鏈
- 主要工具:常見的 ATPG 工具有 Synopsys TetraMAX、Cadence Modus 和 Siemens Tessent。
- 主要輸出:包括 Scan Pattern 向量(可能為多種格式,如 STIL、WGL)、故障覆蓋報告、測試時間預測等。
- 整合流程:
- 與 DFT 插入緊密結合,確保 ATPG 支持插入的掃描鏈結構。
- 配合 ATE,在晶圓或成品測試階段檢測可能的生產缺陷。
ATPG 優化與挑戰
-
優化掃描鏈
- 合理的掃描鏈長度和分布可以顯著減少 ATPG 測試向量的數量。
-
故障逃逸問題
- 設計中未建模的故障(例如工藝缺陷引起的橋接問題)可能逃逸。針對這些問題,可以額外增加針對性的故障模型。
-
性能瓶頸
- ATPG 的計算復雜度隨設計規模線性或超線性增加,大型 SoC 上需要分區生成以提升效率。
通過 ATPG 技術,設計者可以有效發現芯片內部邏輯或制造過程中的潛在問題,顯著提高設計的可測試性和最終產品的質量。