Professional Documents
Culture Documents
Scan Testing Scan Testing Scan Testing Scan Testing
Scan Testing Scan Testing Scan Testing Scan Testing
University of Ioannina
University of Ioannina
Scan Testing
Dept. of Computer Science and Engineering
Y. Tsiatouhas
CMOS Integrated Circuit Design Techniques
Overview
1. Scan testing: design and application
2. At speed testing
3. The scan‐
The scan‐set design technique
4. Scan testing power issues
5. The scan‐
The scan‐hold design technique
g q
6. Level sensitive scan design
VLSI Systems
7. Broadcast and Illinois scan design
and Computer Architecture Lab
Scan Testing 2
1
Sequential Circuits Testing
In sequential circuits the initial state
(register’s values) is not by default known.
outputs = f(inputs, state) Consequently, the sensitization of faults
and the propagation of the corresponding
erroneous responses may turn to be a hard
Inputs task.
Combinational Outputs
Logic A solution is to use techniques for the
proper initialization of the circuit state to
known values.
• Application of proper test vector
sequences and/or the use of Set/Reset
Registers signals to setup the required state.
• Development of efficient techniques to
Clock set the initial state and observe the
“State
State””
subsequent state after the response of
the circuit.
Scan Testing 3
General Scan Testing Scheme
Registers Logic
Scan‐In
Inputs Outputs
Clock
Scan‐Out
Scan
Register
The memory elements (latches or Flip‐Flops) in a design are properly connected to form
a unified shift register (scan register or chain). This way the internal state of the circuit is
determined (controlled) by shifting in (scan‐in) to the scan register the required test data
to be applied to the combinational logic. Moreover, the existing internal state (previous
logic response) can be observed by shifting out (scan‐out) the data stored into the scan
register.
Scan Testing 4
2
Scan Testing Design (Ι)
Scan Testing Design (Ι)
Primary Inputs
PI Combinational PO Primary Outputs
Logic
Pseudo‐Primary Outputs
Full Scan
Register
PI PO
Combinational
PPI Logic PPO
Original Circuit
S
Scan‐In
I
Pseudo‐Primary Inputs
Scan
Register
Scan‐Out
Scan Testing 5
Scan Testing Design (Ι
Scan Testing Design (ΙII)
Multiple Scan Chains Partial Scan
PI Combinational PO PI Combinational PO
Logic Logic
Scan‐In_1
Scan
Register
Register
Scan‐Out_1
S
Scan‐In_N
I N .
.
Scan‐In
.
Scan Scan
Register Register
Scan‐Out_N Scan‐Out
Scan Testing 6
3
Scan Path Design (I)
utputs
nputs
X1 Z1
Combinational
Primary Ou
Primary In
X2 Z2
. . . Logic . . .
XK ZN
Scan FF D Flip‐Flop
0 0 0 0 SO
D Q D Q D Q
MUX
MUX
MUX
MUX
SI 1 2 M
1 1 1 1
CLK CLK . . . CLK
Scan Chain
SE
“1”
CLK
Scan Mode
SE=“1”
Scan Testing 7
Scan Path Design (II)
utputs
nputs
X1 Z1
Combinational
Primary Ou
Primary In
X2 Z2
. . . Logic . . .
XK ZN
0 0 0 0 SO
D Q D Q D Q
MUX
MUX
MUX
MUX
SI 1 2 M
1 1 1 1
CLK CLK . . . CLK
Scan Chain
SE
“0”
CLK
Normal Mode
SE=“0”
Scan Testing 8
4
Primaary Inputs
. . .
Test Sequences During Scan Testing
Test Vector
. . .
SI
clock cycles
1st sequence 2nd sequence 3rd sequence 4th sequence th (Ν+1)th sequence
. . . Ν sequence
Outputs
. . .
Test Response
.
. . .
Primary O
SO
clock cycles
Scan Testing 9
Scan Application (Ι)
1 Scan cells testing
2 SE = “1”
Scan‐in of alternating
3 Μ+1 clock cycles
“0” and “1” from the SI input
Response observation
4
at the SO output
Μ = # of scan cells
Scan Testing 10
5
Scan Application (ΙI
(ΙI)
5 Logic testing
g g
SE = “1”: Test data scan‐in
6 Μ clock cycles (scan‐in cycles)
from the SI inputs
SE = “0”: Test pattern
7
application from the PI inputs
Single clock pulse and
8 single clock cycle (capture cycle)
response observation at the POs
Scan Testing 11
Scan Application (ΙII
(ΙII))
SE = “1”: New test data
scan‐in from the SIs Μ clock cycles
9
and simultaneous scan‐out of
the test responses from the SOs
Exists another YES
10 7
test vector;
No
11 End
Scan Testing 12
6
Delay Fault Testing
11 In1 1 Out1
D Q D Q
CLK
side path
CLK
1
01 In2 D Q D Q Out2
CLK CLK
Logic
CLK path under test CLK
At Speed Scan Testing (I)
(Skewed‐‐load or Launch
(Skewed load or Launch‐‐on
on‐‐shift Technique)
X1 Z1
Combinational
X2 Z2
Logic . . .
. . .
XK ZN
0 0 0 0 SO
MUX
MUX
MUX
MUX
SI D Q D Q D Q
1 1 1 2 1 M 1
CLK CLK . . . CLK
Scan Chain
SE
CLK
pture
unch
Lau
Cap
SE
Fast Transition
t
Scan Testing 14
7
At Speed Scan Testing (II)
(Double Capture or Launch
(Double Capture or Launch‐‐on
on‐‐Capture Technique)
X1 Z1
Combinational
X2 Z2
Logic . . .
. . .
XK ZN
0 0 0 0 SO
MUX
MUX
MUX
MUX
SI D Q D Q D Q
1 1 1 2 1 M 1
CLK CLK . . . CLK
Scan Chain
SE
CLK
pture
unch
Lau
Cap
Shift Shift Shift
Delay fault oriented
CLK
scan testing
technique
SE Dead
Time
t
Scan Testing 15
Fast Clock Pulses Generation
SE
D Q
Scan_CLK
Q1 Q2 Q3 Q4 Q5
Shift Register
PLL Clock_Gating
PLL_CLK 0 CLK
1
Scan_CLK
_
SE
PLL_CLK
Clock_Gating
CLK
t
Scan Testing 16
8
The Clocked‐‐Scan Technique
The Clocked
X1 Z1
X2 Combinational Z2
Logic
PI . . . . . . PO
XK ZN
D Q D Q D Q
DCK DCK DCK
SI SI SI
. . . SI SO
1 2 M
SCK SCK SCK
Flip‐Flop
DCK
SCK
Scan Testing 17
The Scan
Scan‐‐Set Technique (I)
X1 Z1
X2 Combinational Z2
PI . . . Logic . . . PO
XK ZN
0 0 0
D Q D Q D Q
1 1 1 2 1 M
CLK CLK . . . CLK
SE1 “0”
SCLK
0 0 0
D Q D Q D Q SO
SI 1 1 1 2 1 M
CLK CLK . . . CLK
SE2 “1”
Test Data Scan‐In
TCLK SE1=“0” ‐ SE2=“1”
Scan Testing 18
9
The Scan
Scan‐‐Set Technique (II)
X1 Z1
X2 Combinational Z2
PI . . . Logic . . . PO
XK ZN
0 0 0
D Q D Q D Q
1 1 1 2 1 M
CLK CLK . . . CLK
SE1 “1”
SCLK
0 0 0
D Q D Q D Q SO
SI 1 1 1 2 1 M
CLK CLK . . . CLK
SE2 “0”
Test Data Application
TCLK SE1=“1” ‐ SE2=“0”
Scan Testing 19
The Scan
Scan‐‐Set Technique (III)
X1 Z1
X2 Combinational Z2
PI . . . Logic . . . PO
XK ZN
0 0 0
D Q D Q D Q
1 1 1 2 1 M
CLK CLK . . . CLK
SE1 “0”
SCLK
0 0 0
D Q D Q D Q SO
SI 1 1 1 2 1 M
CLK CLK . . . CLK
SE2 “0”
Test Response Capture
TCLK SE1=“0” ‐ SE2=“0”
Scan Testing 20
10
The Scan
Scan‐‐Set Technique (IV)
X1 Z1
X2 Combinational Z2
PI . . . Logic . . . PO
XK ZN
0 0 0
D Q D Q D Q
1 1 1 2 1 M
CLK CLK . . . CLK
SE1 “0”
SCLK
0 0 0
D Q D Q D Q SO
SI 1 1 1 2 1 M
CLK CLK . . . CLK
SE2 “1”
Test Response Scan‐Out
TCLK SE1=“0” ‐ SE2=“1”
Scan Testing 21
Dual Flip
Dual Flip‐‐Flops Scan Architecture
Flip‐Flop
SCB
Scan FF
SI
from scan FF D1 Master C Slave
SCA Latch L t h
Latch
C1 Q SO
D Q to scan FF
D2
CUPTURE
C2
System FF
D1 Slave
UPDATE Latch
C1
Q Q
D to logic
from logic D Q D2
Master C2
C Latch
CLK
Intel
Scan Testing 22
11
Scan Testing Impact
Scan Testing 23
Scan Chain Shift Power Consumption (I)
Test Vector Scan Chain Response
Capture 0 1 1 0 1 0 1 0 0 0 1 0
Cycle 4
y 0 1 1 0 1
1 0
0 1 0
1 0 0 0 1 0
Cycle 5 0 1 1 0 1 0 1 0 0 0 1 0
Cycle 6 0 1 1 0 1 0 1 0 0 0 1 0
Scan Testing 24
12
Scan Chain Shift Power Consumption (II)
Test Vector Scan Chain Response
0 1 1 0 1 0 1 0 0 0 1 0
0 1 1 0 1 0 # Transitions
# Transitions =
0 1 0 0 0 1
Distance from 1st scan‐out bit
0 1 1 0 1 0
0 1 0
1 0 0 0 1 0
# Transitions =
0 1 1 0 1 0 1 0 0 0 1 0
L – (Distance from 1st scan‐in bit)
0 1 1 0 1 0 1 0 0 0 1 0
L = scan chain length
Scan Testing 25
Scan Chain Capture Power Consumption
1 0 1 0 0 0 New Response
Previous Test Vector 0 1 1 1 0 1
Previous Scan Chain State
Previous Scan Chain State Scan Chainh
1 0 1 0 0 0 New Scan Chain State
Scan Chain
Power consumption during scan testing procedures is a major concern since it can be several
times higher
g than this duringg the normal mode of operation.
p This can affect the reliabilityy of
the circuit under test (CUT) due to overheat and electromigration phenomena.
The excessive switching activity of the CUT during the scan operations may violate the power
supply IR and Ldi/dt drop limitations and increase the probability of noise induced test
failures. In addition, the elevated temperature can degrade the speed performance of the
CUT and result to erroneous test responses that will invalidate the testing process and lead
to yield loss.
Scan Testing 26
13
X‐bit Assignment
• A large number of bits in a test cube that is generated by
an ATPG tool are don’t care bits (X‐bits).
• In order to apply a test cube for circuit testing, specific
values must be assigned to the X‐bits (test vector
formation). This task is called X‐filling.
• The X‐filling process can be oriented for shift and/or
capture power reduction.
Scan Testing 27
Low Power Scan
from logic to logic
Scan FF
DI
0 Original Topology
Original Topology
D Q
MUX
1
SI CLK
from scan FF to scan FF
SE CLK SE to logic
from logic Scan FF
Scan Testing 28
14
Scan‐‐Hold Flip
Scan Hold Flip‐‐Flop
from logic to logic
Scan FF
DI
0 Original Topology
Original Topology
MUX D Q
1 FF
SI
CLK
from scan FF to scan FF
SE CLK
from logic to logic
Scan‐Hold FF
DI
Delay testing oriented Flip‐Flop! 0
MUX
D Q D Q
1 FF Latch
+ Dynamic power reduction. SI
CLK C
from scan‐hold FF
SE CLK Hold
to scan‐hold FF
Scan Testing 29
The Scan
Scan‐‐Hold Technique
X1 Z1
X2 Combinational Z2
Logic
PI . . . . . . PO
XK ZN
Scan Testing 30
15
Level Sensitive Scan Design (I)
X1 Z1
X2 Combinational Z2
Logic
PI . . . . . . PO
XK ZN
D D D
C L C L C L
SI SI
1
SI
1 . . . SI
1
SO
A Q A Q A Q
1 2 M
D D D
L2 L2 L2
B Q B Q B Q
Latches Pair
C
A LSSD Design
B IBM
Scan Testing 31
Level Sensitive Scan Design (II)
X1 Z1
X2 Combinational Z2
Logic
PI . . . . . . PO
XK ZN
D D D
C L C L C L
SI SI
1
SI
1 . . . SI
1
A Q A Q A Q
1 2 M
D D D
L2 L2 L2
B Q B Q B Q SO
C1 . . . Latches Pair
C2
A LSSD Design
B IBM
Scan Testing 32
16
Level Sensitive Scan Design (III)
D D Q Q_Latch D D Q Q_FF
Q_FF
C ή A
SI
B
Non overlapping t
Latches Pair clocks
Scan Testing 33
Test Data Compression
Typically, ATPG tools generate test vectors where only 1% to 5% of the bits
have specified values!
On the other hand, test data volume is a major concern for the available bandwidth and the
ATEs’ storage capabilities.
Scan Chains
Compressed
Deccompressor
Tesst Responses
Compactor
Test Compacted
.
Stimuli
Data Response
Test Patterns .
.
C
Low Cost ATE
Expected Responses
CUT
Comparator Chip
Scan Testing 34
17
Linear Decompression
Decompressor
X1 Scan Chains
Z9 Z5 Z1
X9 X7 X5
X2
Z 9 X1 X 4 X 9 Z5 X3 X7 Z1 X 2 X 5
Z10 Z6 Z2
Z 10 X 1 X 2 X 5 X 6 Z 6 X1 X 4 Z2 X3
X3
Z 11 X 2 X 3 X 5 X 7 X 8 Z 7 X1 X 2 X 5 X 6 Z 3 X1 X 4
Z11 Z7 Z3
Z 12 X 3 X 7 X 10 Z 8 X2 X 5 X8 Z 4 X1 X6
X4
Z12 Z8 Z4
X10 X8 X6
XOR
Scan Testing 35
Broadcast & Illinois Scan Design
SI
B d tS
Broadcast Scan Design
D i
C1 C2 . . . Cn
Combinational Logic C
SI Segment 1
g
0
Segment 2
0
1 Segment 3
Illinois Scan Design 0
1 Segment 4
1
Combinational Logic C
Scan Testing 36
18
Reconfigurable Broadcast Scan Design
Pin1 Pin2 Pin3 Pin4 Control
0
Scan_Chain 1
1
0
Scan_Chain 2
1
Dynamic
Reconfiguration
0
Scan_Chain 3
1
0
Scan_Chain 4
1
Scan_Chain 5
Scan_Chain 6
Scan Testing 37
Space Compaction
Scan‐Chain 1
Scan‐Chain 2
Scan‐Chain 3
Scan‐Chain 4
Scan‐Chain 5
Scan‐Chain 6
Scan‐Chain 7
Scan‐Chain 8
Scan‐chains’
outputs
Linear
Phase
Compactor
19
Random––Access Scan Design
Random
X1 Z1
X2 Z2
PI . . . Combinational Logic . . . PO
XK ZN
SC SC … SC
Row (X) Decoder
CLK
SC SC … SC Scan Cell
SI
.. .. ..
. . .
R
SO
0 Q
SC SC … SC SI 1
SI Q
TM SE
Column (Y) Decoder D CLK
SC
Address Shift Register AI
AS CLK
Scan Testing 39
Reordering of Scan Chain Flip
Reordering of Scan Chain Flip‐‐Flops (Ι)
Typical Scan Chain
SI 8FF 4FF
50 TV 300TV
50 300
2FF
Test Test ΙΝ
Vectors Vectors
4FF 2FF SO
“Random” register
Test Application: 300(20+1)+20 = 6320 clock cycles connection
Improvement
1st Alternative Test Application: 300(14+1)+8 = 4508 clock cycles 29% !
Scan Testing 40
20
Reordering of Scan Chain Flip
Reordering of Scan Chain Flip‐‐Flops (II)
II)
2nd Alternative Scan Testing Application
SI 8FF 4FF
50 300
2FF
Test Test ΙΝ
Vectors Vectors
4FF 2FF SO
Test Application: 50(14+1) = 750 clock cycles
250(12+1)+8 = 3258 clock cycles Improvement
37% !
4008 clock cycles
Scan Testing 41
Reordering of Scan Chain Flip
Reordering of Scan Chain Flip‐‐Flops (III)
III)
3rd Alternative Scan Testing Application with cell reordering
8FF 4FF SI
50 300
2FF
Διανύσματα Διανύσματα ΙΝ
Ελέγχου Ελέγχου
4FF 2FF SO
Test Application: 50(18+1) = 950 clock cycles
In addition, test power 250(4+1)+4 = 1254 clock cycles Improvement
reduction is achieved! 65% !
2204 clock cycles
Scan Testing 42
21
References
Scan Testing 43
22