Professional Documents
Culture Documents
Week 1 Course Material - Watermark
Week 1 Course Material - Watermark
Week 1 Course Material - Watermark
Introduction
Lecture 1
1
EE141
I t d ti to
Introduction t VLSI Testing
T ti
Q Introduction
Q T ti During
Testing D i VLSI LifeLif Cycle
C l
Q Test Generation
Q Fault Models
Q Levels of Abstraction
Q Overview of Test Technology
3
EE141
I t d ti
Introduction
Q Integrated Circuits (ICs) have
grown in size and complexity 1.E+09
since the late 1950’s 1.E+08
▪ Small Scale Integration (SSI) 1.E+07
Number of Traansistors
▪ Medium Scale Integration (MSI) 1.E+06
▪ g Scale Integration
Large g ((LSI)) 1 E+05
1.E+05
▪ Very Large Scale Integration 1.E+04
(VLSI)
1.E+03 VLSI
Q Moore s Law: scale of ICs
Moore’s 1.E+02
doubles every 18 months M LSI
S
1.E+01 S S
▪ Growing size and complexity I I
1 E+00
1.E+00
poses many andd new testing
i
1960s 1970s 1980s 1990s 2000s
challenges
4
EE141
I
Importance
t off Testing
T ti
Q Moore s Law results from decreasing feature
Moore’s
size (dimensions)
▪ from 10s of m to 10s of nm for transistors and
interconnecting wires
Q Operating frequencies have increased from
100KHz to several GHz
Q Decreasing feature size increases probability
of defects during manufacturing process
▪ A single faulty transistor or wire results in faulty IC
▪ Testing required to guarantee fault-free products
5
EE141
I
Importance
t off Testing
T ti
Q Rule
R l off T
Ten: costt to
t detect
d t t faulty
f lt IC increases
i
by an order of magnitude as we move from:
▪ device PCB system field operation
– Testing performed at all of these levels
Q Testing also used during
▪ Manufacturing to improve yield
– Failure mode analysis (FMA)
▪ Field operation to ensure fault-free system
operation
– Initiate repairs when faults are detected
6
EE141
T ti During
Testing D i VLSI Life
Lif Cycle
C l
Q Testing typically consists of
▪ Applying
pp y g set of test stimuli to
▪ Inputs of circuit under test (CUT), and
▪ Analyzing output responses
– If incorrect (fail), CUT assumed to be faulty
– If correct (p
(pass),) CUT assumed to be fault-free
Input1 Output1
Input Circuit Output
Test Under Test Response Pass/Fail
ss/
Inputn Outputm
Stimuli (CUT) Analysis
7
EE141
T ti During
Testing D i VLSI Development
D l t
Q Design
D i verification
ifi ti
targets design errors Design Specification
▪ Corrections made
prior to fabrication Design Design Verification
Q Remaining tests
Fabrication Wafer Test
target manufacturing
defects
P k i
Packaging P k
Package T t
Test
▪ A defect is a flaw or
physical imperfection
Quality
Q y Assurance Final Testing
g
that can lead to a
fault
8
EE141
Introduction (Contd.)
(Contd )
Lecture 2
D i Verification
Design V ifi ti
Q Different levels of
abstraction during design Design Specification
▪ CAD tools used to synthesize
y
design from RTL to physical Behavioral (Architecture) Level
level
Q Simulation
Si l ti used d att various
i Register-Transfer Level
level to test for
▪ Design errors in behavioral or Logical (Gate) Level
RTL
▪ Design
g meetingg system
y Physical (Transistor) Level
timing requirements after
synthesis
9
EE141
Yield and Reject Rate
Q We expect faulty chips due to manufacturing
d f t
defects
number of acceptable parts
yield
▪ Called yield total number of parts fabricated
Q Assembly
A bl steps
t also
l
System Assembly System Test
susceptible to defects
▪ Testing performed at all
stages of manufacturing
11
EE141
System Level Operation
System-Level
S Normal system operation
1
Q Faults occur 0t 0t 1 t2 t3 t4 t
during system operation failures
14
EE141
T t Generation
Test G ti
Q A test is a sequence
q of test p
patterns,, called
test vectors, applied to the CUT whose
p
outputs are monitored and analyzed
y for the
correct response
▪ Exhaustive
aust e test
testing
g – app
applying
y gaall poss
possible
b e test
patterns to CUT
▪ Functional testing g – testing
g everyy truth table
entry for a combinational logic CUT
– Neither of these are practical for large CUTs
Q Fault coverage is a quantitative measure of
quality
q y of a set of test vectors 15
EE141
T t Generation
Test G ti
Q Fault coverage for a given set of test
number of detected faults
vectors fault coverage
total number of faults
Q 100% fault
f lt coverage may be b impossible
i ibl
due to undetectable faults
number of detected faults
f l detection
fault d efficiency
ff
total number of faults number of undetectable faults
Q Reject
j rate = 1 – y yield(1 – faultcoverage)
▪ A PCB with 40 chips, each with 90% fault
coverage and 90% yield, has a reject rate
of 41.9%
– Or 419,000 defective parts per million (PPM)
16
EE141
T t Generation
Test G ti
Q Goal: find efficient set of test vectors with
maximum fault coverage
Q Fault simulation used to determine fault
coverage
▪ Requires
equ es fault
au models
ode s to
oeemulate
u a e be
behavior
a o o of
defects
Q Ag
good fault model:
▪ Is computationally efficient for simulation
▪ Accurately reflects behavior of defects
Q No single fault model works for all possible
defects
17
EE141
F lt Models
Fault M d l
Q A given fault model has k types of faults
▪ k = 2 for most fault models
Q A given circuit has n possible fault sites
Q Multiple fault model –circuit
circuit can have multiple
faults (including single faults
▪ Number of multiple
p fault = ((k+1))n-1
– Each fault site can have 1-of-k fault types or be fault-free
– The “-1” represents the fault-free circuit
▪ Impractical for anything but very small circuits
Q Single fault model – circuit has only 1 fault
▪ Number of single faults = kk×n
n
▪ Good single fault coverage generally implies good
multiple fault coverage
18
EE141
F lt Models
Fault M d l
Q Equivalent faults
▪ One or more single faults that have identical
behavior for all p
possible input
p p patterns
▪ Only one fault from a set of equivalent faults
needs to be simulated
Q Fault collapsing
▪ Removing equivalent faults
– Except for one to be simulated
▪ Reduces total number of faults
– Reduces fault simulation time
– Reduces
educes test
es pa
pattern
e gegeneration
e a o time
e 19
EE141
Introduction (Contd.)
( )
Lecture 3
St k t Faults
Stuck-at F lt Truth table for fault-free behavior
Q Any line can be and behavior of all possible stuck-at faults
x1x2x3 000 001 010 011 100 101 110 111
▪ Stuck-at-0 (SA0) y 0 1 0 0 0 1 1 1
a SA0 0 1 0 0 0 1 0 0
▪ Stuck-at-1 (SA1) a SA1 0 1 1 1 0 1 1 1
b SA0 0 1 0 1 0 1 0 1
# fault types: k=2 b SA1 0 0 0 0 1 1 1 1
c SA0 0 0 0 0 0 0 1 1
Q Example circuit: c SA1 1 1 0 0 1 1 1 1
d SA0 0 1 0 0 0 1 0 0
▪ # fault sites: n=9 d SA1 0 1 0 0 1 1 1 1
e SA0
▪ # single faults =2×9=18
0 1 0 1 0 1 1 1
e SA1 0 0 0 0 0 0 1 1
f SA0 0 0 0 0 0 0 1 1
x1 a f SA1 0 1 0 1 0 1 1 1
d g SA0 0 1 0 0 0 1 0 0
x2 b g g SA1 1 1 1 1 1 1 1 1
i y
h SA0 0 0 0 0 0 0 1 1
h SA1 1 1 1 1 1 1 1 1
e f h i SA0 0 0 0 0 0 0 0 0
x3 c i SA1 1 1 1 1 1 1 1 1
20
EE141
Stuck at Faults
Stuck-at Truth table for fault-free behavior
Q Valid test vectors and behavior of all possible stuck-at faults
x1x2x3 000 001 010 011 100 101 110 111
▪ F
Faulty
l circuit
i i differs
diff y 0 1 0 0 0 1 1 1
from good circuit a SA0 0 1 0 0 0 1 0 0
a SA1 0 1 1 1 0 1 1 1
▪ Necessary vectors: b SA0 0 1 0 1 0 1 0 1
b SA1 0 0 0 0 1 1 1 1
011 detects f SA1, e SA0 c SA0 0 0 0 0 0 0 1 1
c SA1
100 detects d SA1 d SA0
1
0
1
1
0
0
0
0
1
0
1
1
1
0
1
0
– Detect total of 10 faults d SA1 0 1 0 0 1 1 1 1
e SA0 0 1 0 1 0 1 1 1
– 001 and 110 detect e SA1 0 0 0 0 0 0 1 1
remaining 8 faults f SA0 0 0 0 0 0 0 1 1
x1 a f SA1 0 1 0 1 0 1 1 1
d g SA0 0 1 0 0 0 1 0 0
x2 b g g SA1 1 1 1 1 1 1 1 1
i y
h SA0 0 0 0 0 0 0 1 1
h SA1 1 1 1 1 1 1 1 1
e f h i SA0 0 0 0 0 0 0 0 0
x3 c i SA1 1 1 1 1 1 1 1 1
21
EE141
Stuck at Faults
Stuck-at Truth table for fault-free behavior
Q 4 sets of equivalent and behavior of all possible stuck-at faults
x1x2x3 000 001 010 011 100 101 110 111
fa lts
faults y 0 1 0 0 0 1 1 1
a SA0 0 1 0 0 0 1 0 0
Q # collapsed faults = a SA1 0 1 1 1 0 1 1 1
2×(PO+FO)+GI-N NI b
b
SA0
SA1
0
0
1
0
0
0
1
0
0
1
1
1
0
1
1
1
▪ PO= # primary outputs c
c
SA0
SA1
0
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
▪ FO= # fanout stems d
d
SA0
SA1
0
0
1
1
0
0
0
0
0
1
1
1
0
1
0
1
▪ GI= # gate inputs e SA0 0 1 0 1 0 1 1 1
e SA1 0 0 0 0 0 0 1 1
▪ NI= # inverters f SA0 0 0 0 0 0 0 1 1
x1 a f SA1 0 1 0 1 0 1 1 1
d g SA0 0 1 0 0 0 1 0 0
x2 b g g SA1 1 1 1 1 1 1 1 1
i y
h SA0 0 0 0 0 0 0 1 1
h SA1 1 1 1 1 1 1 1 1
e f h i SA0 0 0 0 0 0 0 0 0
x3 c i SA1 1 1 1 1 1 1 1 1
22
EE141
St k t Faults
Stuck-at F lt
Q # collapsed faults = 2×(PO+FO)+GI-N
NI
▪ PO= number of primary outputs
▪ FO= number of fanout stems
▪ GI= total number of gate inputs
for all g
gates including
g inverters
▪ NI= total number of inverters
Q For example
p circuit,, # collapsed
p faults = 10
▪ PO= 1, FO= 1, GI= 7, and NI= 1
Q Fault collapsing typically reduces number of
stuck-at faults by 50% - 60%
23
EE141
T
Transistor
i t Faults
F lt
VDD
A P1
2-input
B
Q Any transistor can be CMOS P2
Z
NOR
▪ Stuck-short gate
N1 N2
– Also known as stuck-short
stuck short
▪ Stuck-open VSS
Truth table for fault-free circuit
– Also known as stuck-open
stuck open and all possible transistor faults
AB 00 01 10 11
# fault types: k=2 Z 1 0 0 0
N1 stuck-open 1 0 last Z 0
Q Example circuit N1 stuck-short IDDQ 0 0 0
N2 stuck-open 1 last Z 0 0
▪ # fault sites: n=4 N2 stuck-short IDDQ 0 0 0
▪ # single faults =2×4=8 P1 stuck
stuck-open
open last Z 0 0 0
P1 stuck-short 1 0 IDDQ 0
P2 stuck-open last Z 0 0 0
P2 stuck-short 1 IDDQ 0 0
24
EE141
T
Transistor
i t Faults
F lt
VDD
A P1
Q Stuck-short faults cause 2-input
CMOS
B P2
conducting path from VDD NOR Z
gate
to VSS N1 N2
27
EE141
B id i Faults
Bridging F lt AS
source
AD
destination
Q Three different models BS BD
▪ Wired-AND/OR AS
bridging fault
AD AS AD
▪ Dominant
▪ Dominant-AND/OR
D i t AND/OR BS BD BS BD
Wired-AND Wired-OR
Q Detectable by IDDQ testing AS AD AS AD
AS BS 0 0 0 1 1 0 1 1 BS BD BS BD
AD BD 0 0 0 1 1 0 1 1 A dominates B B dominates A
Wired-AND 0 0 0 0 0 0 1 1 AS AD AS AD
Wired OR
Wired-OR 0 0 1 1 1 1 1 1
A dominates B 0 0 0 0 1 1 1 1 BS BD BS BD
B dominates A 0 0 1 1 0 0 1 1 A dominant-AND B A dominant-OR B
A dominant-AND
dominant AND B 0 0 0 0 1 0 1 1 AS AD AS AD
B dominant-AND A 0 0 0 1 0 0 1 1
A dominant-OR B 0 0 0 1 1 1 1 1 BS BD BS BD
B dominant-OR A 0 0 1 1 1 0 1 1 B dominant
dominant-AND
AND A B dominant
dominant-OR
OR A
28
EE141
D l Faults
Delay F lt andd Crosstalk
C t lk
Q Path delay fault model considers
Path-delay
cumulative propagation delay through CUT
▪ 2 test vectors create transition along
gppath
▪ Faulty circuit has excessive delay
Q Delays
y and gglitches can be caused by
y
crosstalk between interconnect
▪ due to inductance and capacitive
p coupling
p g
0 0 x1
0 1 x2 3
t=00 tt=77 y
2
v2 v1
t=2
2
1 1 x3 3
29
EE141
P tt
Pattern S iti it andd Coupling
Sensitivity C li Faults
F lt
Q Common in high density RAMs
Q Pattern sensitivity fault
▪ Contents of memory cell is affected by
contents of neighboring cells
Q Coupling fault
▪ Transition in contents of one memoryy cell
causes change in contents of another cell
30
EE141
P tt
Pattern S iti it andd Coupling
Sensitivity C li Faults
F lt
Q Common in memory cells of high density RAMs
Q Pattern sensitivity fault
▪ Contents of cell affected by contents of neighboring
cells
Q Coupling fault
▪ Transition in one cell causes change in another cell
Q Detected with specific memory test algorithms
▪ Background Data Sequence (BDS) used for word-
oriented memories
Notation: Test Algorithm March Test Sequence
w0 = write 0 (or all 0’s) March LR ↨(w0); ↓(r0, w1); ↑(r1, w0, r0, r0, w1);
r1 = read 1 (or all 1
1’s)
s) w/o BDS ↑(r1, w0); ↑(r0, w1, r1, r1, w0); ↑(r0)
↑= address up March LR ↨(w00); ↓(r00, w11); ↑(r11, w00, r00, r00, w11);
↓= address down with BDS ↑(r11, w00); ↑(r00, w11, r11, r11, w00);
↨ = address either way ↑(r00, w01, w10, r10); ↑(r10, w01, r01); ↑(r01)
31
EE141
Introduction (Contd.)
L t
Lecture 4
L l off Abstraction
Levels Ab t ti
Q High levels have few implementation details
needed for effective test generation
▪ Fault models based on gate & physical levels
Q Example: two circuits for same specification
▪ Ckt B test vectors do not detect 4 faults in Ckt A
a SA1
f(a,b,c)=m(1,7)+d(3) = abc + abc + Xabc b
ab0 0 0 1 1 1 1 0 c
SA1 f
c f = abc + abc
0 1 X SA1 Circuit A
Circuit A Test Vectors
1 SA1
1 {111,110,101,011,010,000}
abb0 0 0 1 1 1 1 0
a
c f = ab + bc
0 1 X b Circuit B
Circuit B Test Vectors f
1 1 {{111,101,010,000}
, , , }
33
c
EE141
O
Overview
i off VLSI Test
T t Technology
T h l
Q Automatic
A t ti Test
T t Equipment
E i t (ATE)
consists of
▪ Computer – for central control and flexible
test & measurement for different products
▪ Pin
Pi electronics
l t i & fifixtures
t – to
t apply
l ttestt
patterns to pins & sample responses
▪ Test
T t program – controls
t l timing
ti i off test
t t
patterns & compares response to known
good responses
34
EE141
O
Overview
i off VLSI Test
T t Technology
T h l
Q Automatic Test Pattern Generation (ATPG)
▪ Algorithms generating sequence of test vectors
for a given circuit based on specific fault
models
Q Fault simulation
▪ Emulates fault models in CUT and applies test
vectors to determine fault coverage
▪ Simulation time (significant due to large number
of faults to emulate) can be reduced by
– Parallel, deductive, and concurrent fault simulation
35
EE141
O
Overview
i off VLSI Test
T t Technology
T h l
Q Design for Testability (DFT)
▪ Generally incorporated in design
▪ Goal: improve controllability and/or
observability of internal nodes of a chip
or PCB
Q Three basic approaches
▪ Ad-hoc techniques
▪ Scan design
– Boundary Scan
▪ Built-In Self-Test (BIST)
36
EE141
D i off Testability
Design T t bilit
Q Ad-hoc DFT techniques
▪ Add internal test points (usually multiplexers) for
– Controllability
– Observability
▪ Added on a case-by-case basis
– Primarily targets “hard to test” portions of chip
▪ Transforms flip-flops of
chip into a shift register FFs
41
EE141
DFT
Lecture 5
Design
g for Testabilityy
1
EE141
Design For Testability - contents
D Introduction
D Testability Analysis
D Design for Testability Basics
D Scan Cells Designs
g
D Scan Architectures
D Scan Design Rules
D Scan Design Flow
D Special-Purpose Scan Designs
D RTL Design for Testability
D Concluding Remarks
2
EE141
Introduction
D History
• During
D i early
l years, d
design
i and
d ttestt were separate
t
– The final quality of the test was determined by keeping track of
the number of defective parts shipped to the customer
– Defective parts per million (PPM) shipped was a final test
score.
– This approach worked well for small-scale integrated circuit
• During 1980s, fault simulation was used
– Failed to improve the circuit’s fault coverage beyond 80%
• Increased test cost and decreased test quality
lead to DFT engineering
3
EE141
Introduction
D History
• Various testability measures & ad hoc testability
enhancement methods
– To improve the testability of a design
– To ease sequential
q ATPG ((automatic test pattern
p generation))
g
– Still quite difficult to reach more than 90% fault coverage
• Structured DFT
– To conquer
q the difficulties in controlling
g and observing
g the
internal states of sequential circuits
– Scan design is the most popular structured DFT approach
• Design for testability (DFT) has migration recently
– From gate level to register-transfer level (RTL)
EE141
Testability Analysis
D Testability:
• A relative measure of the effort or cost of testing a logic
circuit
D Testability Analysis:
• The process of assessing the testability of a logic circuit
D Testability Analysis Techniques:
• Topology-based
T l b dTTestability
t bilit Analysis
A l i
– SCOAP - Sandia Controllability/Observability Analysis Program
– Probability-based testability analysis
• Simulation-based Testability Analysis
EE141
Testability Analysis
D C t ll bilit
Controllability
• Reflects the difficulty of setting a signal line to a
required logic value from primary inputs
D Observability
• Reflects the difficulty of propagating the logic
value of the signal line to primary outputs
EE141
Probability-Based Testability Analysis
EE141
Probability-based
y controllabilityy
calculation rules 0-controllability
(Primary input, output, branch)
1-controllability
(Primary input, output, branch)
Primary Input p0 p1 = 1 - p0
AND 1 – (output 1-controllability) Π (input 1-controllabilities)
OR Π (input 0-controllabilities) 1 – (output 0-controllability)
NOT Input 1-controllability Input 0-controllability
NAND Π (input 1-controllabilities) 1 – (output 0-controllability)
NOR 1 – ((output
p 1-controllability)
y) Π ((input
p 0-controllabilities))
BUFFER Input 0-controllability Input 1-controllability
XOR 1 – 1-controllabilty Σ(C1(a) × C0(b), C0(a) × C1(b))
XNOR 1 – 1-controllability Σ(C0(a) × C0(b),
C0(b) C1(a) × C1(b))
Branch Stem 0-controllability Stem 1-controllability
EE141
Probability-based
P b bilit b d observability
b bilit
calculation rules Observability
(Primary output, input, stem)
Primaryy Output
p 1
EE141
Design for Testability Basics
D Ad hoc DFT
• Effects are local and not systematic
• Not methodical
• Difficult to predict
D A structured DFT
• Easily incorporated and budgeted
• Yield the desired results
• Easy to automate
EE141
Ad Hoc Approach
D Typical ad hoc DFT techniques
• IInsertt test
t t points
i t
• Avoid asynchronous set/reset for storage
elements
l t
• Avoid combinational feedback loops
• Avoid
A id redundant
d d t logic
l i
• Avoid asynchronous logic
• Partition
P i i a largel circuit
i i into
i smallll blocks
bl k
EE141
Ad Hoc Approach – Test Point Insertion
Logic circuit
.
Low-observability node B
.
Low-observability node A L
Low-observa
b
.
bili node
bility d C
EE141
Ad Hoc Approach – Test Point Insertion
Logic circuit A MUX is inserted
Low-controllability nodeB between the source
Source x Destination and destination ends.
Original connection
Low-controllability node C D i normall
During
Low-controllability node A operation, TM = 0,
such that the value
CP1 CP2 CP3 from the source end
DI DI
0 DO DI drives the destination
DO
1
DO
end through the 0
CP_input SI SO
SI D
Q . SO SI SO port of the MUX.
TM TM TM
. . . During test, TM = 1
TM
CK . such that the value
Control shift register from the D flip-flop
drives the destination
end through the 1
Control point insertion port of the MUX.
EE141