專利名稱:一種測試芯片的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種測試芯片的方法及裝置。
背景技術(shù):
芯片被大批量生產(chǎn)后,需要用測試圖形(test pattern)對其進行制造缺陷測試,所謂測試圖形就是在測試時加載到芯片集成電路中的測試信號以及期望響應。測試圖形主要包括用于測試芯片內(nèi)只讀存儲器的測試圖形(ROM BISTPattern、用于測試芯片內(nèi)隨機存取存儲器的測試圖形(RAM BIST Pattern)和掃描鏈測試圖形(Scan Pattern)。
目前,芯片的量產(chǎn)測試需要在自動測試儀(Auto Test Equipment,ATE)上進行,ATE是用于測試集成電路的儀器,它按照預先設定的測試信號對集成電路施加測試向量(測試向量),同時把觀測到的響應與預期的結(jié)果進行對比以判斷所述集成電路是否存在缺陷;ATE的操作是由工作站或個人電腦上相應的程序來控制的,在進行芯片測試時需要先在ATE上對相應的測試圖形進行調(diào)試,但使用ATE對芯片進行測試存在如下缺點1、大部分的芯片設計公司沒有自己的ATE,需要另外租用ATE來對芯片進行測試;而ATE的租金比較昂貴,這在無形中便增加了測試的成本。
2、ATE的價格十分昂貴,因而擁有ATE的芯片測試公司數(shù)量非常少,而且ATE的數(shù)量也極為有限,所以經(jīng)常會出現(xiàn)由于ATE的機時緊張而延誤了測試圖形的調(diào)試,從而推遲了芯片的的交貨日期。
3、Scan Pattern的源程序非常龐大,在使用ATE對Scan Pattern進行調(diào)試時,如果遇到需要修改測試圖形的情況,那么對Scan Pattern的源程序進行更新和重新保存需要等待很長的時間,這在一定程度上浪費了機時,也給ScanPattern的調(diào)試帶來很大的不便。
發(fā)明內(nèi)容
本發(fā)明提供一種測試芯片的方法及裝置,用以解決現(xiàn)有技術(shù)中,用戶在對芯片進行量產(chǎn)測試時,因使用自動測試儀而使測試成本增加的問題。
本發(fā)明具體技術(shù)方案如下一種測試芯片的裝置,包括相互獨立的服務器、控制電路板和執(zhí)行電路板,其中服務器,用于根據(jù)測試任務編譯相應的測試程序,并通過仿真器將所述測試程序傳輸給控制電路板;控制電路板,通過仿真器與所述服務器連接,用于從服務器發(fā)送的測試程序中讀取相應的測試向量,并將該測試向量發(fā)送給執(zhí)行電路板,以及根據(jù)所述執(zhí)行電路板返回的測試響應判斷相應的芯片是否正常;執(zhí)行電路板,與控制電路板連接,用于根據(jù)控制電路板下發(fā)的測試向量對相應的芯片進行測試,并將測試響應發(fā)送給所述控制電路板。
根據(jù)上述測試裝置所述控制電路板包括處理器,用于從服務器發(fā)送的編譯后的測試程序中讀取相應的測試向量,并將該測試向量下發(fā)給被測試芯片;排針,用于建立測試點并將所述測試點與所述處理器的相應的引腳相連接,以及將該處理器讀取的測試向量傳送給被測試芯片,或者將所述芯片返回的測試響應傳送給所述處理器。
所述處理器還用于判斷所述被測試芯片返回的測試響應是否符合期望響應。
所述執(zhí)行電路板包括芯片插座,用于放置測試芯片,所述測試芯片用于接收所述處理器下發(fā)的測試向量并返回相應的測試響應;排針,用于建立測試點并將所述測試點與所述測試芯片的相應的引腳相連接,以及傳送所述控制電路板下發(fā)的測試向量,或者將該被測試芯片返回的測試響應傳送給所述控制電路板。
所述控制電路板按照所述測試文件中設定的時間順序依次向所述執(zhí)行電路板發(fā)送測試向量。
所述控制電路板向執(zhí)行電路板發(fā)送一定數(shù)量的測試向量后,下發(fā)相應的執(zhí)行命令。
所述測試裝置為引腳數(shù)目不同的被測試芯片分別配置相應的執(zhí)行電路板。
一種測試芯片的方法,包括步驟服務器根據(jù)測試任務編譯相應的測試程序并通過仿真器將編譯后的測試程序輸出給外部的控制電路板;所述控制電路板從所述測試程序中讀取相應的測試向量,并將該測試向量發(fā)送給外部的執(zhí)行電路板,所述執(zhí)行電路板根據(jù)控制電路板下發(fā)的測試向量對相應的芯片進行測試,并將測試響應發(fā)送給所述控制電路板;所述控制電路板根據(jù)所述執(zhí)行電路板返回的測試響應判斷相應的芯片是否正常。
根據(jù)上述方法所述控制電路板判斷所述執(zhí)行電路板返回的測試響應是否符合預期響應,并在確定所述測試響應符合預期響應時判斷相應的被測試芯片狀態(tài)正常。
所述控制電路板按照所述測試程序中設定的時間順序依次向所述執(zhí)行電路板發(fā)送測試向量。
根據(jù)被測試芯片的引腳數(shù)目的變化而配置相應的執(zhí)行電路板。
本發(fā)明有益效果如下本發(fā)明通過相互獨立的服務器、控制電路板和執(zhí)行電路板對芯片進行量產(chǎn)測試,這樣易于對單個測試圖形進行調(diào)試,并且可以根據(jù)調(diào)試需求隨時對測試程序進行修改;同時,通過本發(fā)明中的測試裝置可以隨時對芯片進行量產(chǎn)測試,而不用租用租金昂貴的自動測試儀,并因受到自動測試儀機時的限制而不能隨意對測試程序進行修改,這樣便大大降低了測試成本;另一方面,針對不同的芯片,本發(fā)明只需對執(zhí)行電路板的設計和相應的測試程序作少量修改即可適應,這在一定程序上簡化了操作流程。
圖1A為本發(fā)明實施例中一種測試電路示意圖;圖1B-圖1E為本發(fā)明實施例中測試圖形及相關(guān)寄存器示意圖;圖2為本發(fā)明實施例中測試裝置功能結(jié)構(gòu)圖。
具體實施例方式
為了解決現(xiàn)有技術(shù)下,用戶在對芯片進行量產(chǎn)測試時因使用自動測試儀而使測試成本增加,以及因受到自動測試儀數(shù)量和機時的限制而不能按時完成測試任務的問題。本實施例中,測試裝置通過相互獨立的服務器、控制電路板和執(zhí)行電路板,先根據(jù)測試任務編譯相應的測試程序,接著從編譯后的測試程序中讀取測試向量對芯片進行測試,并且根據(jù)芯片返回的測試響應判斷該芯片的狀態(tài)是否正常。
下面以掃描鏈測試圖形(Scan Pattern)為例,并結(jié)合附圖進行詳細說明。
本實施例中,測試方案由兩部分組成,一部分是測試程序的設計,另一部分是測試裝置的設計,通過在測試裝置上運行測試程序來完成對測試芯片施加測試向量和觀測相應的輸出響應。
本實施例在測試程序上的設計包括如下內(nèi)容首先,產(chǎn)生芯片量產(chǎn)測試所用的測試圖形(即測試數(shù)據(jù))。所述測試圖形即是在測試過程中需要輸入到芯片引腳的測試向量和期望芯片引腳輸出的響應值。Scan Pattern需要用自動測試圖形生成(Auto Test Pattern Generation,ATPG)工具來產(chǎn)生,如TetraMax。TetraMax可以產(chǎn)生兩種不同的文件,一種是用于在ATE上量產(chǎn)測試的測試圖形文件(包括*.wgl文件和*.stil文件;另一種是用于對測試圖形進行仿真的仿真文件(包括*.v文件和*.hdl文件),這兩種文件都包含了芯片量產(chǎn)測試時用到的所有測試數(shù)據(jù);由于仿真文件的可讀性更強一些,所以在使用Scan Pattern進行測試時通常會選用仿真文件里的測試數(shù)據(jù)。
其次,開發(fā)測試所用的程序。測試程序的主要功能是把內(nèi)存中存儲的測試圖形內(nèi)的測試向量讀出來,并按照一定的時序關(guān)系把其施加到芯片測試用的引腳上,同時檢測輸出引腳的值并將其與內(nèi)存中存儲的期望響應行比較,如果一致,則判定芯片是正常的。
下面以A芯片Scan Pattern的調(diào)試為例進行說明。Scan Pattern是一種基于掃描鏈可測試性設計技術(shù)而產(chǎn)生的用于測試芯片制造工藝缺陷的測試圖形;基于掃描鏈的可測性設計技術(shù)主要是采用固定值故障模型來檢查電路是否工作正常;在固定值故障模型中,所有缺陷都表現(xiàn)為邏輯門層次上的節(jié)點邏輯值被固定為0或1。例如,參閱圖1A和1B所示,在A芯片內(nèi)的某個電路中,反相器的輸出端有一個SA0錯誤(即此點的邏輯值固定為0),為了發(fā)現(xiàn)這個故障應該給反相器施加測試向量,并使它的預期輸出為1。如圖1A所示,將C端置為0,同時將A端、B端和D端分別置為1、0、0,則電路的輸出為0,而這與期望響應1不符,這樣就可以檢測到錯誤的發(fā)生,如圖1B所示,“10001”中前四位“1000”為此電路中測試SA0錯誤的測試向量,而最后一位“1”則是此電路中測試SA0錯誤的期望響應,類似“1010”這樣的一個測試向量和這個測試向量所對應的期望響應“1”組合在一起就叫做一個測試圖形;參閱圖1C所示,A、B、C、D四個端點的測試向量分別是通過由寄存器串聯(lián)起來的掃描鏈依次輸入的,而相應的輸出響應“1”被鎖存到寄存器Z中并從芯片相應的引腳輸出。另一方面,參閱圖1D所示,測試圖形中也可以包含更多數(shù)量的測試向量和/或更多數(shù)量的輸出響應,此時圖1C中的D寄存器后面也需串聯(lián)相應數(shù)量的寄存器以保存增加的測試向量,Z寄存器后面也需串聯(lián)相應數(shù)量的寄存器以保存增加的輸出響應。
在程序開發(fā)的過程中要注意程序的通用性,以便使編寫好的程序可以用于多種類型的測試圖形的調(diào)試以及后續(xù)項目的調(diào)試,同時要注意對測試相關(guān)的所有輸入輸出控制引腳和數(shù)據(jù)引腳的可控性和可觀性的設計。在對測試序程進行編寫時,可以把準備好的測試數(shù)據(jù)以數(shù)組的形式保存起來,這樣,當調(diào)試出現(xiàn)問題提時,可以很方便的進行問題的分析和定位。
例如,本實施例中,以Scan Pattern為例,在測試程序的設計上,用ATPG工具(如TetraMax)根據(jù)掃描測試技術(shù)、測試協(xié)議及故障模型自動生成相應的測試圖形。參閱圖1E所示,A芯片中共有四4條掃描鏈,每條掃描鏈由3000個寄存器組成,即3000個測試向量和相應的輸出響應組成一個測試圖形,而四個這樣的測試圖形稱為一個Scan Pattern。為了使測試覆蓋率達到95%,TetraMax共產(chǎn)生1500個Scan Pattern,如果需要單獨使用第300個Scan Pattern對芯片進行測試、測試裝置可以用TetraMax產(chǎn)生所述第300個Scan Pattern的測試圖形仿真文件,并通過JTAG仿真器把所述4條掃描鏈對應的測試向量按C語言的格式寫入文件,同時把相應的期望響應也寫入文件,如圖1D所示,第300個Scan Pattern的輸入向量在仿真后被以C語言16進制的格式寫入到文件scan_in.dat中,同時也把期望響應以同樣的格式寫入到文件scan_out.dat中;scan_in.dat和scan_out.dat中的數(shù)據(jù)以數(shù)組形式進行定義,如unsigned short scan_in ={0x5,0x6,0xd,0xf,0x2,0x0,0xd,0xb,…};unsigned short scan_out ={…};另一方面,參閱圖2所示,所述測試裝置包括控制電路板20和執(zhí)行電路板21,以及服務器(PC)與聯(lián)合測試行動小組(Joint Test Action Group,JTAG)仿真器。其中,
所述服務器用于根據(jù)測試任務編譯相應的Scan Pattern測試程序,并將編譯后的Scan Pattern測試程序通過JTAG仿真器傳輸給控制電路板20;所述控制電路板20中包含一塊帶有嵌入式電路仿真器(embedded-ICE)邏輯單元的ARM處理器,所述embedded-ICE邏輯單元是集成在ARM處理器內(nèi)部的專門用于調(diào)試的模塊,它支持JTAG實時調(diào)試功能,并支持斷點設置等功能??刂齐娐钒?0主要用于通過JTAG電纜與JTAG仿真器連接,并通過JTAG仿真器獲取服務器傳輸?shù)木幾g后的測試程序;以及在相應的調(diào)試軟件的控制下從所述測試程序中依次讀取相應的測試向量,并通過ARM處理器中預先定義好的通用輸入輸出引腳(GPIO引腳)將所述讀取的測試向量傳輸給被測芯片;同時,接收被測芯片返回的輸出響應并觀測該響應是否為預期響應,以及將測試結(jié)果返回給服務器。
所述執(zhí)行電路板21用于放置被測芯片,該電路板中帶有芯片插座,是被測芯片的載體,被測芯片可以用吸筆很容易的放入到所述插座中,因為一個芯片的測試結(jié)果不足以說明用于測試的測試圖形是正確的以及被測芯片本身是正常的,所以這樣設計可以方便的測試許多它同類的芯片。而執(zhí)行電路板21的電源由電源調(diào)節(jié)器提供,這樣可以使被測芯片的電壓是可調(diào)的,并且可以對執(zhí)行電路板21板進行上電復位操作。另外,單一一顆芯片并不能完成芯片的主要功能,必須有一些外圍電路作為輔助,如在芯片的某個管腳外接上拉電阻,以保證芯片在特定模式下的功能是正確的;而本實施例中,芯片在測試時是處于測試模式的,此時,測試的結(jié)果與芯片具有何種功能無關(guān),因此執(zhí)行電路板21上不需要設計周邊電路,這在一定程度上也簡化了測試操作。
如圖所示,所述控制電路板20和執(zhí)行電路板21的邊緣設置有排針,以建立相應的測試點,本實施例中,將ARM處理器上預先定義好的所有GPIO引腳和控制電路板20上對應的測試點相連;同樣,將被測芯片上的掃描鏈引腳與執(zhí)行電路板21上對應的測試點相連,然后把控制電路板20和執(zhí)行電路板21按引腳的對應關(guān)系分別用插線連接起來,便完成了測試電路的連接。
上述方法中,控制電路板20上ARM處理器的GPIO引腳與執(zhí)行電路板21上A芯片的掃描鏈引腳之間的映射關(guān)系如表1所示,其中GPIOA和GPIOB所對應的寄存器的比特(bit)關(guān)系如表2和表3所示;除此之外,還要在ARM處理器的GPIO引腳中定義GPIOC_0、GPIOC_1和GPIOC_2,它們分別為A芯片時鐘引腳、A芯片控制引腳test_mode
和A芯片控制引腳test_mode[1]的驅(qū)動引腳。
表1
表2
表3
所述服務器用于運行Multi-ICE服務器軟件和ARM集成開發(fā)軟件(ARMDeveloper Suit,ADS)以編譯出適合ARM處理器的測試程序。
在對芯片進行測試時,服務器先啟動Multi-ICE服務器軟件,自動檢測JTAG仿真器,然后通過JTAG仿真器對ARM處理器進行初始化配置,接著再啟動ARM的集成開發(fā)軟件ADS,并在ADS環(huán)境中編譯寫好的源程序,生成相應的測試程序。
當控制電路板20從服務器上獲取相應的Scan Pattern測試程序后,首先驅(qū)動GPIOC_1和GPIOC_2引腳為0和1,使A芯片進入掃描測試模式(shift模式),此模式可以把測試向量通過掃描鏈載入到A芯片中或把測試結(jié)果從掃鏈中傳出來,然后讀出數(shù)組scan_in的第一個元素0x5,它的二進制表示為0101,將其寫入到GPIOA所對應的寄存器中,使寄存器中的GPIOA_0、GPIOA_1、GPIOA_2、GPIOA_3的值分別為1、0、1、0,寄存器的每一位值會驅(qū)動ARM處理器上的每一根相應的GPIO引腳,接著控制電路板20驅(qū)動時鐘引腳GPIOC_0,產(chǎn)生一個時鐘脈沖,把測試向量輸入到對應的掃描鏈中,然后再讀下一個測試向量,當讀完scan_in數(shù)組中的3000個測試向量后,控制電路板20便驅(qū)動GPIOC_1引腳為1,然后再驅(qū)動時鐘引腳產(chǎn)生一個時鐘脈沖,使A芯片進入捕獲(capture)模式,在此模式下測試向量開始在在A芯片的組合邏輯電路中傳輸,并且A芯片的輸出響應被鎖存到對應的寄存器中,然后控制電路板20驅(qū)動GPIOC_1引腳為0,使A芯片再此進入shift模式,在此模式下將所述輸出響應從掃描鏈的輸出引腳(AOUT、BOUT、COUT和DOUT)上傳出來,并鎖存到GPIOB所對應的寄存器中,最后,控制電路板20讀取scan_out數(shù)組中的元素(即期望響應)與GPIOB所對應的寄存器中的輸出響應進行比較,如果一致,則說明測試結(jié)果正確,這樣,便完成了所述第300個Scan Pattern的測試。
此外,用戶使用上述測試裝置可以生成任意一個或多個Scan Pattern測試程序而對芯片進行相應的測試;并且在測試的過程中,用戶如果發(fā)現(xiàn)某段測試程序的設計有不妥之處,可以隨時停下測試進程對該測試程序進行修改,這并不會浪費過多的時間。
上述測試裝置中,控制電路板20的設計是通用的,即它可以用于不同芯片的測試,而執(zhí)行電路板21只能針對于某個類型的芯片,一旦芯片引腳數(shù)目發(fā)生變化,就需要重新設計,因此將兩個電路板分別設計,以達到可以重用控制電路板20的目的。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種測試芯片的裝置,其特征在于,包括相互獨立的服務器、控制電路板和執(zhí)行電路板,其中服務器,用于根據(jù)測試任務編譯相應的測試程序,并通過仿真器將所述測試程序傳輸給控制電路板;控制電路板,通過仿真器與所述服務器連接,用于從服務器發(fā)送的測試程序中讀取相應的測試向量,并將該測試向量發(fā)送給執(zhí)行電路板,以及根據(jù)所述執(zhí)行電路板返回的測試響應判斷相應的芯片是否正常;執(zhí)行電路板,與控制電路板連接,用于根據(jù)控制電路板下發(fā)的測試向量對相應的芯片進行測試,并將測試響應發(fā)送給所述控制電路板。
2.如權(quán)利要求1所述的裝置,其特征在于,所述控制電路板包括處理器,用于從服務器發(fā)送的編譯后的測試程序中讀取相應的測試向量,并將該測試向量下發(fā)給被測試芯片;排針,用于建立測試點并將所述測試點與所述處理器的相應的引腳相連接,以及將該處理器讀取的測試向量傳送給被測試芯片,或者將所述芯片返回的測試響應傳送給所述處理器。
3.如權(quán)利要求2所述的裝置,其特征在于,所述處理器還用于判斷所述被測試芯片返回的測試響應是否符合期望響應。
4.如權(quán)利要求1所述的裝置,其特征在于,所述執(zhí)行電路板包括芯片插座,用于放置測試芯片,所述測試芯片用于接收所述處理器下發(fā)的測試向量并返回相應的測試響應;排針,用于建立測試點并將所述測試點與所述測試芯片的相應的引腳相連接,以及傳送所述控制電路板下發(fā)的測試向量,或者將該被測試芯片返回的測試響應傳送給所述控制電路板。
5.如權(quán)利要求1-4任一項所述的裝置,其特征在于,所述控制電路板按照測試程序中設定的時間順序依次向所述執(zhí)行電路板發(fā)送測試向量。
6.如權(quán)利要求5所述的裝置,其特征在于,所述控制電路板向執(zhí)行電路板發(fā)送一定數(shù)量的測試向量后,下發(fā)相應的執(zhí)行命令。
7.如權(quán)利要求5所述的裝置,其特征在于,所述測試裝置為引腳數(shù)目不同的被測試芯片分別配置相應的執(zhí)行電路板。
8.一種測試芯片的方法,其特征在于,包括步驟服務器根據(jù)測試任務編譯相應的測試程序并通過仿真器將編譯后的測試程序輸出給外部的控制電路板;所述控制電路板從所述測試程序中讀取相應的測試向量,并將該測試向量發(fā)送給外部的執(zhí)行電路板,所述執(zhí)行電路板根據(jù)控制電路板下發(fā)的測試向量對相應的芯片進行測試,并將測試響應發(fā)送給所述控制電路板;所述控制電路板根據(jù)所述執(zhí)行電路板返回的測試響應判斷相應的芯片是否正常。
9.如權(quán)利要求8所述的方法,其特征在于,所述控制電路板判斷所述執(zhí)行電路板返回的測試響應是否符合預期響應,并在確定所述測試響應符合預期響應時判斷相應的被測試芯片狀態(tài)正常。
10.如權(quán)利要求8所述的方法,其特征在于,所述控制電路板按照所述仿真文件中設定的時間順序依次向所述執(zhí)行電路板發(fā)送測試向量。
11.如權(quán)利要求8、9或10所述的方法,其特征在于,根據(jù)被測試芯片的引腳數(shù)目的變化而配置相應的執(zhí)行電路板。
全文摘要
本發(fā)明公開了一種測試芯片的裝置,包括相互獨立的服務器、仿真器、控制電路板和執(zhí)行電路板,其中所述服務器用于根據(jù)測試任務生成相應的測試程序,并輸出給仿真器;所述仿真器與服務器連接,用于對所述測試程序進行仿真處理,生成包含測試數(shù)據(jù)的仿真文件并發(fā)送給控制電路板;所述控制電路板與仿真器連接,用于從所述仿真文件中讀取相應的測試向量,并將該測試向量發(fā)送給執(zhí)行電路板,以及根據(jù)所述執(zhí)行電路板返回的測試響應判斷相應的芯片是否正常;所述執(zhí)行電路板與控制電路板連接,用于根據(jù)控制電路板下發(fā)的測試向量對相應的芯片進行測試,并將測試響應發(fā)送給所述控制電路板。這樣,在對芯片進行量產(chǎn)測試時便不用租用租金昂貴的自動測試儀,從而在很大程度上降低了測試成本。本發(fā)明同時公開了一種測試芯片的方法。
文檔編號G01R31/317GK101038325SQ200710063930
公開日2007年9月19日 申請日期2007年2月14日 優(yōu)先權(quán)日2007年2月14日
發(fā)明者崔云飛, 吳大畏 申請人:北京中星微電子有限公司