比較最後更新 2026年10月8日

ATPG與BIST的差異(測試圖樣在哪裡產生)

兩者都屬於 DFT(可測試性設計)框架下的技術,但測試的執行主體在外部還是內部,形成鮮明對比。實際的 SoC 會將兩者組合運用,一般的分工是記憶體用 BIST,邏輯用 ATPG 搭配掃描。

Verdict結論

差異在於「由誰產生測試圖樣、由誰判定結果」。ATPG 是將 EDA 工具事先產生的圖樣由測試機灌入,與期望值的比對也在測試機端進行。BIST 則是把圖樣產生電路與判定電路做進晶片內部,由晶片自己執行測試,只回傳合格與否。ATPG 的優勢在於高涵蓋率與詳細的故障診斷,BIST 的優勢則在於對測試機依賴低、能以實速運作,以及出貨後的自我診斷。

主要差異

ATPG(外部圖樣)與BIST(自我測試)依比較項目比較
比較項目ATPG(外部圖樣)BIST(自我測試)
圖樣產生由 EDA 工具事先產生由晶片內部電路即時產生(LFSR 等)
合格判定由測試機與期望值比對在晶片內部壓縮與比對(特徵值比對)
對測試機的要求需要大容量記憶體與多接腳只需啟動與讀出結果(低成本測試機即可)
測試資料量多(以壓縮技術削減)極少
故障涵蓋率高(能確實偵測鎖定的故障)依賴隨機圖樣,容易有漏網之魚
故障診斷擅長(以掃描診斷鎖定位置)不擅長(只有合格與否,位置資訊少)
面積額外負擔掃描鏈的部分(相對較小)多出產生與判定電路的部分,較大
出貨後的利用不可(需要測試機)可以(可用於開機時的自我診斷)

記憶體用 BIST、邏輯用 ATPG 的分工

記憶體結構規則,可用 March 圖樣之類的演算法進行全面測試。在內部產生圖樣很容易,而且位元數龐大,從外部灌入全部資料並不實際,因此記憶體 BIST(MBIST)實質上是標準做法。另一方面,隨機邏輯結構不規則,隨機圖樣難以偵測的故障會殘留下來,因此會使用能確實鎖定目標故障的 ATPG 圖樣搭配掃描鏈。這種分工是現代 SoC 之 DFT 架構的基本形。

測試成本的結構不同

ATPG 的圖樣數越多,測試機的記憶體用量與測試時間就越多,會長時間占用高階測試機。緩解這點的是測試壓縮,藉由壓縮外部資料再於內部展開,可將資料量削減1個數量級以上。相對地,BIST 的測試機只需送出啟動訊號並讀取結果,因此便宜的測試機也能執行,測試時間也較短。不過,它是以面積額外負擔的形式預先支付了矽成本。

出貨後能否使用

BIST 不可忽視的優點,是不只在製造時,在現場也能執行。若作為通電時的自我診斷內建,就能因應車用與工業設備所要求的運作中故障偵測(如 ISO 26262 這類功能安全要求)。ATPG 圖樣沒有測試機就無法執行,因此無法用於這種用途。這就是安全相關系統重視 BIST 的原因。

常見問題

ATPG 與 BIST 會併用嗎?
會,在現代 SoC 中併用是標準做法。記憶體區塊用 MBIST,隨機邏輯用掃描與 ATPG 圖樣,電路板組裝後的連接確認則用邊界掃描,依對象與目的分別運用,並從共通的 TAP(JTAG)啟動,這是常見的架構。
為什麼 BIST 的涵蓋率容易偏低?
因為內部產生的圖樣是 LFSR 等產生的偽隨機序列,並非為了刻意活化特定故障而設計。隨機圖樣難以偵測的故障(抗隨機故障,random-pattern-resistant fault)會殘留下來,因此會併用插入測試點以提高可偵測性的對策。
哪一種擅長實速測試?
BIST。因為以內部時脈運作,自然就能以實際工作頻率進行測試(At-Speed Test)。ATPG 也能進行實速的轉態故障測試,但需要測試機端的時序精度與高速時脈供應。

延伸閱讀


所屬主題