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