存儲器和邏輯芯片的測試
存儲器芯片是在特定條件下用來存儲數(shù)字信息的芯片。存儲的信息可以是操作代碼,數(shù)據(jù)文件或者是二者的結(jié)合等。根據(jù)特性的不同,存儲器可以分為以下幾類,如表1所示:
存儲器術(shù)語的定義
在討論存儲器芯片測試之前,有必要先定義一些相關(guān)的術(shù)語。
寫入恢復時間(Write Recovery Time):一個存儲單元在寫入操作之后和正確讀取之前中間必須等待的時間。
保持時間(Hold Time):輸入數(shù)據(jù)電平在鎖存時鐘之后必須保持的時間間隔。
Pause Test:存儲器內(nèi)容保持時間的測試。
刷新時間(Refresh Time):存儲器刷新的最大時間間隔。
建立時間(Setup Time):輸入數(shù)據(jù)電平在鎖存時鐘之前必須穩(wěn)定保持的時間間隔。
上升和下降時間(Rise and Fall Times):功能速度測試是通過重復地進行功能測試,同時改變芯片測試的周期或頻率來完成的。測試的周期通常使用二進制搜索的辦法來進行改變。這些測試能夠測出芯片的最快運行速度。
寫入恢復(Write Recovery):一個存儲單元在寫入操作之后和下一個存儲單元能正確讀取之前中間必須等待的時間。
讀取時間(Access time):通常是指在讀使能,片選信號或地址改變到輸出端輸出新數(shù)據(jù)的所需的最小時間。讀取時間取決于存儲器讀取時的流程。
存儲器芯片測試中的功能測試
存儲器芯片必須經(jīng)過許多必要的測試以保證其功能正確。這些測試主要用來確保芯片不包含一下類型的錯誤:
存儲單元短路:存儲單元與電源或者地段路
存儲單元開路:存儲單元在寫入時狀態(tài)不能改變相鄰單元短路:根據(jù)不同的短路狀態(tài),相鄰的單元會被寫入相同或相反的數(shù)據(jù)地址
開路或短路:這種錯誤引起一個存儲單元對應(yīng)多個地址或者多個地址對應(yīng)一個存儲單元。這種錯誤不容易被檢測,因為我們一次只能檢查輸入地址所對應(yīng)的輸出響應(yīng),很難確定是哪一個物理地址被真正讀取。
存儲單元干擾:它是指在寫入或者讀取一個存儲單元的時候可能會引起它周圍或者相鄰的存儲單元狀態(tài)的改變,也就是狀態(tài)被干擾了。
存儲器芯片測試時用于錯誤檢測的測試向量
測試向量是施加給存儲器芯片的一系列的功能,即不同的讀和寫等的功能組合。它主要用于測試芯片的功能錯誤。常用的存儲器測試向量如下所示,分別介紹一下他們的執(zhí)行方式以及測試目的.
全”0”和全”1”向量: 4n行向量執(zhí)行方式:對所有單元寫”1”再讀取驗證所有單元。對所有單元寫”0”再讀取驗證所有單元。
目的:檢查存儲單元短路或者開路錯誤。也能檢查相鄰單元短路的問題。
棋盤格(Checkerboard)向量:4n行向量
執(zhí)行方式:先運行0-1棋盤格向量,也就是第一個單元寫1,第二個單元寫0,第三個單元再寫1,依此類推,直到最后一個單元,接下來再讀取并驗證所有單元。再運行一個1-0棋盤格向量,就是對所有單元寫入跟0-1棋盤格完全相反的數(shù)據(jù),再讀取并驗證所有單元。
目的:這是功能測試,地址解碼和單元干擾的一個最基本最簡單的測試向量。它還能檢查連續(xù)地址錯誤或者干擾錯誤,也通常用它作為時間測量時的向量。
Patterns Marching向量:5n行向量
執(zhí)行方式:先對所有單元寫0.讀取第一個單元,再對第一個單元寫1。再讀取第二個單元,再對第二個單元寫1,依此類推,直到最后一個單元。最后再重復上述操作,只是寫入數(shù)據(jù)相反。
目的:這是功能測試,地址解碼和單元干擾的一個最基本最簡單的測試向量。它還能檢查連續(xù)地址錯誤或者干擾錯誤,也通常用它作為時間測量時的向量。
Walking向量:2n^2 行向量
執(zhí)行方式:先對所有單元寫0,再讀取所有單元。接下來對第一個單元寫1,讀取所有單元,讀完之后把第一個單元寫回0。再對第二個單元寫1,讀取所有單元,讀完之后把第二個單元寫回0。依次類推,重復到最后一個單元。等上述操作完成之后,再重復上述操作,只不過寫入的數(shù)據(jù)相反。
目的:檢查所有的地址解碼錯誤。它的缺點是它的運行時間太長。假設(shè)讀寫周期為500ns,對一個4K的RAM進行wakling向量測試就需要16秒的測試時間。如果知道存儲器的結(jié)構(gòu),我們可以只進行行或者列的walking以減少測試時間。
Galloping寫入恢復向量:12^2n行向量
執(zhí)行方式:對所有單元寫0。再對第一個單元寫1(基本單元),讀取第二個單元, 然后返回來讀取第一個單元。再對第二個單元寫0,讀第二個單元。接下來再在其它所有單元和基本單元之間重復這個操作。等第一個單元作為基本單元的操作完成之后,再把第二個單元作為基本單元,再作同樣的操作。依此類推,直到所有單元都被當過基本單元。最后,再重復上述過程,但寫入數(shù)據(jù)相反。
目的:這是功能測試,地址解碼測試和干擾測試一個極好的向量。如果選擇適當?shù)臅r序,它還可以很好地用于寫入恢復測試。同時它也能很好地用于讀取時間測試。
其他的測試向量都類似于以上這些向量,都基于相同的核心理念。
動態(tài)隨機讀取存儲器(DRAM)
動態(tài)隨機讀取存儲器( DRAM)的測試有以下的一些特殊要求:
1.行地址和列地址在相同的地址線上輸入(行列地址復用)。他們分別通過RAS和CAS信號來鎖存。
2.需要在固定的時間間隔內(nèi)對芯片進行刷新。
3.DRAM能夠進行頁操作。因此需要保持行地址不變而改變列地址(或者相反)。
邏輯測試介紹
邏輯芯片功能測試用于保證被測器件能夠正確完成其預(yù)期的功能。為了達到這個目的,必須先創(chuàng)建測試向量或者真值表,才能進檢測代測器件的錯誤。一個真值表檢測錯誤的能力有一個統(tǒng)一的標準,被稱作故障覆蓋率。測試向量與測試時序結(jié)合在一起組成了邏輯功能測試的核心。
評論