IC測試原理解析(第二部分)
芯片測試原理討論在芯片開發(fā)和生產(chǎn)過程中芯片測試的基本原理,一共分為四章,下面將要介紹的是第二章。我們在第一章介紹了芯片的基本測試原理,描述了影響芯片測試方案選擇的基本因素,定義了芯片測試過程中的常用術(shù)語。本文將討論怎么把這些原理應(yīng)用到存儲器和邏輯芯片的測試上。接下來的第三章將介紹混合信號芯片的測試,第四章會介紹射頻/無線芯片的測試。
本文引用地址:http://m.butianyuan.cn/article/193849.htm存儲器和邏輯芯片的測試
存儲器芯片測試介紹
存儲器芯片是在特定條件下用來存儲數(shù)字信息的芯片。存儲的信息可以是操作代碼,數(shù)據(jù)文件或者是二者的結(jié)合等。根據(jù)特性的不同,存儲器可以分為以下幾類,如表1所示:
存儲器的種類與特性
存儲器術(shù)語的定義
在討論存儲器芯片測試之前,有必要先定義一些相關(guān)的術(shù)語。
寫入恢復(fù)時間(Write Recovery Time):一個存儲單元在寫入操作之后和正確讀取之前中間必須等待的時間。
保持時間(Hold Time):輸入數(shù)據(jù)電平在鎖存時鐘之后必須保持的時間間隔。
Pause Test:存儲器內(nèi)容保持時間的測試。
刷新時間(Refresh Time):存儲器刷新的最大時間間隔。
建立時間(Setup Time):輸入數(shù)據(jù)電平在鎖存時鐘之前必須穩(wěn)定保持的時間間隔。
上升和下降時間(Rise and Fall Times):功能速度測試是通過重復(fù)地進(jìn)行功能測試,同時改變芯片測試的周期或頻率來完成的。測試的周期通常使用二進(jìn)制搜索的辦法來進(jìn)行改變。這些測試能夠測出芯片的最快運(yùn)行速度。
寫入恢復(fù)(Write Recovery):一個存儲單元在寫入操作之后和下一個存儲單元能正確讀取之前中間必須等待的時間。
讀取時間(Access time):通常是指在讀使能,片選信號或地址改變到輸出端輸出新數(shù)據(jù)的所需的最小時間。讀取時間取決于存儲器讀取時的流程。
存儲器芯片測試中的功能測試
存儲器芯片必須經(jīng)過許多必要的測試以保證其功能正確。這些測試主要用來確保芯片不包含一下類型的錯誤:
存儲單元短路:存儲單元與電源或者地段路
存儲單元開路:存儲單元在寫入時狀態(tài)不能改變相鄰單元短路:根據(jù)不同的短路狀態(tài),相鄰的單元會被寫入相同或相反的數(shù)據(jù)地址
開路或短路:這種錯誤引起一個存儲單元對應(yīng)多個地址或者多個地址對應(yīng)一個存儲單元。這種錯誤不容易被檢測,因?yàn)槲覀円淮沃荒軝z查輸入地址所對應(yīng)的輸出響應(yīng),很難確定是哪一個物理地址被真正讀取。
存儲單元干擾:它是指在寫入或者讀取一個存儲單元的時候可能會引起它周圍或者相鄰的存儲單元狀態(tài)的改變,也就是狀態(tài)被干擾了。
存儲器芯片測試時用于錯誤檢測的測試向量
測試向量是施加給存儲器芯片的一系列的功能,即不同的讀和寫等的功能組合。它主要用于測試芯片的功能錯誤。常用的存儲器測試向量如下所示,分別介紹一下他們的執(zhí)行方式以及測試目的.
全”0”和全”1”向量: 4n行向量
執(zhí)行方式:對所有單元寫”1”再讀取驗(yàn)證所有單元。對所有單元寫”0”再讀取驗(yàn)證所有單元。
目的:檢查存儲單元短路或者開路錯誤。也能檢查相鄰單元短路的問題。
棋盤格(Checkerboard)向量:4n行向量
執(zhí)行方式:先運(yùn)行0-1棋盤格向量,也就是第一個單元寫1,第二個單元寫0,第三個單元再寫1,依此類推,直到最后一個單元,接下來再讀取并驗(yàn)證所有單元。再運(yùn)行一個1-0棋盤格向量,就是對所有單元寫入跟0-1棋盤格完全相反的數(shù)據(jù),再讀取并驗(yàn)證所有單元。
目的:這是功能測試,地址解碼和單元干擾的一個最基本最簡單的測試向量。它還能檢查連續(xù)地址錯誤或者干擾錯誤,也通常用它作為時間測量時的向量。
Patterns Marching向量:5n行向量
執(zhí)行方式:先對所有單元寫0.讀取第一個單元,再對第一個單元寫1。再讀取第二個單元,再對第二個單元寫1,依此類推,直到最后一個單元。最后再重復(fù)上述操作,只是寫入數(shù)據(jù)相反。
目的:這是功能測試,地址解碼和單元干擾的一個最基本最簡單的測試向量。它還能檢查連續(xù)地址錯誤或者干擾錯誤,也通常用它作為時間測量時的向量。
Walking向量:2n^2 行向量
執(zhí)行方式:先對所有單元寫0,再讀取所有單元。接下來對第一個單元寫1,讀取所有單元,讀完之后把第一個單元寫回0。再對第二個單元寫1,讀取所有單元,讀完之后把第二個單元寫回0。依次類推,重復(fù)到最后一個單元。等上述操作完成之后,再重復(fù)上述操作,只不過寫入的數(shù)據(jù)相反。
目的:檢查所有的地址解碼錯誤。它的缺點(diǎn)是它的運(yùn)行時間太長。假設(shè)讀寫周期為500ns,對一個4K的RAM進(jìn)行wakling向量測試就需要16秒的測試時間。如果知道存儲器的結(jié)構(gòu),我們可以只進(jìn)行行或者列的walking以減少測試時間。
Galloping寫入恢復(fù)向量:12^2n行向量
執(zhí)行方式:對所有單元寫0。再對第一個單元寫1(基本單元),讀取第二個單元, 然后返回來讀取第一個單元。再對第二個單元寫0,讀第二個單元。接下來再在其它所有單元和基本單元之間重復(fù)這個操作。等第一個單元作為基本單元的操作完成之后,再把第二個單元作為基本單元,再作同樣的操作。依此類推,直到所有單元都被當(dāng)過基本單元。最后,再重復(fù)上述過程,但寫入數(shù)據(jù)相反。
目的:這是功能測試,地址解碼測試和干擾測試一個極好的向量。如果選擇適當(dāng)?shù)臅r序,它還可以很好地用于寫入恢復(fù)測試。同時它也能很好地用于讀取時間測試。
其他的測試向量都類似于以上這些向量,都基于相同的核心理念。
動態(tài)隨機(jī)讀取存儲器(DRAM)
動態(tài)隨機(jī)讀取存儲器(DRAM)的測試有以下的一些特殊要求:
1.行地址和列地址在相同的地址線上輸入(行列地址復(fù)用)。他們分別通過RAS和CAS信號來鎖存。
2.需要在固定的時間間隔內(nèi)對芯片進(jìn)行刷新。
3.DRAM能夠進(jìn)行頁操作。因此需要保持行地址不變而改變列地址(或者相反)。
邏輯測試介紹
邏輯芯片功能測試用于保證被測器件能夠正確完成其預(yù)期的功能。為了達(dá)到這個目的,必須先創(chuàng)建測試向量或者真值表,才能進(jìn)檢測代測器件的錯誤。一個真值表檢測錯誤的能力有一個統(tǒng)一的標(biāo)準(zhǔn),被稱作故障覆蓋率。測試向量與測試時序結(jié)合在一起組成了邏輯功能測試的核心。
測試向量
測試向量—也稱作測試圖形或者真值表—由輸入和輸出狀態(tài)組成,代表被測器件的邏輯功能。輸入和輸出狀態(tài)是由字符來表示的,通常1/0用來表示輸入狀態(tài),L/H/Z用來表示輸出狀態(tài),X用來表示沒有輸入也不比較輸出的狀態(tài)。事實(shí)上可以用任何一套字符來表示真值表,只要測試系統(tǒng)能夠正確解釋和執(zhí)行每個字符相應(yīng)的功能。
測試向量是存儲在向量存儲器里面的,每行單獨(dú)的向量代表一個單一測試周期的“原始“數(shù)據(jù)。從向量存儲器里輸入的數(shù)據(jù)與時序,波形格式以及電壓數(shù)據(jù)結(jié)合在一起,通過pin electronic電路施加給待測器件。待測器件的輸出通過pin electronic上的比較電路在適當(dāng)?shù)牟蓸訒r間與存儲在向量存儲器里的數(shù)據(jù)進(jìn)行比較。這種測試被稱作存儲響應(yīng)。
除了待測器件的輸入輸出數(shù)據(jù),測試向量還可能包含測試系統(tǒng)的一些運(yùn)作指令。比如說,要包含時序信息等,因?yàn)闀r序或者波形格式等可能需要在周期之間實(shí)時切換。輸入驅(qū)動器可能需要被打開或者關(guān)閉,輸出比較器也可能需要選擇性地在周期之間開關(guān)。許多測試系統(tǒng)還支持像跳轉(zhuǎn),循環(huán),向量重復(fù),子程序等微操作指令。不同的測試儀,其測試儀指令的表示方式可能會不一樣,這也是當(dāng)把測試程序從一個測試平臺轉(zhuǎn)移到另一個測試平臺時需要做向量轉(zhuǎn)換的原因之一。
比較復(fù)雜的芯片,其測試向量一般是由芯片設(shè)計過程中的仿真數(shù)據(jù)提取而來。仿真數(shù)據(jù)需要重新整理以滿足目標(biāo)測試系統(tǒng)的格式,同時還需要做一些處理以保證正確的運(yùn)行。通常來說測試向量并不是由上百萬行的獨(dú)立向量簡單構(gòu)成的。測試向量或者仿真數(shù)據(jù)可以由設(shè)計工程師,測試工程師或者驗(yàn)證工程師來完成,但是要保證成功的向量生成,都必須對芯片本身和測試系統(tǒng)有非常全面地了解。
測試資源的消耗
當(dāng)開發(fā)一個功能測試時,待測器件各方面的性能與功能都要考慮到。以下這些參數(shù)都要仔細(xì)地進(jìn)行測試或設(shè)置:
VDD Min/Max (待測器件電源電壓)
VIL/VIH (輸入電壓)
VOL/VOH (輸出電壓)
IOL/IOH (輸出電流負(fù)載)
VREF (IOL/IOH轉(zhuǎn)換電平)
測試頻率(測試使用的周期)
輸入信號時序(時鐘/建立時間/保持時間/控制)
輸入信號波形格式
輸出時序(在周期內(nèi)何時對輸出進(jìn)行采樣)
向量順序(向量文件內(nèi)的start/stop位置)
上述的這些資源說明了功能測試會占用測試系統(tǒng)的大部分資源。功能測試主要由兩大塊組成,一是測試向量文件,另外一塊是包含測試指令的主測試程序。測試向量代表了測試待測器件所需的輸入輸出邏輯狀態(tài)。主測試程序包含了保證測試儀硬件能產(chǎn)生必要的電壓,波形和時序等所必需的信息。(如圖所示)
功能測試
當(dāng)功能測試執(zhí)行的時候,測試系統(tǒng)把輸入波形施加給待測器件,并一個周期一個周期,一個管腳一個管腳地監(jiān)控輸出數(shù)據(jù)。如果有任何的輸出數(shù)據(jù)不符合預(yù)期的邏輯狀態(tài),電壓或者時序,該測試結(jié)果被記錄為錯誤。
到現(xiàn)在我們討論了相對簡單的存儲器和數(shù)字芯片測試的基本測試技術(shù)。在此文接下來的兩章里,我們將討論測試更為復(fù)雜的混合信號和射頻/無線芯片的獨(dú)特要求。
評論