TR-5001综合测试机
- 产品名称:TR-5001综合测试机
- 产品型号:tr-5001
- 产品厂商:TRI
- 产品文档: tr-5001培训资料 tr5001模拟测试原理
TR-5001综合测试机
的详细介绍TR-5001综合测试机:
C-2
C-2-1 TTL邏輯閘測試原理(TTL Logic Test Theorem)
標準邏輯閘依其邏輯行為可分為 AND、OR、XOR、NOT、NAND、NOR、 FLIPFLOP等兩態元件及OPEN DRAIN,TRI-STATE等元件。上述元件依其複合變化方式以真值表向量PATTERN 方式量測。標準邏輯閘依其包裝別名屬性區分為 74LS244、74F244、74ACT244 或74HCT244 等,但其真值表向量PATTERN為相同PATTERN。AND、OR、XOR、NOT、NAND及NOR輸入狀態需維持至輸出檢測完才可放開。FLIPFLOP等時序元件輸入狀態於觸發條件發生時其輸出即鎖住於兩態之間。
標準邏輯閘依其介面接腳屬性可分為輸入,兩態輸出,三態輸出,OPEN DRAIN輸出,雙向,電源等不同類型的腳位。OPEN DRAIN輸出邏輯狀態會與另一獨立元件輸出產生Wire AND的行為。TRI-STATE元件多數應用於共享BUS上,於輸出端必需有浮接隔離的能力。
標準邏輯閘依其介面接腳準位可分VIH、VIL、VOH及VOL等臨界準位。 TTL、CMOS、LVDS、GTL等臨界準位均有其設定法則,VIH 的設定值需大於規格表中 VIH 的*小值且不能超過該元件電源準位來設定,VIL 的設定值需小於規格表中 VIL 的*大值且不能超過該元件電源準位。
標準邏輯閘於不同拓樸 (Topology) 下衍生不同的自動分析條件。如某輸入腳接地,則該腳位不可測試。如三個元件 U1,U2,U3 共用一組BUS 時,於測試 U1 元件之前必須 Disable U2 及 U3 元件輸出端於浮接狀態。 TR-5001综合测试机
C-2-1-1 輸入及輸出順序(Input and Output Sequence)
基本上TTL的測試過程中,測試資料處理的順序是先處理輸入腳位的測試資料再處理輸出腳位的測試資料。一個 TTL IC 或其中的一個 Gate 都有多個輸入及輸出的腳位數量。當有多個輸入或輸出腳位時,必須依序一一處理,其順序和測試程式庫有關係,因為測試資料是由測試程式庫經過 ATPG 的分析後產生的。 當待測IC不是由多個Gate組成時,也就是一個IC就是一個 Gate 時,其順序是依照腳位的順序,由**個腳位到*後一個腳位依序對輸入腳位輸入測試資料,待全部輸入腳位的測試資料處理完後再由**個腳位到*後一個腳位依序對輸出腳位偵測輸出的資料。但是有一個例外狀況,如果其中一個輸入腳位其資料為 Trigger型態的信號時,此輸入腳位的資料必須保留到其他的輸入腳位的資料都處理後再處理此Trigger 信號,*後再偵測輸出腳位資料。例如 74380。
當待測 IC 由多個 Gate 組成時,輸出輸入的順序是依照測試資料中 #GROUP 內的順序一一處理。同樣的,待此 Gate 全部輸入腳位的測試資料處理完後再依序對此 Gate 的輸出腳位偵測輸出的資料。如果其中一個輸入腳位其資料為Trigger 型態的信號時,此輸入腳位的資料必須保留到其他的輸入腳位的資料都處理後再處理此Trigger 信號,*後再偵測輸出腳位資料。例如 7400、 7474 等。
C-2-1-2 GROUP 設定技巧
在 TTL 資料中,#GROUP 資料可說明 IC 內 Gate 之間的關係。一個三個腳位的 gate 若包含 2 個輸入腳及 1 個輸出腳,則 #GROUP 資料可設定成以下兩種模式。
#GROUP=1,3
2,1,4
與
#GROUP=1,3
1,2,4
在一般狀況下,這兩種模式的測試結果應該相同。如果詳細討論細部的測試動作,這兩行有一個特別的意義。在每一種設定中,腳位 2 的測試資料比腳位 1 的測試資料先輸入。當測試線路需要這樣的測試條件時,可以利用這個技巧來完成。
C-2-2 Tree-Chain 測試原理
絕大部分晶片元件於功能測試時需要大量的測試 Pattern,利用其Function Pattern來檢測晶片元件是否有製程上的問題,但是這樣的做法並不實際。不僅需要較長的測試時間,且增加開發測試程式的難度。所以近年來,內建Tree Chain 架構的 IC 也越來越多。
Tree Chain 的測試是藉由待測 IC 內部的 Gate串聯成 Chain 結構,再以 TTL 測試理論測試此內建的 Chain 結構的測試方法,以判斷 IC 是否有開路**的問題。早期的 Tree Chain 設計為 And Gate 或 Nand Gate 所組成,稱為 And Tree 或 Nand Tree。 但此種架構有部分缺點,近來 Tree Chain 漸漸設計為 Xor Gate 所組成,稱為 Xor Tree。 Xor Tree 無串接腳位開路造成可測率下降的問題。
所以要達成 Tree Chain 測試的**個條件就是待測 IC 必須要內建為了測試 Tree Chain 所設計的線路。因為 Tree Chain 是為了測試所內建的測試線路,這個測試線路當然不是此 IC 一般正常的工作線路,然而這些線路是共用所有的輸出及輸入點。所以在執行 Tree Chain 測試之前,必須要求 IC 進入測試模式, 也就是要輸入測試命令給待測 IC。
進入 Tree Chain 測試模式則視不同晶片的規格表 (Data Sheet) 內描述的方式有所不同,稱為 Tree Chain 命令。 Tree Chain 是由 多個 Gate 所組成的,因每個 Gate 的輸出點連接到下一個 Gate 的輸入點,所以稱為 Chain List,每個 Chain 的*後一個 Gate 的輸出點稱為 Output, 測試時藉由這個點得到的輸出資料作為測試結果,以判斷 IC 是否有開路**的問題。
Chain List 的組成架構中,每一個 Chain有多個輸入點和一個輸出點。在 Tree Chain 的測試演算法中,每個輸入點的輸入資料和輸出點的輸出資料並未描述在程式庫及衍生出來的測試程式中,而是已經建立在系統軟體內。系統軟體依據 Chain List 的數量自動計算每個輸入點應該有的輸入資料,並且透過輸入資料的變化而偵測其輸出資料來判斷是否有測試**的情形。
C-2-2-1 測試命令執行動作
一般來說,較複雜的測試命令為多腳位且包含 Clock 形式的測試命令,例如 :
1 0 1 0 1 0 1 0 1 0
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
此 pattern 命令需控制 8 個腳位的輸入,而 Pattern 深度為 10 筆。
依照 pattern 的順序由左而右輸入待測零件。
C-2-2-2 Tree Chain 測試演算法(Tree Chain Test Algorithm)
Chain List測試演算法依照其內部 Gate 的架構有所差異,每個 Chain 分別獨立測試。 基本上此 Chain 的所有輸入腳位依序變化輸入準位,由*接近此 Chain 的輸出點的前一輸入腳位給予轉態的信號並觀察輸出點是否有轉態發生。正在變化狀態的腳位稱為待測腳位,如果此 Tree 為 Nand 或XOR時,待測腳位的前一個及前三個腳位必須同時設為低準位。每次待測腳位由高準位變為低準位時讀取一次輸出腳位準位,當待測腳位由低準位變為高準位時讀取另一次輸出腳位準位,這兩次讀取的結果若不相同,表示此待測腳位為正常狀態。反之,則表示此待測腳位**。
Connect ON for all pins of this chain
Set all Input pins to array PIN
Set all Input pins to Hi
for all input Pins
{
if this chain is not AND TREE
{
set PIN [I-1] to Lo
set PIN [I-3] to Lo
}
set PIN [I] to Lo
Sense output Pin, save result to V1
set PIN [I] to Hi
Sense output Pin, save result to V2
if V1 equal to v2
PIN [I] fail;
}
Connect OFF for all pins of this chain
C-2-3 Memory 測試原理
基本上, Memory IC 的動態測試依照被測試的記憶體區塊數量可分為 partial cell 測試及 full cell 測試。 Cell,其意義為 Memory IC 內其中一個位址的記憶體區塊,也就是透過 Address Bus 指定記憶體位址執行讀寫的*小記憶體單位。 而一個 Memory IC 是由成千上萬個 cell 所組成的。 所謂 full cell 測試其意義為對整個 Memory IC 的所有記憶體區塊執行讀寫的測試動作。 這樣的測試方式雖然可測試全部的記憶體區塊, 但是測試時間很長且是沒有必要的。
若以製程問題來討論, 測試一個 Memory IC 是否**只需要測試某些特定的 Address 及 Data 內容,就可以測試所有腳位的功能是否正常。 這些特定的 Address 及 Data 是經過設計的, 並不是任意取幾個 Address 或 Data 來測試。 這些設計過的 Address, Data 可以達到每一個輸出及輸入腳位都有 “0”, “1” 的變化而且能夠偵測製程**的問題。
當然,full cell 的測試並不是沒有優點,每一個 cell 都測試可以檢查每一個 cell 的 read / write 資料是否正常。 但這種測試方法一般使用在 IC 製造廠, 在組裝生產線上並不需要這樣的測試方法。 也就是說, 只需要測試經過設計的特定 Address 及 Data 來測試少數特定的 cell 就足夠了,這就是 partial cell 測試。 不但可以節省測試時間, 而且達到相同的可測率.
C-2-3-1 Walking one for Address bus
假設待測 IC 的位址線共有 10 個腳位 (A9-A0),資料線共有 8 個腳位 (D7-D0),利用 walking one 來變化位址線的位址內容,可測試出位址線的製程**。正常的完整測試程序如下:
Action Address Data
Write 0b0000000001 0x01 (Let A0 change from 1 to 0)
Write 0b0000000000 0x00
Read 0b0000000001 0x01
Write 0b0000000010 0x01 (Let A1 change from 1 to 0)
Write 0b0000000000 0x00
Read 0b0000000010 0x01
.
.
.
Write 0b1000000000 0x01 (Let A9 change from 1 to 0)
Write 0b0000000000 0x00
Read 0b1000000000 0x01
假設 A0 開路**且輸入的信號永遠為 0,當希望 A0 輸入 1 (高準位) 時,實際輸入的信號為 0(低準位),原來的三個測試程序為:
Write 0b0000000001 0x01 (Let A0 change from 1 to 0)
Write 0b0000000000 0x00
Read 0b0000000001 0x01
以上的三個測試程序會改變為:
Write 0b0000000000 0x01
Write 0b0000000000 0x00
Read 0b0000000000 0x00
正常時讀取的資料為 1,此時讀取的資料為 0,所以可以判斷 A0 **。
C-2-3-2 Walking zero for Address bus
如果 A0 開路**且輸入的信號永遠為 1(高準位) 時,可以利用 walking zero 來變化位址線的位址內容,可測試出位址線的製程**。當希望 A0 輸入 0 (低準位) 時,實際輸入的信號為 1(高準位),原來的三個測試程序為:
Write 0b1111111110 0x01 (Let A0 change from 1 to 0)
Write 0b1111111111 0x00
Read 0b111111110 0x01
以上的三個測試程序會改變為:
Write 0b1111111111 0x01
Write 0b1111111111 0x00
Read 0b1111111111 0x00
正常時讀取的資料為 1,此時讀取的資料為 0,所以可以判斷 A0 **。
C-2-3-3 Data bus
假設 Address Bus 正常時,可針對所有的 Data 腳位分別輸入 0 (低準位) 和 1(高準位) 來測試 Data Bus,若資料線共有 8 個腳位 (D7-D0),正常的完整測試程序如下:
Action Address Data
Write 0b0000000000 0b00000000
Read 0b0000000000 0b00000000
Write 0b0000000000 0b11111111
Read 0b0000000000 0b11111111
假設 D6 開路不良且輸入的信號永遠為 1,當希望 D6 輸入 0 (低準位) 時,實際輸入的信號為 1(高準位),原來的三個測試程序為:
Write 0b0000000000 0b00000000
Read 0b0000000000 0b00000000
以上的三個測試程序會改變為:
Write 0b0000000000 0b01000000
Read 0b0000000000 0b01000000
正常時讀取的資料為 0,此時讀取的資料為 1,所以可以判斷 D6 **。
假設 D2 開路**且輸入的信號永遠為 0,當希望 D2 輸入 1 (高準位) 時,實際輸入的信號為 0(低準位),原來的三個測試程序為:
Write 0b0000000000 0b11111111
Read 0b0000000000 0b11111111
以上的三個測試程序會改變為:
Write 0b0000000000 0b11111011
Read 0b0000000000 0b11111011
正常時讀取的資料為 1,此時讀取的資料為 0,所以可以判斷 D2 **。
C-2-4 I2C 基本概念
I2C 介面是由 Philips Corporation 發展的一套 IC 控制介面,稱為可程式化串列介面 (Serial Programming I2C Interface,簡稱 I2C)。它是一個 IC 內部與外界的控制介面,依照其規定的通信協定 (Protocol),透過這個介面將特定的控制命令寫入 IC 內,進而控制 IC 的動作。要達成 I2C 測試之條件為,待測 IC 必須要內建 I2C 介面。
這種介面已經應用在部分的 IC 中,例如在 Clock Generator 的 IC中, 可透過 I2C 介面改變其輸出頻率或是關閉(Disable)頻率信號的輸出。 當測試系統希望量測該 IC 的輸出頻率時,可以利用 I2C 介面寫入除頻命令降低該 IC 的輸出頻率以降低量測的困難度,量測後也可以透過 I2C 介面關閉頻率信號的輸出,以避免影響其他 IC 的測試。
I2C 介面使用 SDATA 及 SCLK 兩個輸入腳位,稱為 I2C Bus,所以支援 I2C 介面的 IC 必須提供這 2 個輸入腳位。SDATA 為串列資料的輸入腳位、SCLK 為資料輸入的同步信號腳位。由於是串列傳送資料,每一位元必須與 SCLK同步,以保證資料能正確地被接收。藉由 SDATA 與 SCLK 信號間的時序差異, SDATA 線上的信號可分為命令 (Command) 及資料 (Data) 兩類。 I2C 通訊協定基本上是由發送端傳送 START COMMAND 啟動,隨後為一連串的DATA,而在傳送每一筆DATA (BYTE或WORD)後,接收端須回應一ACK信號以作確定。*後發送端傳送STOP COMMAND作為結束。
測試系統依照 I2C 的通信協定透過這兩個腳位就可以將控制命令寫入 IC 內部以控制 IC 的動作。所以支援 I2C 介面的 IC 可以使用這種方法達到其測試的目的。 一般來說,在測試程式中可以運用 I2C 的測試步驟控制對應 IC 的動作,這個步驟可以視為一個設定的步驟,配合其他的測試步驟完成該 IC 的測試。
P2C 介面是由 Texas Instrument Corporation 發展的一套 IC 控制介面,稱為 PCMCIA Peripheral Control。它是一個 IC 內部與外界的控制介面,依照其規定的通信協定 (Protocol),透過這個介面將特定的控制命令寫入 IC 內,進而控制 IC 的動作。要達成 P2C 測試之條件為,待測 IC 必須要內建 P2C 介面。
這種介面已經應用在部分的 IC 中,例如在 PCMCIA Card Power Interface Switch 的 IC 中,可透過 P2C 介面改變其輸出電壓。當測試系統希望量測該 IC 的輸出電壓時,可以利用 P2C 介面寫入特定的命令後進行量測。 TR-5001综合测试机
P2C 介面的控制方式與 I2C 介面很類似。P2C 介面使用 DTAT、CLOCK 與 LATCH 三個輸入腳位,稱為 P2C Bus, 以支援 P2C 介面的 IC 必須提供這三個輸入腳位。DATA 為串列資料的輸入腳位,CLOCK 為資料輸入的同步信號腳位,LATCH 為資料保留的信號腳位。 測試系統依照 P2C 的通信協定透過這三個腳位就可以將控制命令寫入 IC 內部以控制 IC 的動作。
C-2-6 Boundary-Scan測試原理
C-2-6-1 Boundary-Scan 基本概念
Boundary Scan (BSCAN) 是由JTAG發展出來的測試技術,經IEEE組織認可而成為 IEEE 1149.1 標準,其目的是方便組裝電路板的測試。傳統對於組裝電路板製程**所採的測試方式為利用針床與待測板上的測試點接觸,再由測試儀器產生信號,經測試點至各待測零件執行測試動作。然而隨著電路板的複雜度增加,例如CPU、ASIC、CHIPSET等腳位增加,及產品日益要求輕薄短小,使得待測板上可預留的測試點愈來愈少,以致降低可測率。而 BSCAN即為針對此問題所發展的對策之一。現今許多晶片皆內建 BSCAN 電路使其易於測試。
Boundary-Scan 是藉由測試 IC 內部為了製程問題而設計的線路的一種測試方法。這些線路為特殊的內建測試線路,然而並不是每個 IC 都會內建這樣的測試線路。 所以要達成 BSCAN 測試的**個條件就是待測 IC 必須要支援 BSCAN 的測試。除此之外,支援 BSCAN 測試的 IC 都會有一個由 IC 製造廠商所提供的對應檔案,這個檔案描述該 IC 的 BSCAN 測試線路的組成架構,測試系統根據這個測試線路的架構執行 BSCAN 的測試。這個檔案有共同的格式使每一家 IC 製造廠商所寫的 BSCAN 程式庫能夠適用於各種測試設備,稱為 Boundary-Scan Description Language (BSDL)。所以這個檔案稱為此 IC 的BSDL 檔,也就是系統的程式庫所需要的檔案。簡單來說,一個 IC 要執行 BSCAN 測試的兩個基本條件為:
此 IC 支援 BSCAN 的測試。
已經準備此 IC 的 BSDL 檔案。
C-2-6-2 Boundary-Scan 測試原理
簡單來說, BSCAN 的內建測試線路是在每一個數位的輸入及輸出腳位連接至少一個 Cell 所組成的,對 IC 腳位而言,Cell 可分為輸入及輸出型態。**個 Cell 並再連接一個輸入點稱為 TDI,每個 Cell 的輸出點連接到下一個 Cell 的輸入點,*後一個 Cell 的輸出點稱為 TDO。 BSCAN 的測試線路是由這些 Cell 再加上一些控制線路所組成的。測試時藉由控制線路的命令,將 TDO 得到的輸出資料及偵測每一個輸出型態的 Cell 的資料作為測試結果,以判斷 IC 是否有開路**的問題。
TAP 腳位
在 BSCAN IC 中,內建 4 個或 5 個 BSCAN 測試專用的控制腳位。稱為 Test Access Point(TAP),基本上每個 BSCAN 至少有 4 個控制腳位 (TDI、TDO、TCK、TMS),有些 IC 會有第五個控制腳位 (RESET)。TCK、TMS 及RESET 控制待測 IC 的測試流程,TDI 及 TDO 為測試資料的輸入及輸出腳位,藉由這個腳位傳遞輸入及輸出的資料。配合TCK(CLK) 及TMS(模式選擇),可將串列測試 Pattern 送入TDI,而於TDO或各I/O PIN擷取 Pattern,藉以測試內部邏輯電路的功能或周邊相關零件及製程檢查。
TDI:Test data Input 串列的測試資料由此點輸入
TDO:Test data Output串列的測試資料由此點輸出
TCK:Test Clock 測試時的同步信號
TMS:Test Mode Select 測試時的測試模式輸入點
RESET:Test Reset 測試過程時的 Reset 信號輸入點
TAP 控制器 (Controller)
TAP Controller 內建在 BSCAN IC 內的一個 Finite States Machine。這個控制器控制所有 BSCAN 測試過程中 IC 內部的行為,藉由 TCK、TMS、Reset 三個腳位的輸入資料來決定此 Finite States Machine 的狀態。
指令暫存器
BSCAN 的測試線路是為了測試所設計的,這個測試線路當然不是此 IC 正常的工作線路,然而這些線路是共用所有的輸出及輸入點。所以在執行 BSCAN 測試之前,必須要求 IC 進入測試模式,也就是要輸入測試命令給待測 IC。 在 IC 內有一個專用的指令暫存器(Boundary-Scan Instruction Register, IR), 這個暫存器設定 BSCAN 的測試命令,Tap Controller 依據 Finite States Machine 的狀態及 IR 內的測試命令執行 IC 內部對應的行為來達到 BSCAN 測試的功能,IR 的資料是由 TAP 腳位輸入。
資料暫存器
BSCAN IC 內另外有一些儲存各種資料的暫存器稱為資料暫存器 (Data Register),這些暫存器都位於 TDI 及 TDO 之間,使得經由 TDI 的輸入資料能傳入這些資料暫存器再經由 TDO 輸出。
Bypass Register
為單一個 Cell 所組成的暫存器,它是 TDI 到 TDO 之間*短的路線。當 IR 為 BYPASS 命令時,可以將整個 IC 視為一個單一的 Cell,經由 TAP 的控制,將 TDI 的資料傳入這個暫存器再經由 TDO 輸出。這個簡單的動作可測試 TAP 的功能是否正常, 也可應用在多個 BSCAN IC 同步測試的狀況。
Device Identification Register
為 32 個 Bit 所組成的暫存器,其儲存每個 BSCAN IC 特定的零件號碼資料,可用來確認 IC 是否與其應有的號碼相同,測試時可將 IR 設定為讀取 ID 的命令並藉由 TDO 讀取這個暫存器的內容來判斷 IC 是否錯件,另外要注意並非所有的 BSCAN IC 都會有這個暫存器。
Boundary Register
這個暫存器是*重要的暫存器,在每個數位的輸入或輸出腳位(不包含 TAP 的腳位)旁,都有相鄰的 Cell。 這些 Cell 由 TDI 開始到 TDO 結束連接成一圈,稱為 Boundary Register 或 Boundary Scan Cell, 這個暫存器用來控制和偵測每個 IC 的數位腳位在 BSCAN 測試過程中需要的輸入及輸出資料。基本上,每個輸入或輸出的腳位對應到 1-3 個不等的 Cell,並沒有特別的規則, Cell 的 I/O 屬性分為 Input、Output、Bidirectory 及 Control。
Input:這個 Cell 為輸入的屬性,所以其連接的腳位在 BSCAN 測試時是屬於輸入腳。
Output:這個 cell 為輸出的屬性,所以其連接的腳位在 BSCAN 測試時是屬於輸出腳。
Bidirectory:這個 Cell 為輸入及輸出的屬性,所以其連接的腳位在 BSCAN 測試時是屬於輸入及輸出腳。有些腳位是以一個輸入的 Cell 和輸出的 Cell 來達到 Bidirectory 的屬性。
Control:這個 Cell 並非輸入及輸出的屬性,也沒有連接 IC 的任何腳位,此Cell 可控制輸出屬性的 Cell 的輸出狀態或 Tri-State 狀態。基本上每一個輸出的 Cell 都會有對應的 Control Cell,但有些 Control Cell 只控制一個輸出 Cell,也有些 Control Cell 可控制多個輸出 Cell。
以下的範例中,BC0 為輸入屬性的 Cell、BC1 為控制屬性的 Cell、BC2 為輸出屬性的 Cell、BC1 控制 BC2 的輸出狀態。 這三個 Cell 稱為 Boundary Register,這些 Cell 與 TDI, TDO 之間的順序為 TDI、BC2、BC1、BC0、TDO。此 IC 除了 Boundary Register 外,還有 Bypass Register 和 Instruction Register。
TR-5001综合测试机
數位元件測試原理