朱少華, 梁鑒如
(上海工程技術(shù)大學(xué)電子電氣工程學(xué)院, 上海 201620)
近年來,隨著集成電路市場的不斷擴(kuò)大,芯片的需求量也日趨增大。由于芯片的功能需求越來越多,集成度越來越高,尺寸不斷減小,導(dǎo)致芯片的制造工藝越來越復(fù)雜,芯片的某些重要參數(shù)在制造過程中會受到一些因素的影響,從而導(dǎo)致芯片良率的下降,增加芯片的生產(chǎn)成本。因此,如何提高芯片的良率使芯片平均成本降低成為一個重要問題。為了保證芯片出貨的良率,測試成為集成電路的重要一環(huán)。芯片制造受到工藝的影響,一些重要參數(shù)會有一定偏差,因此在自動化測試設(shè)備(ATE)測試時,需要通過trim code 進(jìn)行微調(diào)。
需要復(fù)測的情況有以下兩種: 1)可能存在測試機(jī)異常導(dǎo)致測試的電壓或電流不合格,需要進(jìn)行復(fù)測,如果沒有改進(jìn)算法,此時OTP 也會被重復(fù)燒寫,讓原本可能PASS 的芯片真正失效。2)混料時也會存在重復(fù)測的情況。
文獻(xiàn)[1]介紹了全搜索的算法,編程時從000 依次搜索到111,找出最接近target 的trim code,這種算法程序比較簡短,但是對每個trim code 都要測量電壓值,測試時間較長,不利于降低成本。文獻(xiàn)[1,2]介紹了一種新穎的算法,認(rèn)為相鄰兩個trim code 之間的trim step 差值近似相同,測量值與trim step 有相當(dāng)好的線性關(guān)系,算出初次測量值與target 值之間的trim step 個數(shù),然后進(jìn)行燒寫。文獻(xiàn)[1,2]中提出的算法只能用于可重復(fù)燒寫的修調(diào)電路,而且由于trim step 并不是完全線性的,有可能受工藝影響,造成線性度很差。OTP 燒寫的特性導(dǎo)致芯片在復(fù)測時,再次燒寫OTP 會由于誤燒寫導(dǎo)致芯片失效,因此需要改進(jìn)燒寫策略,進(jìn)而提高芯片的良率。
對已經(jīng)燒寫的修調(diào)位重復(fù)燒寫會造成芯片失效,需要改進(jìn)修調(diào)算法避免這種情況,從而在復(fù)測時不會因OTP 重復(fù)燒寫造成芯片失效。本文基于ATE 自動化測試平臺提出了一種改進(jìn)的OTP 燒寫trim code 的算法,針對OTP 存儲單元不能重復(fù)燒寫的特性,通過修調(diào)算法的改進(jìn),使得測試時避開已經(jīng)進(jìn)行OTP 燒寫的芯片,避免重復(fù)燒寫。
在芯片生產(chǎn)制造過程中,受到工藝偏差等各種因素的影響,芯片的某些重要參數(shù)實(shí)際值與設(shè)計期望值有偏差。因此在設(shè)計芯片時加入了修調(diào)電路對參數(shù)進(jìn)行修調(diào),使其符合spec 上的要求。如果沒有trim修調(diào),不符合參數(shù)的芯片只能被剔除,降低芯片的良率,造成芯片資源的浪費(fèi)與生產(chǎn)成本的增加[3]。
對于芯片基準(zhǔn)電壓的修調(diào),主要通過增加電阻來微調(diào)電壓值。集成電路芯片的主要修調(diào)技術(shù)就是通過對串聯(lián)電阻網(wǎng)絡(luò)進(jìn)行修調(diào),增大或減小電阻網(wǎng)絡(luò)的阻值從而改變相應(yīng)的參數(shù)[4]。
如Fig.1 所示是一個電阻網(wǎng)絡(luò)。實(shí)際生產(chǎn)導(dǎo)致實(shí)際電阻值偏大或者偏小,為了使生產(chǎn)好的芯片內(nèi)部電阻符合設(shè)計要求的精確阻值,可以通過修調(diào)改變開關(guān)狀態(tài),使電阻串聯(lián)或者短路,從而改變總電阻的大小[5]。
Fig.1 為OTP 修調(diào)原理示意圖,包含了內(nèi)嵌存儲單元修調(diào)電路,每一個電阻都有一個MOS 管與它并聯(lián),MOS 管的導(dǎo)通與關(guān)斷是通過嵌入在芯片中的存儲單元的一位存入1 或0 來控制的,常用的存儲單元有OTP、EEPROM 等[6]。OTP 為One Time Programmable 存儲單元,只可以進(jìn)行一次編程,編程后就不能再修改,否則會造成芯片功能失效。
普通寄存器在掉電的時候數(shù)據(jù)就會丟失,而OTP 存儲單元寫數(shù)據(jù)時,即使掉電數(shù)據(jù)也會保留。芯片測試完成后肯定是要掉電的,因此需要用到OTP 存儲單元。相比于EEPROM,OTP 需要引入TPAD 修調(diào)點(diǎn),制造工藝相對簡單,而且開關(guān)的尺寸也對修調(diào)精度影響較小。
Fig.1 Schematic diagram of the modulation principle
Fig.2 為芯片測試電路圖,采用OWI 協(xié)議通信。VDD 為芯片供電電源,PDIS 為芯片失能端,通過TEST?MUX?PAD 測試VREF 電壓,VREF 電壓目標(biāo)值Target 為807 mV。Table 2、Table 3 為芯片的寄存器表。芯片燒寫OTP 步驟如下:
1)進(jìn)入one-wire 通信模式;
2)使能影子寄存器(TM〈20〉=1),開啟基準(zhǔn)電壓修調(diào)(TM〈3〉=1),測試寄存器使能(TM〈14〉=1);
3)設(shè)置V1=5 V,測試TEST?MUX?PAD,根據(jù)Trim table 計算出最優(yōu)的code。
Table 1 Register table
Table 2 Adjustment register table
Fig.2 Circuit diagram of chip test
Fig.3 Relationship of chip tuning
傳統(tǒng)算法只適用于可以重復(fù)燒寫的修調(diào)電路,例如EEPROM。得到芯片的預(yù)期設(shè)計值后,通過trim修調(diào)單元,從芯片的修調(diào)初始值0000-1111 依次搜索,測量出16 個狀態(tài)所對應(yīng)的值來找出修調(diào)步長。
全局搜索的算法是對每個trim 狀態(tài)進(jìn)行測量,將會大大增加測試時間。因此,文獻(xiàn)[2]改進(jìn)了此算法,可以降低測試時間。文獻(xiàn)[2]認(rèn)為由于trim 電路中電阻的特殊性可以保證相鄰的步長s 之間的差值近似相同,通過測量100 顆芯片發(fā)現(xiàn)每個trim 狀態(tài)所對應(yīng)的值與s 之間呈近似線性關(guān)系。文獻(xiàn)[2]基于這種關(guān)系測量code 值為0000 和0111 所對應(yīng)的值T0與T7,得出步長值
從而可以求出從T0到目標(biāo)值Ttarget所需要的步進(jìn)值
傳統(tǒng)方法基于可重復(fù)燒寫的存儲單元,在芯片的原始狀態(tài)測試參數(shù)偏差,計算得出修正值,然后寫入存儲單元。
改進(jìn)算法借鑒基于可重復(fù)燒寫的存儲單元的基礎(chǔ)上改進(jìn)算法,使其適應(yīng)OTP 存儲單元。改進(jìn)算法:1)判斷芯片是否燒寫過OTP;2)計算出修正值后,先寫入寄存器中,測試是否合格,如不合格就微調(diào)修正值,再次寫入寄存器中并測試之;3)直到合格后再寫入OTP。改進(jìn)算法可以解決以下問題:1)由于電路非線性影響,計算的修正值可能仍有偏差,而OTP 已經(jīng)寫過無法更改;2)由于測試環(huán)境、混料等原因需要再次對芯片進(jìn)行測試時,無法避免重復(fù)燒寫OTP,造成芯片失效。
如Fig.3 所示為芯片的修調(diào)關(guān)系,芯片參考電壓設(shè)計值Ttarget=807 mV。根據(jù)文獻(xiàn)[2]的算法測試得到修調(diào)步進(jìn)s=4 mV。
修調(diào)過程如下:
1)運(yùn)行pattern,使用capture 功能抓取寄存器的值中可修調(diào)位的值,并記錄。將抓取的寄存器值轉(zhuǎn)換為十進(jìn)制,記為Rreg。
2)設(shè)置芯片需要的條件,使芯片處于相應(yīng)的工作狀態(tài),測試相關(guān)管腳的電氣參數(shù),得到實(shí)測值,記為Ttest。根據(jù)是否在可修調(diào)范圍判斷芯片是否失效。
3)若Ttest大于等于目標(biāo)值Ttarget,計算需要的十進(jìn)制code,即
若Ttest小于目標(biāo)值Ttarget,計算需要的十進(jìn)制code,即
式中floor 為向下取整函數(shù),得到不大于自變量的最大整數(shù)。
4)若Rreg=0,將step 步數(shù)dcode轉(zhuǎn)換成二進(jìn)制trim code,執(zhí)行5);若Rreg≠0,step 步數(shù)為
將dcode轉(zhuǎn)換成二進(jìn)制trim code,執(zhí)行6)。
5)將trim code 寫到reg?pattern 中的可修調(diào)位(寄存器可修調(diào)位),運(yùn)行reg?pattern,并測量管腳的電氣參數(shù),判斷當(dāng)前值是否在設(shè)計的target 范圍內(nèi)。因?yàn)檫\(yùn)行reg?pattern 只是將trim code 寫入到寄存器中,下電不會保存。因此若沒有在target 范圍內(nèi),微調(diào)trim code 值,將新的trim code 寫到reg?pattern 中。
6)將trim code 的值寫入到OTP?pattern 中,設(shè)置只讀模式。
7)運(yùn)行OTP?pattern,先寫OTP KEY 進(jìn)入OTP 燒寫模式,再燒寫trim code。下電之后再次上電,測量管腳的電氣參數(shù),不在target 范圍內(nèi)判斷為芯片失效。Fig.4 所示為詳細(xì)的流程圖。
Fig.4 Flow chart of improved algorithm
為了驗(yàn)證該算法的準(zhǔn)確性,根據(jù)上文所表述的修調(diào)算法,在測試機(jī)Chroma3380 上編寫出相應(yīng)的程序,測試8000 顆die。將所有的die 分成兩批,首先使用常規(guī)的方法直接進(jìn)行OTP 燒寫,然后再使用所提出的算法測試,其結(jié)果分別如Fig.5、Fig.6 所示。
Fig.5 Test results of wafer NO.1
Fig.6 Test results of wafer NO.2
Table 3 Test results
如Fig.5、Fig.6 所示,PRE?VREF 為修調(diào)前的VREF 電壓,POST?VREF 為OTP 燒寫后的VREF 電壓。由圖可見,使用這兩種方法進(jìn)行OTP 修調(diào)都可以成功。但常規(guī)的燒寫算法良率低于改進(jìn)的燒寫算法。如Table 3 所示,Wafer NO.1 使用常規(guī)算法測試了4000 顆die,有161 顆die 在測試結(jié)束之后VREF電壓偏大或者偏小,芯片失效,良率95.98%;Wafer NO.2 使用改進(jìn)算法測試了4000 顆,良率為100%。這是由于OTP 只能進(jìn)行一次燒寫,且常規(guī)算法算出的trim code 不一定是最佳值,導(dǎo)致復(fù)測時超標(biāo),重復(fù)燒寫造成芯片失效,良率下降。
如Table 4 所示,列出了兩種算法測試的5 顆die 的VREF 電壓測試時間。由表可見常規(guī)方法的測試時間約為170 ms,而采用改進(jìn)算法測試時間約為200 ms,可以看出改進(jìn)算法的測試時間比常規(guī)方法多了30 ms,但是相比于提高的良率,增加30 ms 的測試時間是完全可以接受的。
Table 4 Comparison of test time
與傳統(tǒng)的修調(diào)相比,基于OTP 芯片的trim 修調(diào)算法可以進(jìn)行復(fù)測,提高測試良率。改進(jìn)了測試算法,減少了測試的失效率,且測試時間僅多了30 ms。在保證測試時間的情況下,大大提高了測試良率。通過對8000 顆die 測試驗(yàn)證了所提出算法的準(zhǔn)確性。