第十章 – 測試程式開發時面臨的問題


測試程式的主要目的


■ 工程面
開發測試程式的初期,它通常被用來當成工程用的工具,而不是用來當成量產的程式。這是測試程式初期的目的。且大部份的時間,用來驗證待測物的功能,並且收集電路的相關訊息。然而,測試程式的結構,最好是結構化的設計,並且能夠很容易地加以修改。如電壓、電流等設定值的修改,或是時序設定值的修改等。同時,測試程式,可以很快速地被偵錯。最好,也能包括一些特性分析的測試項目在裡頭。


■ 產品特性面
針對產品特性的部份,一般會開發一版特性程式。主要的目的,是要瞭解待測物的操作極限。這個部份,一般是額外的測試工程問題。特性化的程式應該利用現有的子程式來完成。這些子程式,俱備模組化的優點。測試機一般都有提供這些子程式。


■ 產品量產面
量產測試程式的主要目的,就是要將待測物,區分成好品(Good Die)與壞品(Fail Die)。因此,量產測試程式,有所謂的Wafer Sort的測試程式,Final Test測試程式,及品質檢驗測試程式(QA Test)。它的執行速度,應該愈快愈好。然而,工程用的測試程式,是比較有彈性的,但所需的測試時間會比較久。而量產測試程式,講求的是快速。因此,就有一些取捨的空間需要討論。


其它的考量


硬體限制的考量。一旦待測物的規格經檢視之後,詳細的測試流程圖,就可以開發出來。請確認測試平台的規格,必須符合測試需求。請仔細考慮測試平台的測試頻率(最大操作頻率)。並檢視輸入腳及輸出腳的電壓與電流的需求。請別忘記,還有其它的測試設備,如晶片探測機(Prober)、分類機(Handler)等。你都要納入考慮。


產出率(Yield Rate)的考量。在確定的測試平台上,評估測試時間。這樣評估後的測試時間,是否令人滿意呢? 如果此產品是要大量生產,且測試時間確認後,所得到的產出率是否恰當呢? 如果不恰當,是否還有其它的測試系統來滿足要求?


系統可用性。當我們需要機台時,是否提供足夠的機台供我們使用? 這也是我們需要評估的項目。當然,也包括一些相關的測試介面,是否足夠的問題。


待測物的成本與測試成本的考慮。當我們選擇一種測試平台時,我們需要考慮待測物的測試成本。當待測物是一種低單價的產品時,如果使用高成本的測試平台做測試時,這樣的成本,在經濟的考量上是不夠的。


在測試的過程中,主操作畫面應允許操作人員,選擇測試選項。例如選取Wafer Test、Final Test、QA Test、溫度的選擇、或各種程式版本的選擇。還有其它額外的訊息。例如,產品批號、操作者編號、測試系統的編號等。有些操作系統,會提供操作人員一些硬體架設指令。


測試系統架設後的驗證。Load Board的測試及測試機的自我檢測,必須要在待測物測試之前被驗證。因此,測試程式要設計成Load Board及測試機自我檢測都過關之後,才可以被執行。因此,在任何已知的時間內,回傳Load Board測試結果,對測試程式而言,是很有幫助的。


我們還要小心電源開啟的順序。任何超過VDD電位,或者接地電位超過0.5V時,對CMOS電路而言,可能會引起閂鎖現象(Latch Up Effect)。閂鎖現象會引起瞬間極大電流,並且會破壞待測物的電路。所以,一個比較安全的電源開啟程序如下:首先,供應零電壓到所有的電源腳上,然後才供應VIL/VIH的電壓到輸入腳上。最後才是供應額外電路的電源,或是負載電路的電源。如圖1的電源開啟程序。


圖1


在分BIN完成之後,待測物及測試系統,都必需準備關閉電源。首先,待測物有次序地關閉電源。輸出負載或額外的硬體,也必需要被斷接(Disconnect)。接下來,是輸入腳。最後,才是將VDD電源關閉(將電源設為0V,再做斷接的動作)。測試系統的驅動電路,通常在測試結束前,就要被關閉。