一、芯片生產(chǎn)過程所引入的問題:
硅片在制程上可能有以下問題:
1、污染造成金屬線開路
2、突出的金屬導(dǎo)致短路
3、注入摻雜不夠
4、制程或掩膜錯誤
5、金屬meta層橋接問題
6、過孔的開路問題
7、CMOS晶體管常開/常關(guān)
8、制程問題導(dǎo)致晶體管trans過慢
以上圖為例,一個非門的版圖,可能存在輸入斷開,輸入短接至GND,輸入短接至VCC。生產(chǎn)出來的芯片無法保證100%沒問題。
制程外可能有如下問題:
1、材料缺陷——大塊缺陷(裂紋、晶體缺陷),表面雜質(zhì)(離子遷移)
2、時間相關(guān)故障——介質(zhì)擊穿、電遷移(線很細(xì),電流很大,電子沖擊連接處,慢慢接觸部分越來越細(xì))
3、封裝故障——接觸點退化、密封泄露
二、硅后測試
因此在芯片生成后,需對其進(jìn)行測試,ATE(自動測試設(shè)備)會向芯片發(fā)送測試激勵,然后比較返回的激勵與期望激勵是否一致,不一致的說明有問題,會將其定為缺陷芯片,以此將好的芯片區(qū)分出來。隨著設(shè)計規(guī)模越來越大,工藝尺寸越來越小,?測試成本不斷提高,為降低測試成本和難度,提高芯片質(zhì)量和成品率,需要為芯片進(jìn)行可測試設(shè)計。
以測試階段可分為以下三種:
1、Wafer?sort(CP,circuit probe)
測試wafer上面每個die的邏輯,該項測試最完善,封裝前測試出有問題,馬上篩除節(jié)約成本,該階段也稱為CP綜測。
2、Final Test(FT):測試封裝后的芯片
3、Board test:板級測試
測試質(zhì)量的評價:
經(jīng)過測試后每百萬片故障的比例DPM(Defective parts per million),200DPM(0.02%)才符合測試標(biāo)準(zhǔn)。Defect level計算公式如下:
其中Y為良率,F(xiàn)C為測試覆蓋率(Fault Coverage)。
三、SOC芯片的DFT策略:
SOC是在同一塊芯片中集成了CPU、各種存儲器、總線系統(tǒng)、專用模塊以及多種I/O接口的系統(tǒng)級超大規(guī)模集成電路。ASIC是專用于某一方面的芯片,與SOC芯片相比較為簡單。由于SOC芯片的規(guī)模比較大、內(nèi)部模塊的類型多樣,因此SOC芯片的DFT面臨諸多問題。SOC中不同部分測試策略也不同:
標(biāo)準(zhǔn)單元——基于SCAN的測試
存儲器與模擬模塊——BIST
硬核IP、軟核IP——BIST,SCAN
封裝與IO——Boundary Scan
SOC的全面測試包含以下:
①VOH/VOL:輸出高/低時的電壓
②IIH/IIL:輸入高/低時的電流
③IOH/IOL:輸出高/低時的電流
④IDDQ:靜態(tài)漏電流測試
對CMOS來說,輸入阻抗很大的,輸出阻抗很小的,這要求輸入電流必須在某個水平之下,而輸出電流必須在某個水平之上。
2、基于SCAN的測試
將寄存器替換為可掃描的寄存器(D端輸入插入mux)然后串在一起形成掃描鏈。在測試模式下,將測試序列順次移入掃描鏈,這些值經(jīng)過組合邏輯后,再通過另一條掃描鏈將結(jié)果傳出。
3、Memory BIST,Logic BIST,Analog test
MBIST用于存儲器測試,典型的MBIST包含測試電路用于加載,讀取和比較測試圖形。目前存在幾種業(yè)界通用的MBIST算法,比如“March”算法、Checkerboard算法等。
LBIST通常用于測試隨機(jī)邏輯電路,一般采用一個偽隨機(jī)測試圖形生成器來產(chǎn)生輸入測試圖形,應(yīng)用于器件內(nèi)部機(jī)制;而采用多輸入特征寄存器(MISR)作為獲得輸出信號產(chǎn)生器。LogicBIST一般用于Scan Based Test的補(bǔ)充。
AnalogBIST則用于模擬電路的自我測試。
簡單來說BIST是自己產(chǎn)生激勵,自己比對,給出測試結(jié)果,無需在ATE上輸入激勵測試。
4、Boundary SCAN
邊界掃描可用于測試PCB或芯片內(nèi)部的互聯(lián),此外還可作為調(diào)試工具,觀測芯片內(nèi)部寄存器,配置等功能。ATE上主要是測試die上的PAD與封裝后金屬引腳互聯(lián)的這一段測試。
5、function pattern
用于補(bǔ)充SCAN測試,主要是功能上的測試。
6、ESD測試
靜電測試。
三、DFT在flow中的位置
DFT的主要部分都是在中后端實現(xiàn)的,前期可以插入DFT類rtl,綜合之后整體插入scan,布局布線后生成ATPG測試激勵。
四、Scan Based Test詳細(xì)介紹
rtl中普通的寄存器是不可掃描的,需在D端插入MUX才是可掃描的,這一步可以在DC中加參數(shù)來自動插入。然后將這些寄存器連在一起形成掃描鏈。當(dāng)SE為高電平時將激勵從SI端口輸入進(jìn)去,這些激勵與A/B經(jīng)過組合邏輯后輸出至Y。
這里還需再了解下Fault模型:
1、Stuck-at?Fault——用于低速測試
最常見的一類故障模型。它分為"Stuck-at 1"和“Stuck-at 0”,用來模擬器件間互連的短路和短路故障。
如上圖,要測試SA1/SA0需要AB端口給出不同的激勵,工具有算法自動推導(dǎo),這類故障都是在慢速時鐘下測試的,統(tǒng)稱DC SCAN。
2、At-Speed Fault——用于高速測試
這種故障模型主要用于高速的測試,用片上PLL時鐘測試,需要插入OCC電路,OCC的基本原理是在scan shift模式下,選中慢速的ATE時鐘進(jìn)行l(wèi)oad測試向量和unload測試結(jié)果,在capture模式下,對free-running的PLL clock過濾篩選launch和capture clock進(jìn)行at-speed測試,這類測試統(tǒng)稱AC SCAN。主要分為兩大類:
①Transition Fault Model:
a、STR——Slow to Rise
從0跳變至1,是否存在轉(zhuǎn)換延遲的gate;
b、STF——Slow to Fall
從1跳變至0,是否存在轉(zhuǎn)換延遲的gate;
②Path Delay:
Path Delay: 最大延時路徑測試。相對于transition test想去覆蓋大多數(shù)的function path,delay test更關(guān)注critical timing path,生成delay test pattern,一般需要讀入一個timing report,里面記錄那些slack非常小的path,工具會根據(jù)report的begin end point產(chǎn)生pattern。
D算法是Scan Based Test的基礎(chǔ),可以認(rèn)為是拓?fù)浣Y(jié)構(gòu)測試中最經(jīng)典的方法,也是最早實現(xiàn)自動化的測試生成算法之一。它是完備的測試算法,它可以檢測非冗余電路中所有可以檢測的故障。
下面具體說明Scan Test工作步驟:
上圖中有兩條掃描鏈:Scan Path1和Scan Path2,左側(cè)的端口為Primary Inputs,右側(cè)的端口為Primary Outputs。
1、Scan Shift,兩條掃描鏈移位in
2、給Primary Inputs Force值
3、觀測Primary Outputs
4、捕獲虛擬輸出
5、Scan Shift,兩條掃描鏈移位out
時序圖如下所示:
圖中當(dāng)scan_en為低時選擇function mode,這里有兩個時鐘脈沖,一個為Launch,意思是第一條掃描鏈1的移位寄存器中包含function邏輯,并將相應(yīng)值輸出至Q端,Capture用于掃描鏈2捕獲來自掃描鏈1的輸出值。
在整個掃描過程中實際上測試了三部分邏輯:
1、PI到掃描鏈1中間的組合邏輯;
2、掃描鏈1和掃描鏈2中間的組合邏輯;
3、掃描鏈2和PO之間的組合邏輯;
這里還需了解下full scan和near full scan,full scan是一個時鐘周期完成capture的掃描鏈,非full scan可能需要多個時鐘周期才能將capture值拿到。
OOC電路如下所示,主要用于ATE慢速時鐘和片上PLL快速時鐘的動態(tài)切換,一般由工具自動插入。
SCAN Chain在綜合后插入,工具DFT Compiler已被合并進(jìn)DC中。
插鏈后的網(wǎng)表就可以使用TetraMAX軟件來生成ATPG以及測試覆蓋率。
四、BIST詳細(xì)介紹
RAM的BIST如下所示,在測試模式下由內(nèi)部狀態(tài)機(jī)控制執(zhí)行比較操作,當(dāng)比較失敗時會拉高指示信號。
對于ROM而言,需要將結(jié)果拿到片外進(jìn)行比較,因為ROM中固化的數(shù)據(jù)可能是不一樣的。數(shù)據(jù)經(jīng)過HASH壓縮后輸出至ATE進(jìn)行比較。Logic BIST與ROM的BIST類似,都需要將結(jié)果拿到ATE上面比較。
對于存儲器而言,與其相連的前后級寄存器在SCAN中掃描不到,因此可將前后端用寄存器連接起來,這樣掃描鏈就可包含了。
五、Boundary Scan
邊界掃描不僅可以測試板上芯片的連接關(guān)系,也可用于測試package內(nèi)die的die的互聯(lián)。
JTAG的結(jié)構(gòu)如下圖所示:
當(dāng)然片上可能存在多個JTAG TAP,可加入選擇信號來控制,如下圖所示,有兩個TAP,Compliance_enable_pin用于選擇使用哪個JTAG。
boundary scan可在綜合前或綜合后插入,BSD Compiler同樣包含在DC中。
六、靜態(tài)功耗IDDQ
主要是測靜態(tài)下有沒有VCC/GND短接在一起,在沒有寄存器翻轉(zhuǎn)的情況下如果漏電流過大,可能是輸出短接在GND上,其實它是ATPG的一部分。
編輯:黃飛
?
評論
查看更多