Problems To Think
Problems To Think
VLSI Testing
A 32 bit adder
A 32 bit counter
A 107-transistor CPU
A 109-transistor SOC
Introduction.1
NCKUEE-KJLEE
OUTLINE
Introduction
Fault modeling
Fault simulation
Test generation
Automatic test pattern generation
(ATPG)
Design for testability
Built-in self test
Synthesis for testability
An example
VLSI Testing
Introduction.2
NCKUEE-KJLEE
0
0
0/1
Related fields
Verification: To verify the correctness of a
design
Debug: To find the faulty site and try to eliminate the fault
VLSI Testing
Introduction.3
NCKUEE-KJLEE
extremely expensive
Shorten time-to-market
Market dominating or sharing
Defects detected in
Wafer
Packaged chip
Board
System
Field
Introduction.4
Cost
0.01 0.1
0.1 1
1 10
10 100
100 1000
NCKUEE-KJLEE
Principle of Testing
Input Patterns
-1011
11-00
-0-101--0
0-101
Stored
Correct
Response
Output Response
Circuit
under
Test
(CUT)
1-001
0011-1101
100101-11
Comparator
Test Result
VLSI Testing
Introduction.5
NCKUEE-KJLEE
Importance of testing
N = # transistors in a chip
p = prob. (a transistor is faulty)
Pf = prob. (the chip is faulty)
Pf = 1- (1- p) N
If p = 10-6
N = 106
Pf = 63.2%
VLSI Testing
Introduction.6
NCKUEE-KJLEE
Introduction
Integrated Circuits (ICs)
have grown in size and
complexity since the late
1950s
VLSI Testing
Introduction.7
VLSI
M LSI
S
S S
I I
NCKUEE-KJLEE
Importance of Testing
Moores Law results from decreasing feature
size (dimensions)
from 10s of m to 10s of nm for transistors and
interconnecting wires
Introduction.8
NCKUEE-KJLEE
Difficulties in Testing
Fault may occur anytime
-
Design
Process
Package
Field
Vss
Introduction.9
NCKUEE-KJLEE
How to do testing
From designers point of view:
Circuit modeling
Fault modeling
Modeling
Logic simulation
Fault simulation
Test generation
ATPG
Testable design
Introduction.10
NCKUEE-KJLEE
Circuit Modeling
Functional model--- logic function
- f(x1,x2,...)=...
- Truth table
E
1
0
C
D
VLSI Testing
1
0
0
F
Introduction.11
NCKUEE-KJLEE
Circuit level
VDD
C
4B
VDD
VDD
C
1
C3
C2
E
Gate level
A
B
E
G
C
D
VLSI Testing
Introduction.12
NCKUEE-KJLEE
Fault Modeling
The effects of physical defects
Most commonly used fault model: Single stuck-at
fault
A
B
E
G
C
D
A s-a-1 B s-a-1
A s-a-0 B s-a-0
C s-a-1 D s-a-1
C s-a-0 D s-a-0
E s-a-1 F s-a-1
E s-a-0 F s-a-0
G s-a-1
G s-a-0
14 faults
VLSI Testing
Introduction.13
NCKUEE-KJLEE
1
0
1
0
Test
{(0,0)}
{(0,1)}
{(1,1)}
{(0,0),(1,1)}
{(1,0),(0,1),(1,1)}
VLSI Testing
6 stuck-at faults
( a0,a1,b0,b1,c0,c1 )
c1
faults detected
c1
a1,c1
a0,b0,c0
a0,b0,c0,c1
all
Introduction.14
FC
16.67%
33.33%
50.00%
66.67%
100.00%
NCKUEE-KJLEE
NCKUEE-KJLEE
Shipped Parts
Testing
Yield:
Fraction of
good parts
Rejects
Quality:
Defective parts
per million (DPM)
VLSI Testing
Introduction.16
NCKUEE-KJLEE
DL = 1 - Y (1-T)
Yield (Y)
50%
75%
90%
95%
99%
90%
90%
90%
90%
VLSI Testing
Introduction.17
DPM (DL)
67,000
28,000
10,000
5,000
1,000
10,000
5,000
1,000
100
NCKUEE-KJLEE
Logic simulation
To determine how a good circuit should work
Given input vectors, determine the normal
circuit response
A
B
C
C
G
F
E
CC1
I
CC2
RB
CDE C
JE
IR
IF
H
D
VLSI Testing
Introduction.18
NCKUEE-KJLEE
Fault simulation
To determine the behavior of faulty circuits
E s.a.0
A 1
0
B
0
C
0
D
1/0
1
F
1/0
1
VLSI Testing
Introduction.19
NCKUEE-KJLEE
Test generation
Given a fault, identify a test to detect this fault
1
Example:
0 1/0
A
B
1/0
F
1
C
Introduction.20
NCKUEE-KJLEE
More faults?
No
Exit
Yes
Fault
dropping
Select a fault
Test generation
Fault simulation
VLSI Testing
Introduction.21
NCKUEE-KJLEE
B 1
VLSI Testing
0/1
s-a-1
1
0/1
Fault detected
0E
Introduction.22
NCKUEE-KJLEE
Combinational part
Y
Y
VLSI Testing
J
K
CK
Introduction.23
POs
clk
NCKUEE-KJLEE
Testable Design
Design for testability (DFT)
ad hoc techniques
Scan design
Boundary Scan
VLSI Testing
Introduction.24
NCKUEE-KJLEE
MUX
T/N
VLSI Testing
Introduction.25
NCKUEE-KJLEE
Scan Design
Original design
Modified design
POs PIs
PIs
POs
Combinational
logic
Combinational
logic
SO
FF
SFF
FF
SFF
FF
VLSI Testing
SFF
T/N
Introduction.26
SI
NCKUEE-KJLEE
DI
SI
CK
N/T
(SE)
DI
MUX
DI
Q,SO
CK
Q,SO
DI
SI
+ T
Introduction.27
NCKUEE-KJLEE
Scan Register
Combinational
Circuits
SO
Q D
Q D
Q D
SI
SI
SI
Q D
SI
SE
CLK
VLSI Testing
Introduction.28
NCKUEE-KJLEE
Boundary Scan
I/O Pad
TRST*
TDI
Sout
Misc. registers
TMS
TCK
TDO
APPLICATION LOGIC
T
A
P
M
U
X
Instruction register
BIST register
Bypass register
Scan register
Sin
TRST*:Test rest (Optional)
TDI: Test data input
TD0: Test data output
TCK: Test clock
TMS: Test mode select
VLSI Testing
Introduction.29
NCKUEE-KJLEE
TRST*
TDI
APPLICATION LOGIC
Sout
TDI
Sout
Misc. registers
TMS
TCK
BIST register
Bypass register
TCK
Scan register
M
U
X
TDO
TMS
Instruction register
T
A
P
Sin
TDO
T
A
P
TDI
Sout
APPLICATION LOGIC
Scan register
Sin
TDI
Sout
T
A
P
M
U
X
APPLICATION LOGIC
Misc. registers
TMS
TMS
VLSI Testing
BIST register
Bypass register
M
U
X
Misc. registers
TDO
Instruction register
TRST*
TRST*
TCK
APPLICATION LOGIC
Misc. registers
Instruction register
BIST register
Bypass register
TCK
Scan register
Sin
TDO
Introduction.30
T
A
P
M
U
X
Instruction register
BIST register
Bypass register
Scan register
Sin
NCKUEE-KJLEE
circuit
under test
BIST
Controller
biston
VLSI Testing
Introduction.31
to system
Response
Analyzer
pattern
generator
from system
good/fail
bistdone
NCKUEE-KJLEE
F/F
VLSI Testing
F/F
Introduction.32
F/F
NCKUEE-KJLEE
F/F
F/F
F/F
F/F
0001
1000
0100
0010
1001
1100
0110
1011
010
1
101
0
1101
1110
1111
0111
0011
0001
(repeat)
VLSI Testing
Introduction.33
NCKUEE-KJLEE
G x 1 x 2 x 4 x5 x6 x 7
Time
0
1
.
.
5
6
7
8
P x 1 x 2 x 4 x 5
R x x 2 x 4
VLSI Testing
Introduction.34
Output stream
Initial state
1
01
101
Quotient
1 x2
NCKUEE-KJLEE
P x : x 5 x 4 x 2 1
Q x : x 2 1
x7 x6 x 4 x 2 x5 x 4 x 2 1
x x x 1
7
P x Q x R x x 7 x 6 x 5 x 4 x 2 1 G x
Probability of aliasing error = 1/2n (n: # of FFs)
VLSI Testing
Introduction.35
NCKUEE-KJLEE
After
di
addr
Memory
Module
data
sys_di
data
sys_addr
sys_wen
clk
q
hold_l Memory
rst_l
Module
test_h
si
se
wen
VLSI Testing
Introduction.36
so
NCKUEE-KJLEE
rst_l
clk
hold_l
test_h
di
addr
wen
Memory
Module
compress_h clk
rst
si
se
data
Compressor
sys_addr
sys_d
isys_wen
Algorithm-Based
Pattern Generator
q
so
BIST Circuitry
VLSI Testing
Introduction.37
NCKUEE-KJLEE
Scan_o
Scan path
Scan_en
logic
rst_l
clk
Bist
hold_l
test_h
Memory
control
bist_si
bist
decoder
compressor bist_so
scan
decoder
MUX
bist_se
TDO
int_scan mbist
decoder
TDI
IR
TCK
TMS
VLSI Testing
TAP Controller
Introduction.38
NCKUEE-KJLEE
Problems re-thinking
A 32-bit adder --- ATPG
A 32-bit counter --- Design for testability + ATPG
A 32MB Cache memory --- BIST
A 107-transistor CPU --- All test techniques
An SOC
VLSI Testing
Introduction.39
NCKUEE-KJLEE
Conclusions
Testable design
--- Design for testability
--- Built-in self-test
--- Synthesis for testability
VLSI Testing
Introduction.40
NCKUEE-KJLEE