VLSI Testing
VLSI Testing
Jin-Fu
u Li
Advanced Reliable Systems (ARES) Laboratory
Department of Electrical Engineering
National Central University
Jungli, Taiwan
Outline
Basics
Fault Modeling
Design-for-Testability
Customer’s need
Determine requirements
Write specifications
Test development
Fabrication
g test
Manufacturing
Chips to customer
Cost: cents/transistor
1 Source: SIA
0.1
0.01 Si capital/transistor
0.001
0.0001
0.00001 Test capital/transistor
0.000001
0.0000001
1982 1985 1988 1991 1994 1997 2000 2003 2006 2009 2012
Specification
Netlist
Test Manufacturing
Silicon
a c a c
b b
---11 10---
---01 00---
…… Circuit under test ……
---00 01---
---10 10---
Stored
Correct Comparator
Responses
Test result
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 24
Cost of Test
Design for testability (DFT)
Chip area overhead and yield reduction
Performance overhead
Software processes of test
Test generation and fault simulation
Test programming and debugging
Manufacturing test
Automatic test equipment (ATE) capital cost
Test center operational cost
(CUT)
nal Bus
Pin Generators
Pin
Pin
Pin
Electronics
Pin System
Electronics
Pi
Pin
Intern
Electronics
Pin
Electronics Controller
Electronics
Electronics
Electronics Analyzers
Disk
Workstation
STIL 1.0;
Pattern
Test
Memory Program
Input Compare
Drivers Expected
p
Response Output
Pass/Fail
Input
Stimulus Actual
CUT Response
Local
Per-Pin
Memory
mortality
Time
Good chips
Faulty chips
Defects
W f
Wafer
Wafer yield = 12/22 = 0.55 Wafer yield = 17/22 = 0.77
1
1
0 ((1))
1 s/1
0
POWER Output
O t t
Shorted
to 1
OUT
IN
GROUND
Test p
pattern ((vector)) for h s/0 fault
0 0
B
C
0 1(Z)
VDD
pMOS
MOS IDDQ path in
faulty circuit
A
1 Stuck-on
Stuck on
0
B Good circuit state
C
0 (X)
nMOS
Faulty
y circuit state
Density
Combinational
Co b at o a logic
og c is
s usually
usua y easy to observe
obse e
and control
Finite state machines can be very difficult,
requiring many cycles to enter desired state
Especially
p y if state transition diagram
g is not known to
the test engineer
Test Pattern Generation
Manufacturing test ideally would check every
node in the circuit to prove it is not stuck.
Apply the smallest sequence of test vectors
necessary to prove each node is not stuck.
Good obse
observability
ab ty and
a d controllability
co t o ab ty reduces
educes
number of test vectors required for
manufacturingg test.
Reduces the cost of testing
Motivates design-for-test
Test Example
SA1 SA0
A3
A2 A3
A2
n1
A1 Y
n2 n3
A0 A1
A0
n1
n2
n3
Y
Minimum set:
Test Example
SA1 SA0
A3 {0110} {1110}
A2 A3 n1
A2
A1 Y
A0 A1
n2 n3
n1 A0
n2
n3
Y
Minimum set:
Test Example
SA1 SA0
A3 {0110} {1110}
A2 {
{1010}
} {
{1110}
} A3 n1
A2
A1 Y
A0 A1
n2 n3
n1 A0
n2
n3
Y
Minimum set:
Test Example
SA1 SA0
A3 {0110} {1110}
A2 {
{1010}
} {
{1110}
} A3 n1
A2
A1 {0100} {0110} Y
A0 A1
n2 n3
n1 A0
n2
n3
Y
Minimum set:
Test Example
SA1 SA0
A3 {0110} {1110}
A2 {
{1010}
} {
{1110}
} A3 n1
A2
A1 {0100} {0110} Y
A0 {0110} {0111} A1
n2 n3
n1 A0
n2
n3
Y
Minimum set:
Test Example
SA1 SA0
A3 {0110} {1110}
A2 {
{1010}
} {
{1110}
} A3 n1
A2
A1 {0100} {0110} Y
A0 {0110} {0111} A1
n2 n3
n1 {1110} {0110} A0
n2
n3
Y
Minimum set:
Test Example
SA1 SA0
A3 {0110} {1110}
A2 {
{1010}
} {
{1110}
} A3 n1
A2
A1 {0100} {0110} Y
A0 {0110} {0111} A1
n2 n3
n1 {1110} {0110} A0
n2 {0110} {0100}
n3
Y
Minimum set:
Test Example
SA1 SA0
A3 {0110} {1110}
A2 {
{1010}
} {
{1110}
} A3 n1
A2
A1 {0100} {0110} Y
A0 {0110} {0111} A1
n2 n3
n1 {1110} {0110} A0
n2 {0110} {0100}
n3 {0101} {0110}
Y
Minimum set:
Test Example
SA1 SA0
A3 {0110} {1110}
A2 {
{1010}
} {
{1110}
}
A3 n1
A1 {0100} {0110} A2
Y
A0 {0110} {0111} n2 n3
A1
n1 {1110} {0110} A0
n2 {0110} {0100}
n3 {0101} {0110}
Y {0110} {1110}
Better yet
yet, logic blocks could enter test mode
where they generate test patterns and report
the results automatically.
Scan
Convert each flip-flop to a scan register SCAN CLK
Flop
SI Q
D
Normal mode: flip-flops behave as usual
Scan mode: flip-flops
p p behave as shift register
g
can be scanned
Flop
Flop
Flop
out and new
Flop
Flop
Flop
Logic Logic
values scanned
inputs Cloud Cloud outputs
Flop
Flop
Flop
in
Flop
Flop
Flop
scanout
Scannable Flip-flops
SCAN
SCAN CLK
φ φ Q
D
D 0 X
Fllop
Q Q
SI 1 SI φ φ
(a) φ φ
(b)
φ φ
φd
φ D
φd φ Q
SCAN
φd X
Q
φs φ φ
φs φ
SI
(c)
φs
φ φ
Built-in Self-test
Built-in self-test lets blocks test themselves
Generate pseudo-random inputs to comb. logic
Combine outputs into a syndrome
With high probability, block is fault-free if it
produces
d th
the expected
t d syndrome
d
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
Step Q
CLK
0 111
Q[0] Q[1] Q[2]
Flop
Flop
Flop
D D D
1
2
3
4
5
6
7
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
Step Q
CLK
0 111
Q[0] Q[1] Q[2]
Flop
Flop
Flop
D D D
1 110
2
3
4
5
6
7
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
Step Q
CLK
0 111
Q[0] Q[1] Q[2]
Flop
Flop
Flop
D D D
1 110
2 101
3
4
5
6
7
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
Step Q
CLK
0 111
Q[0] Q[1] Q[2]
Flop
Flop
Flop
D D D
1 110
2 101
3 010
4
5
6
7
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
Step Q
CLK
0 111
Q[0] Q[1] Q[2]
Flop
Flop
Flop
D D D
1 110
2 101
3 010
4 100
5
6
7
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
Step Q
CLK
0 111
Q[0] Q[1] Q[2]
Flop
Flop
Flop
D D D
1 110
2 101
3 010
4 100
5 001
6
7
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
Step Q
CLK
0 111
Q[0] Q[1] Q[2]
Flop
Flop
Flop
D D D
1 110
2 101
3 010
4 100
5 001
6 011
7
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
Step Q
CLK
0 111
Q[0] Q[1] Q[2]
Flop
Flop
Flop
D D D
1 110
2 101
3 010
4 100
5 001
6 011
7 111 (repeats)
BILBO
Built-in Logic Block Observer
Combine scan with PRSG & signature analysis
C[0]
C[1]
Q[2] / SO
Flop
Flop
Flop
SI 1
0 Q[0]
Q[1]
PackageInterconnect
CHIP B CHIP C
CHIP A CHIP D
Serial Data In
Boundary Scan Interface
Boundary scan is accessed through five pins
TCK: test clock
TMS: test mode select
TDI: test data in
TDO: test data out
TRST*: test reset (optional)