半導體廠商如何做芯片的出廠測試?
知友提問:半導體廠商如何做芯片的出廠測試?
例如 Intel 的 i7,蘋果的 A6,這樣復雜的 IC 要測的功能恐怕很多。
我想得到的困難有:
1、BGA 這樣的封裝,應該不能多次焊接吧,那又如何上電測試呢
2、那么多的功能,真的要寫軟件一樣一樣測嗎?很費時間吧?
我覺得這個問題就是為我量身定制的!作為前Teradyne ATE工程師,現(xiàn)AMD DFT+數(shù)字IC設計工程師,以親身項目經(jīng)驗,來談談這個問題。
先來說一下完整的測試流程,再針對題主的兩個問題回答一下。
1
芯片測試概述
芯片測試分兩個階段,一個是CP(Chip Probing)測試,也就是晶圓(Wafer)測試。另外一個是FT(Final Test)測試,也就是把芯片封裝好再進行的測試。
CP測試的目的就是在封裝前就把壞的芯片篩選出來,以節(jié)省封裝的成本。同時可以更直接的知道Wafer 的良率。CP測試可檢查fab廠制造的工藝水平?,F(xiàn)在對于一般的wafer成熟工藝,很多公司多把CP給省了,以減少CP測試成本。具體做不做CP測試,就是封裝成本和CP測試成本綜合考量的結果。
一片晶圓越靠近邊緣,die(一個小方格,也就是一個未封裝的芯片)出問題的概率越大。
隨著芯片規(guī)模的越來越大,測試也更為復雜。ATE(Automatic Test Equipment)也就應運而生。目前ATE公司最大的是Teradyne和愛德萬,NI目前也在做這一塊,并且很多小公司都在用NI的儀器。國內的公司知名的有長川科技。
ATE作為集成了眾多高精密的Instruments的設備,價格自然不菲。一臺泰瑞達的高端Ultra Flex可以買上海的幾套房!
2
芯片測試流程
在測試之前,當然要有ATE設備,CP測試需要Probe Card, FT測試需要Load board, Socckt等。來一張全家福吧。最下邊左一是Load Board(又叫DUT Board), 左二是Probe Card.
然后由芯片設計公司來提供Design Spec和Test Spec(datasheet)來制定Test Plan,開發(fā)測試程序,建立測試項。
Test Plan示意圖:
一般測試通常包含以下測試項:
DC parameters Test
主要包含以下測試,Continuity測試(又稱open/short test)主要是檢查芯片的引腳以及和機臺的連接是否完好。其余的測試都是檢查DC電氣參數(shù)是否在一定的范圍內。
Continuity Test
Leakage Test (IIL/IIH)
Power Supply Current Test (IDDQ)
Other Current/Voltage Test (IOZL/IOZH, IOS, VOL/IOL, VOH/IOH)
LDO,DCDC 電源測試。
以下這張圖就是open/short test原理示意圖,DUT(Device Under Test)的引腳都掛有上下兩個保護二極管,根據(jù)二極管單向導通以及截至電壓的特性,對其拉/灌電流,然后測試電壓,看起是否在設定的limit范圍內。
整個過程是由ATE里的instruments PE(Pin Electronics)完成的。
Digital Functional Test
這部分的測試主要是跑測試向量(pattern),pattern則是設計公司的DFT工程師用ATPG(auto test pattern generation)工具生成的。
pattern測試基本就是加激勵,然后捕捉輸出,再和期望值進行比較。
與Functional Test相對應的的是Structure Test,包括Scan,Boundary Scan等,Pattern是根據(jù)芯片制造過程中產(chǎn)生的的defects和fault 模型來產(chǎn)生的,詳細介紹參見下文鏈接:https://zhuanlan.zhihu.com/p/161185302
應用Structure Test能更好的提高覆蓋率。
當然還有Build-in-Self-Test (BIST)主要是針對memory進行的測試。
AC Parameters Test
主要是AC Timing Tests,包含Setup Time, Hold Time, Propagation Delay等時序的檢查。
ADC and DAC Test
主要是數(shù)模/模數(shù)混合測試,檢查信號經(jīng)過ADC/DAC后的信號是否符合期望,這個地方涉及到的信號知識比較多。總體來說包含靜態(tài)測試和動態(tài)測試。
Static Test – Histogram method (INL, DNL)
Dynamic Test – SNR, THD, SINAD
除了以上常規(guī)測試項,根據(jù)芯片的類型不同可能會進行不同的測試,比如RF測試,SerDes高速測試。Efuse測試等。
一個基本的測試流程圖如下:
所有的測試項都是在ATE上執(zhí)行的,一般會執(zhí)行幾秒到幾十秒,因為ATE是根據(jù)機時來付費的(很少有海思,蘋果這種土豪公司一次買數(shù)十臺),所以縮短測試時間變得尤其重要!另外一般芯片在量產(chǎn)測試的時候,都是百萬顆或者千萬顆,每個芯片節(jié)省一秒,總體來說縮短的時間還是很可觀的。
在測試執(zhí)行完成后,ATE會輸出一個Datalog,以顯示測試結果。對于測試pass或fail測試項的不同,也會對其進行分類(Bin),最后由Handler分揀。
datalog 示意圖:
以上就是芯片的測試完整流程。再放兩張芯片測試的封測廠/實驗室的環(huán)境圖:
3
至于題主的兩個問題
1、BGA 這樣的封裝,應該不能多次焊接吧,那又如何上電測試呢?
對于封裝好的芯片,通常測試是不需要進行焊接的,它和ATE機臺的連接方式是通過socckt和Load board。
socckt也就是放芯片的底座,長這樣:
不同大小,不同封裝類型的芯片,socckt也不同,有專門的做這個的廠商。
先把芯片放到socckt里,再把socckt放到load board上,load board再放在機臺上。有的load board很重,對很多女同志來說搬起來是有些辛苦??!
一個load board上面支持放多個socckt,我們稱其為site。示意圖如下,共6個site,可以對6個芯片同時進行測試:
2、那么多的功能,真的要寫軟件一樣一樣測嗎?很費時間吧
在這里先說明一下,芯片的邏輯功能是有IC驗證工程師來完成的,是在流片之前,并不依賴于測試。
而芯片測試里的function test/structure test是跑pattern, 測試的是在制造過程中芯片是否有缺陷,從而影響功能/性能。
所以測試工程師所需要的關心的就是把pattern都跑通,如果跑不通可能會和DFT工程師一起進行diagnosis。
測試工程在寫測試項的時候,也不是要一行一行代碼去寫,通常ATE機臺的嵌入式軟件都有提供測試項的Template, 只需要填寫參數(shù)就好。另外針對一些大客戶的成熟測試項,也會開發(fā)一些測試模板,留好必要的參數(shù)接口,這樣就很方便應用到其他的芯片測試上。
4
寫在最后
一個完備的的芯片測試不是靠芯片測試工程師一個人完成的,而是需要設計工程師,DFT工程師的支持,以及由可靠的EDA工具,優(yōu)秀的硬件支撐等多方因素共同決定的。
芯片測試是極其重要的一環(huán),有缺陷的芯片能發(fā)現(xiàn)的越早越好。在芯片領域有個十倍定律,從設計-->制造-->封裝測試-->系統(tǒng)級應用,每晚發(fā)現(xiàn)一個環(huán)節(jié),芯片公司付出的成本將增加十倍!?。?
所以測試是設計公司尤其注重的,如果把有功能缺陷的芯片賣給客戶,損失是極其慘重的,不僅是經(jīng)濟上的賠償,還有損信譽。因此芯片測試的成本也越來越高!
在 IC 行業(yè),每一個環(huán)節(jié)都要十分小心,一次流片的費用在數(shù)十萬美金,一天的ATE機臺使用幾百美金。而一個芯片的利潤可能只有幾美分。這也是IC行業(yè)投資周期長,收益少的原因,基本前幾年都在虧錢。幸運的是國家越來越重視芯片了,期待國內IC發(fā)展能越來越好。