芯片測(cè)試的目的是快速了解它的體質(zhì)。對(duì)大公司來(lái)說(shuō),這是需要幾千名員工協(xié)作的工作。大公司的每日流水的芯片就有幾萬(wàn)片,測(cè)試的壓力是非常大。當(dāng)芯片被晶圓廠制作出來(lái)后,就會(huì)進(jìn)入WaferTest的階段。這個(gè)階段的測(cè)試可能在晶圓廠內(nèi)進(jìn)行,也可能送往附近的測(cè)試廠商代理執(zhí)行。生產(chǎn)工程師會(huì)使用自動(dòng)測(cè)試儀器(ATE)運(yùn)行芯片設(shè)計(jì)方給出的程序,粗暴的把芯片分成好的/壞的這兩部分,壞的會(huì)直接被舍棄,如果這個(gè)階段壞片過(guò)多,基本會(huì)認(rèn)為是晶圓廠自身的良品率低下。如果良品率低到某一個(gè)數(shù)值之下,晶圓廠需要賠錢(qián)。
WT的測(cè)試結(jié)果多用這樣的圖表示:
通過(guò)了WaferTest后,晶圓會(huì)被切割。切割后的芯片按照之前的結(jié)果分類(lèi)。只有好的芯片會(huì)被送去封裝廠封裝。封裝的地點(diǎn)一般就在晶圓廠附近,這是因?yàn)槲捶庋b的芯片無(wú)法長(zhǎng)距離運(yùn)輸。封裝的類(lèi)型看客戶的需要,有的需要球形BGA,有的需要針腳,總之這一步很簡(jiǎn)單,故障也較少。由于封裝的成功率遠(yuǎn)大于芯片的生產(chǎn)良品率,因此封裝后不會(huì)測(cè)試。
封裝之后,芯片會(huì)被送往各大公司的測(cè)試工廠,也叫生產(chǎn)工廠。并且進(jìn)行FinalTest。生產(chǎn)工廠內(nèi)實(shí)際上有十幾個(gè)流程,F(xiàn)inalTest只是第一步。在FinalTest后,還需要分類(lèi),刻字,檢查封裝,包裝等步驟。然后就可以出貨到市場(chǎng)。
FinalTest是工廠的重點(diǎn),需要大量的機(jī)械和自動(dòng)化設(shè)備。它的目的是把芯片嚴(yán)格分類(lèi)。以Intel的處理器來(lái)舉例,在FinalTest中可能出現(xiàn)這些現(xiàn)象:
1.雖然通過(guò)了WaferTest,但是芯片仍然是壞的。
2.封裝損壞。
3.芯片部分損壞。比如CPU有2個(gè)核心損壞,或者GPU損壞,或者顯示接口損壞等
4.芯片是好的,沒(méi)有故障
這時(shí),工程師需要和市場(chǎng)部一起決定,該如何將這些芯片分類(lèi)。打比方說(shuō),GPU壞了的,可以當(dāng)做無(wú)顯示核心的“賽揚(yáng)”系列處理器。如果CPU壞了2個(gè)的,可以當(dāng)“酷睿i3”系列處理器。芯片工作正常,但是工作頻率不高的,可以當(dāng)“酷睿i5”系列處理器。一點(diǎn)問(wèn)題都沒(méi)有的,可以當(dāng)“酷睿i7”處理器。
(上面這段僅是簡(jiǎn)化說(shuō)明“芯片測(cè)試的結(jié)果影響著產(chǎn)品最終的標(biāo)簽”這個(gè)過(guò)程,并不是說(shuō)Intel的芯片量產(chǎn)流水線是上文描述的這樣。實(shí)際上Intel同時(shí)維持著多個(gè)產(chǎn)品流水線,i3和i7的芯片并非同一流水線上產(chǎn)品。)
那這里的FinalTest該怎樣做?
以處理器舉例,F(xiàn)inalTest可以分成兩個(gè)步驟:1。自動(dòng)測(cè)試設(shè)備(ATE)。2。系統(tǒng)級(jí)別測(cè)試(SLT)。2號(hào)是必要項(xiàng)。1號(hào)一般小公司用不起。
ATE的測(cè)試一般需要幾秒,而SLT需要幾個(gè)小時(shí)。ATE的存在大大的減少了芯片測(cè)試時(shí)間。
ATE負(fù)責(zé)的項(xiàng)目非常之多,而且有很強(qiáng)的邏輯關(guān)聯(lián)性。測(cè)試必須按順序進(jìn)行,針對(duì)前列的測(cè)試結(jié)果,后列的測(cè)試項(xiàng)目可能會(huì)被跳過(guò)。這些項(xiàng)目的內(nèi)容屬于公司機(jī)密,我僅列幾個(gè):比如電源檢測(cè),管腳DC檢測(cè),測(cè)試邏輯(一般是JTAG)檢測(cè),burn-in,物理連接PHY檢測(cè),IP內(nèi)部檢測(cè)(包括Scan,BIST,F(xiàn)unction等),IP的IO檢測(cè)(比如DDR,SATA,PLL,PCIE,Display等),輔助功能檢測(cè)(比如熱力學(xué)特性,熔斷等)。
這些測(cè)試項(xiàng)都會(huì)給出Pass/Fail,根據(jù)這些Pass/Fail來(lái)分析芯片的體質(zhì),是測(cè)試工程師的工作。
SLT在邏輯上則簡(jiǎn)單一些,把芯片安裝到主板上,配置好內(nèi)存,外設(shè),啟動(dòng)一個(gè)操作系統(tǒng),然后用軟件烤機(jī)測(cè)試,記錄結(jié)果并比較。另外還要檢測(cè)BIOS相關(guān)項(xiàng)等。
圖為測(cè)試廠房的布置
而所有的這些工作,都需要芯片設(shè)計(jì)工程師在流片之前都設(shè)計(jì)好。測(cè)試工作在芯片內(nèi)是由專(zhuān)屬電路負(fù)責(zé)的,這部分電路的搭建由DFT工程師來(lái)做,在流片后,DFT工程師還要生成配套輸入矢量,一般會(huì)生成幾萬(wàn)個(gè)。這些矢量是否能夠正常的檢測(cè)芯片的功能,需要產(chǎn)品開(kāi)發(fā)工程師來(lái)保證。此外還需要測(cè)試工程師,產(chǎn)品工程師,和助手來(lái)一同保證每天能夠完成幾萬(wàn)片芯片的生產(chǎn)任務(wù)不會(huì)因?yàn)闇y(cè)試邏輯bug而延遲。
考慮到每一次測(cè)試版本迭代都是幾十萬(wàn)行的代碼,保證代碼不能出錯(cuò)。需要涉及上百人的測(cè)試工程師協(xié)同工作,這還不算流水線技工,因此測(cè)試是費(fèi)時(shí)費(fèi)力的工作。實(shí)際上,很多大公司芯片的測(cè)試成本已經(jīng)接近研發(fā)成本。
1、為什么要進(jìn)行芯片測(cè)試?
芯片復(fù)雜度越來(lái)越高,為了保證出廠的芯片沒(méi)有問(wèn)題,需要在出廠前進(jìn)行測(cè)試以確保功能完整性等。而芯片作為一個(gè)大規(guī)模生產(chǎn)的東西,大規(guī)模自動(dòng)化測(cè)試是唯一的解決辦法,靠人工或者說(shuō)benchtest是沒(méi)法完成這樣的任務(wù)的。
2、芯片測(cè)試在什么環(huán)節(jié)進(jìn)行?
芯片測(cè)試實(shí)際上是一個(gè)比較大的范疇,一般是從測(cè)試的對(duì)象上分為wafertest和finaltest,對(duì)象分別是尚未進(jìn)行封裝的芯片,和已經(jīng)封裝好的芯片。為啥要分兩段?簡(jiǎn)單的說(shuō),因?yàn)榉庋b也是有cost的,為了盡可能的節(jié)約成本,可能會(huì)在芯片封裝前,先進(jìn)行一部分的測(cè)試,以排除掉一些壞掉的芯片。而為了保證出廠的芯片都是沒(méi)問(wèn)題的,finaltest也即FT測(cè)試是最后的一道攔截,也是必須的環(huán)節(jié)。
3、怎么樣進(jìn)行芯片測(cè)試?
這需要專(zhuān)業(yè)的ATE也即automatictestequipment。以finaltest為例,首先根據(jù)芯片的類(lèi)型,比如automotive,MixedSignal,memory等不同類(lèi)型,選擇適合的ATE機(jī)臺(tái)。在此基礎(chǔ)上,根據(jù)芯片的測(cè)試需求,(可能有專(zhuān)門(mén)的testspecification的文檔,或者干脆讓測(cè)試工程師根據(jù)datasheet來(lái)設(shè)計(jì)testspec),做一個(gè)完整的testplan。在此基礎(chǔ)上,設(shè)計(jì)一個(gè)外圍電路loadboard,一般我們稱(chēng)之為DIBorPIBorHIB,以連接ATE機(jī)臺(tái)的instrument和芯片本身。同時(shí),需要進(jìn)行test程序開(kāi)發(fā),根據(jù)每一個(gè)測(cè)試項(xiàng),進(jìn)行編程,操控instrument連接到芯片的引腳,給予特定的激勵(lì)條件,然后去捕捉芯片引腳的反應(yīng),例如給一個(gè)電信號(hào),可以是特定的電流,電壓,或者是一個(gè)電壓波形,然后捕捉其反應(yīng)。根據(jù)結(jié)果,判定這一個(gè)測(cè)試項(xiàng)是pass或者fail。在一系列的測(cè)試項(xiàng)結(jié)束以后,芯片是好還是不好,就有結(jié)果了。好的芯片會(huì)放到特定的地方,不好的根據(jù)fail的測(cè)試類(lèi)型分別放到不同的地方。
所以樓主的問(wèn)題里,對(duì)于各種功能的測(cè)試,確實(shí)可能需要一行一行寫(xiě)代碼來(lái)做測(cè)試開(kāi)發(fā),這也是我日常工作的一大部分。
4、一般的芯片測(cè)試都包含哪些測(cè)試類(lèi)型?
一般來(lái)說(shuō),包括引腳連通性測(cè)試,漏電流測(cè)試,一些DC(directcurrent)測(cè)試,功能測(cè)試(functionaltest),Trimtest,根據(jù)芯片類(lèi)型還會(huì)有一些其他的測(cè)試,例如AD/DA會(huì)有專(zhuān)門(mén)的一些測(cè)試類(lèi)型。
芯片測(cè)試的目的是在找出沒(méi)問(wèn)題的芯片的同時(shí)盡量節(jié)約成本,所以,容易檢測(cè)或者比較普遍的缺陷類(lèi)型會(huì)先檢測(cè)。一般來(lái)講,首先會(huì)做的是連通性測(cè)試,我們稱(chēng)之為continuitytest。這是檢查每個(gè)引腳的連通性是否正常。