You are on page 1of 40

EE 658

Diagnosis and Design of Reliable


Digital Systems
University of Southern California
Viterbi School of Engineering
Ming Hsieh Dept. of Electrical Engineering
Mohammad M. Tabar
Fall 2013
Lecture 1:
Introduction to VLSI Testing
(overview of different topics)
References: Dr. Kuen-Jong Lee and Dr. Brueurs lecture slides, books listed in the
syllabus, and online resources
About me:
Phd graduate from EE department of
USC
Major: Computer Engineering
IC component Designer at Intel
corporation
I teach EE577A & EE658 at USC
I dont know if you can get A in my
class BUT I know everybody can get A
in my class
Dr. Mohammad M. Tabar - EE 658 2
Problems to Think about
How would you test these circuits?

A 32 bit adder

A 32 bit counter with RESET function

A 1MB cache memory

A 10
7
-transistor CPU

Dr. Mohammad M. Tabar - EE 658 3
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

Dr. Mohammad M. Tabar - EE 658 4
Dr. Mohammad M. Tabar - EE 658 5
Related fields
Verification:
To verify the correctness of a
design
Diagnosis: To identify the faulty site
Reliability: To determine whether a good system
will work after some time t (usually
in years).
Vdd
0/1
0
0
0
0
0
Testing:
To determine whether a physical system is good or bad
(Pre Manufacturing)
Importance of testing
Dr. Mohammad M. Tabar - EE 658 6
N = # transistors in a chip
p = prob. (a transistor is faulty)
P
f
= prob. (the chip is faulty)

P
f
= 1- (1- p)
N
If p = 10
-6
N = 10
6

P
f
= 63.2%
Difficulties in Testing
Dr. Mohammad M. Tabar - EE 658 7
Vss


VLSI circuit are large
- Most problems encountered in testing are NP-complete
I/O access is limited


Introduction to VLSI Testing.6
Fault may occur anytime
- Design
- Process
- Package
- Field
Fault may occur at any place
Vdd
How to do testing from Designers
point of view
Dr. Mohammad M. Tabar - EE 658 8
Circuit modeling
Fault modeling

Logic simulation
Fault simulation
Test generation

Design for test
Built-in self test

Synthesis for testability
Modeling
ATPG
Testable design
Circuit Modeling
Dr. Mohammad M. Tabar - EE 658 9
Functional model--- logic function
- f(x1,x2,...)=...
- Truth table
Behavioral model--- functional + timing
- f(x1,x2,...)=... , Delay = 10

Structural model--- collection of
interconnected components or elements
A E
B
0
C
D
F
G
1
1
0
0
0
0
Levels of Description
Dr. Mohammad M. Tabar - EE 658 10
Higher/ System level
Switch level
VDD VDD
Circuit level
C
Gate level
C
4
B
E
C
1
C
2
C
3
E
C
D
F
G
A
B
VDD
C
Fault Modeling
Dr. Mohammad M. Tabar - EE 658 11
The effects of physical defects
Most commonly used fault model: Single stuck-at
fault
A
B
C
D F
E
G
A s-a-1 B s-a-1
A s-a-0 B s-a-0
E s-a-1 F s-a-1
E s-a-0 F s-a-0
C s-a-1 D s-a-1
C s-a-0 D s-a-0
G s-a-1
G s-a-0
14 faults
Other fault models:
- Break faults, Bridging faults, Transistor stuck-open faults,
Transistor stuck-on faults, Delay faults
Fault Coverage (FC)
Dr. Mohammad M. Tabar - EE 658 12
FC =
# faults detected
# faults in fault list
b
c a
0 6 stuck-at faults
( a
0
,a
1
,b
0
,b
1
,c
0
,c
1
)
Test faults detected FC
{(0,0)}
{(0,1)}
{(1,1)}
{(0,0),(1,1)}
{(1,0),(0,1),(1,1)}
c
1
a
1
,c
1
a
0
,b
0
,c
0
a
0
,b
0
,c
0
,c
1
all
16.67%
33.33%
50.00%
66.67%
100.00%
Example:
0
0
Testing and Quality
Dr. Mohammad M. Tabar - EE 658 13
Quality of shipped parts is a function of yield Y
and the test (fault) coverage T
Defect level (DL) : fraction of shipped parts that
are defective
IC
Fabrication
Testing
Yield:
Fraction of
good parts
Rejects
Shipped Parts
Quality:
Defective parts
per million (DPM)
Defect Level, Yield and Fault
Coverage
Dr. Mohammad M. Tabar - EE 658 14
DL: defect level
Y: yield
T: fault coverage
DL= 1 - Y
(1-T)
Yield (Y) Fault Coverage (T) DPM (DL)
50% 90% 67,000
75% 90% 28,000
90% 90% 10,000
95% 90% 5,000
99% 90% 1,000
90% 90% 10,000
90% 95% 5,000
90% 99% 1,000
90% 99.9% 100
Logic simulation
Dr. Mohammad M. Tabar - EE 658 15
To determine how a good circuit should work

Given input vectors, determine the normal
circuit response including simple delays
C
E
C
C
1

B
R
B
I
R
I
F
C
C2
C
DE
A
B
E
C
D
F
A
B
E
C
G
F
I
H
D
C
JE
Fault simulation
Dr. Mohammad M. Tabar - EE 658 16
0
Given a test vector, determine all faults that
are detected by this test vector.
Example:
A
B
C
Test vector (1 1) detects
{ a
0
, b
0
, c
1
}
To determine the behavior of faulty circuits
F
C
D
1
A
B
1/0
G
E s.a.0
1/0
1
0
0
1
1
0
Test generation
Dr. Mohammad M. Tabar - EE 658 17
To detect D s-a-0, D must be set to 1.
Thus A=B=1.
To propagate fault effect to the primary output
E must be 1. Thus C must be 0.
Test vector: A=1, B=1, C=0
Given a circuit and a fault, identify a test to
detect this fault
Example:
A
D
B
E
C
F
0
Automatic Test Pattern
Generation (ATPG)
Dr. Mohammad M. Tabar - EE 658 18
Yes
Select a fault
Fault
dropping
Test generation


Fault simulation



Given a circuit, identify a set of test vectors to
detect all faults under consideration.
Input circuit


Form fault list
More faults? Exit
No
Difficulties in test generation
Dr. Mohammad M. Tabar - EE 658 19
E
B
F
C
A
s-a-1
D
1. Reconvergent fanout
Difficulties in test generation (Cont.)
Dr. Mohammad M. Tabar - EE 658 20
2. Sequential test generation
Y J
K
CK
PIs PIs
clk
Combinational part
Y
Testable Design
Dr. Mohammad M. Tabar - EE 658 21
Design for testability (DFT)
ad hoc techniques
Scan design
Boundary Scan

Built-In Self Test (BIST)
Random number generator (RNG)
Signature Analyzer (SA)

Synthesis for Testability
Example of ad hoc techniques
Dr. Mohammad M. Tabar - EE 658 22
Insert test point
MUX
T/N
Scan System
Dr. Mohammad M. Tabar - EE 658 23
Original design
C
R
PI
R'
PO PI
C
PO
Modified design
SI
SO
T/N
Normal and Scan Cell Design
Dr. Mohammad M. Tabar - EE 658 24
DI
DI
DI
SI
Q,SO
M
U
X

N/T
(SE)
DI
Q,SO
SI

T

+
T
Q


Q
D Q
CK
D Q
CK
Scan Register
Dr. Mohammad M. Tabar - EE 658 25
Q D
SI
Q D
SI
Q D
SI
Q D
SI
SO
SE
CLK
Combinational
Circuits
Boundary Scan
Dr. Mohammad M. Tabar - EE 658 26
Instruction register
Bypass register
X
TRST*:Test rest (Optional)
TDI: Test data input
TD0: Test data output
TCK: Test clock
TMS: Test mode select
T
A
P
Misc. registers
TRST*
TMS
TCK
TDO
I/O Pad
Boundary scan cell Boundary scan path
APPLICATION LOGIC
BIST register
Scan register
TDI
Sout
Sin
M
U
Boundary Scan (cont.)
Dr. Mohammad M. Tabar - EE 658 27
Instruction register
Bypass register
M
U
X
T
A
P
Misc. registers
TRST*
TMS
TCK
TDO
APPLICATION LOGIC TDI Sout
Sin
Instruction register
Bypass register
M
U
X
T
A
P
Misc. registers
TRST*
TMS
TCK
TDO
APPLICATION LOGIC
Scan register
TDI Sout
Sin
Instruction register
Bypass register
M
U
X
T
A
P
Misc. registers
TRST*
TMS
TCK
TDO
APPLICATION LOGIC
BIST register
Scan register
TDI Sout
Sin
Instruction register
Bypass register
BIST register

Scan register
M
U
X
T
A
P
Misc. registers
TRST*
TMS
TCK
TDO
APPLICATION LOGIC TDI Sout
Sin
BIST register
Scan register
BIST register
Built-In-Self Test (BIST)
Dr. Mohammad M. Tabar - EE 658 28
Places the job of device testing inside the device
itself
Generates its own stimulus and analyzes its own
response
p
a
t
t
e
r
n

g
e
n
e
r
a
t
o
r

biston
mux
from system
BIST
Controller
R
e
s
p
o
n
s
e

A
n
a
l
y
z
e
r

to system
good/fail
bistdone
circuit
under test
Built-In-Self Test (BIST) (Cont.)
Dr. Mohammad M. Tabar - EE 658 29
F/F
Two major tasks
- Test pattern generation
- Test result compaction
Usually implemented by linear feedback
shift register
F/F F/F
Pseudo Random Number
Generator (PRNG)
Dr. Mohammad M. Tabar - EE 658 30
1. Generate pseudo random patterns
2. Period is 2
n
- 1

F/F F/F F/F F/F
0001 0110 1111
1000 1011 0111
0100 0101 0011
0010 1010 0001
1001 1101 (repeat)
1100 1110
Signature Analyzer (SA)
Dr. Mohammad M. Tabar - EE 658 31
Input sequence 10101111 (8 bits)
G (x)=1+x
2
+x
4
+x
5
+x
6
+x
7
1 2 3 4 5
+ Z
P ( x ) = 1 + x
2
+ x
4
+ x
5
Remainder
R(x) =x
2
+x
4
Quotient
1+x
2
Time
0
1
.
. 5
6
7
8
Input stream
1 0 1 0 1 1 1 1
1 0 1 0 1 1 1
.
.
1 0 1
1 0
1
Register contents Output stream
0 0 0 0 0
1 0 0 0 0
.
.
0 1 1 1 1
0 0 0 1 0
0 0 0 0 1
0 0 1 0 1
Initial state
1
0 1
1 0 1
+ +
Signature Analyzer (SA) (Cont.)
Dr. Mohammad M. Tabar - EE 658 32
+
1
=
G (x ) P (x )Q (x )
+
R (x )
=
x
5 4 2 7 6
+
x
+
x
+
x
+
x
P ( x ) : x
5
x
4
x
2
1
1 Q ( x ) : x
2
x
7
x
6
x
4
x
2
x
5
x
4
x
2
1
x
7
x
6
x
5
1
Prob. of aliasing error = 1/2
n
where n is # of FFs
Memory BIST Architecture with a
Compressor
Dr. Mohammad M. Tabar - EE 658 33
Memory
Module
di
addr
wen
data
sys_di
sys_addr
sys_wen
Memory
Module
hold_l
rst_l
clk
test_h
si
se
data
q
so
Before After
Memory BIST Architecture
with a Compressor (Cont.)
Dr. Mohammad M. Tabar - EE 658 34
BIST Circuitry
A
l
g
o
r
i
t
h
m
-
B
a
s
e
d

P
a
t
t
e
r
n

G
e
n
e
r
a
t
o
r

C
o
m
p
r
e
s
s
o
r

addr Memory
wen
Module
di
data
compress_h
sys_addr
sys_d
i
sys_wen
rst_l
clk
hold_l
test_h
q
so
clk
rst
si
se
Three Memories and One
Compressor
Dr. Mohammad M. Tabar - EE 658 35
ROM4KX4
Module
addr1
data
compress_h
sys_addr1
sys_di2
sys_wen2
rst_
l
clk
hold_l
test_h
Compressor
q
so
si
RAM8KX8
Module
di2
addr2
wen2
data
RAM8KX8
Module
di3
addr3
wen3
data
BIST
Circuitry
A
l
g
o
r
i
t
h
m
-
B
a
s
e
d

P
a
t
t
e
r
n

G
e
n
e
r
a
t
o
r

sys_addr3
sys_addr2
sys_wen3
sys_di3
4
8
8
Synthesis for Testability
Dr. Mohammad M. Tabar - EE 658 36
Automatic v.s. Semi-
automatic
Commercial products
Testability analysis tools
Full / partial scan insertion
BIST insertion
Boundary scan insertion
Research
RTL synthesis
FSM synthesis
Gate level synthesis
Boolean equation synthesis
CPU Test Control Architecture
Dr. Mohammad M. Tabar - EE 658 37
TDI
TCK
compressor
Scan_i
Scan_en
Bist
control
Memory
logic
Scan_o
Scan path
clk
rst_l
TAP Controller
IR
scan
decoder

decoder
bist
decoder
mbist int_scan
bist_se
test_h
hold_l
bist_so
TMS
TDO
b
i
s
t
_
s
i

Review the questions
Dr. Mohammad M. Tabar - EE 658 38
A 32-bit adder ---
A 32-bit counter ---
A 1MB Cache memory ---
A 10
7
-transistor CPU ---
ATPG
Design for testability + ATPG
BIST
All test techniques
Conclusions
Dr. Mohammad M. Tabar - EE 658 39
Two major fields in testing
ATPG
--- Fault simulation
--- Test generation
Testable design
--- Design for testability
--- Built-in self-test
--- Synthesis for testability
Testable Design Flow
Dr. Mohammad M. Tabar - EE 658 40
Prepare Initial Design
RTL Code
Verify Functionality
Identify Blocks for
BIST/Scan
Insert/Verify
BIST Circuitry by
MBISTArchitect
Modify/Verify
Original Design
Reserve
Dummy Ports for
Internal Scan
Insert/Verify
Boundary Scan
Circuitry by
BSDArchitect
Synthesis to Gate
Level
Insert/Verify
Internal Scan
Circuitry by
DFTADvisor
Generate/Verify
Test Patterns by
FastScan
Integrate all
DFT Methodologies
P/F

You might also like