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