Uploaded by maybeajoke

Design for test

advertisement
Figures to Accompany
Design-for-Test
for Digital IC’s and
Embedded Core Systems
Alfred L. Crouch
© 1999 Prentice Hall, All Rights Reserved
Contents
ii
Chapter 1 Test and Design-for-Test Fundamentals
Figure 1-1
Cost of Product
Figure 1-2
Concurrent Test Engineering
Figure 1-3
Why Test?
Figure 1-4
Definition of Testing
Figure 1-5
Measurement Criteria
Figure 1-6
Fault Modeling
Figure 1-7
Types of Testing
Figure 1-8
Manufacturing Test Load Board
Figure 1-9
Using ATE
Figure 1-10 Pin Timing
Figure 1-11 Test Program Components
Chapter 2 Automatic Test Pattern Generation Fundamentals
Figure 2-1
The Overall Pattern Generation Process
Figure 2-2
Why ATPG?
Figure 2-3
The ATPG Process
Figure 2-4
Combinational Stuck-At Fault
Figure 2-5
The Delay Fault
Figure 2-6
The Current Fault
Figure 2-7
Stuck-At Fault Effective Circuit
Figure 2-8
Fault Masking
Figure 2-9
Fault Equivalence Example
Figure 2-10 Stuck-At Fault ATPG
Figure 2-11 Transition Delay Fault ATPG
Figure 2-12 Path Delay Fault ATPG
Figure 2-13 Current Fault ATPG
Figure 2-14 Two-Time-Frame ATPG
Figure 2-15 Fault Simulation example
Figure 2-16 Vector Compression and Compaction
Figure 2-17 Some Example Design Rules for ATPG Support
Figure 2-18 ATPG Measurables
Chapter 3 Scan Architectures and Techniques
Figure 3-1
Introduction to Scan-based Testing
Figure 3-2
An Example Non-Scan Circuit
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Contents
Figure 3-3
Figure 3-4
Figure 3-5
Figure 3-6
Figure 3-7
Figure 3-8
Figure 3-9
Figure 3-10
Figure 3-11
Figure 3-12
Figure 3-13
Figure 3-14
Figure 3-15
Figure 3-16
Figure 3-17
Figure 3-18
Figure 3-19
Figure 3-20
Figure 3-21
Figure 3-22
Figure 3-23
Figure 3-24
Figure 3-25
Figure 3-26
Figure 3-27
Figure 3-28
iii
Scan Effective Circuit
Flip-Flop versus Scan Flip-Flop
Example Set-Scan Flip-Flops
An Example Scan Circuit with a Scan Chain
Scan Element Operations
Example Scan Test Sequencing
Example Scan Testing Timing
Safe Scan Shifting
Safe Scan Vectors
Partial Scan
Multiple Scan Chains
The Borrowed Scan Interface
Clocking and Scan
Scan-Based Design Rules
DC Scan Insertion
Stuck-At Scan Diagnostics
At-Speed Scan Goals
At-Speed Scan Testing
At-Speed Scan Architecture
At-Speed Scan Interface
Multiple Scan and Timing Domains
Clock Skew and Scan Insertion
Scan Insertion for At-Speed Scan
Critical Paths for At-Speed Testing
Logic BIST
Scan Test Fundamentals Summary
Chapter 4 Memory Test Architectures and Techniques
Figure 4-1
Introduction to Memory Testing
Figure 4-2
Memory Types
Figure 4-3
Simple Memory Organization
Figure 4-4
Memory Design Concerns
Figure 4-5
Memory Integration Concerns
Figure 4-6
Embedded Memory Test Methods
Figure 4-7
Simple Memory Model
Figure 4-8
Bit-Cell and Array Stuck-At Faults
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Contents
Figure 4-9
Figure 4-10
Figure 4-11
Figure 4-12
Figure 4-13
Figure 4-14
Figure 4-15
Figure 4-16
Figure 4-17
Figure 4-18
Figure 4-19
Figure 4-20
Figure 4-21
Figure 4-22
Figure 4-23
Figure 4-24
Figure 4-25
Figure 4-26
Figure 4-27
Figure 4-28
iv
Array Bridging Faults
Decode Faults
Data Retention Faults
Memory Bit Mapping
Algorithmic Test Generation
Scan Boundaries
Memory Modeling
Black Box Boundaries
Memory Transparency
The Fake Word Technique
Memory Test Needs
Memory BIST Requirements
An Example Memory BIST
MBIST Integration Issues
MBIST Default Values
Banked Operation
LFSR-Based Memory BIST
Shift-Based Memory BIST
ROM BIST
Memory Test Summary
Chapter 5 Embedded Core Test Fundamentals
Figure 5-1
Introduction to Embedded Core Test and Test Integration
Figure 5-2
What is a CORE?
Figure 5-3
Chip Designed with Core
Figure 5-4
Reuse Core Deliverables
Figure 5-5
Core DFT Issues
Figure 5-6
Core Development DFT Considerations
Figure 5-7
DFT Core Interface Considerations
Figure 5-8
DFT Core Interface Concerns
Figure 5-9
DFT Core Interface Considerations
Figure 5-10 Registered Isolation Test Wrapper
Figure 5-11 Slice Isolation Test Wrapper
Figure 5-12 Slice Isolation Test Wrapper Cell
Figure 5-13 Core DFT Connections through the Test Wrapper
Figure 5-14 Core DFT Connections with Test Mode Gating
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Contents
Figure 5-15
Figure 5-16
Figure 5-17
Figure 5-18
Figure 5-19
Figure 5-20
Figure 5-21
Figure 5-22
Figure 5-23
Figure 5-24
Figure 5-25
Figure 5-26
Figure 5-27
v
Other Core Interface Signal Concerns
DFT Core Interface Frequency Considerations
A Reuse Embedded Core’s DFT Features
Core Test Economics
Chip with Core Test Architecture
Isolated Scan-Based Core-Testing
Scan Testing the Non-Core Logic
Scan Testing the Non-Core Logic
Memory Testing the Device
DFT Integration Architecture
Test Program Components
Selecting or Receiving a Core
Embedded Core DFT Summary
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 1 Test and Design-for-Test Fundamentals
1
Chapter 1 Test and Design-for-Test Fundamentals
Total
Cost
Testing
Cost
Packaging
Cost
Silicon
Cost
Initial
Product
Increasing
Time
Final
Product
The goal over time is to reduce the cost of manufacturing
the product by reducing the per-part recurring costs:
- reduction of silicon cost by increasing volume and yield,
and by die size reduction (process shrinks or more
efficient layout)
- reduction of packaging cost by increasing volume,
shifting to lower cost packages if possible (e.g., from
ceramic to plastic), or reduction in package pin count
- reduction in cost of test by:
- reducing the vector data size
- reducing the tester sequencing complexity
- reducing the cost of the tester
- reducing test time
- simplifying the test program
Figure 1-1 Cost of Product
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 1 Test and Design-for-Test Fundamentals
2
Behavioral Specification and Model
Functional Architecture
Development
Test Architecture
Development
Test Control
Test Interface
BIST HDL
JTAG HDL
Hardware Description Language
Register Transfer Level
Timing Constraints
Gate-Level Library Mapping
Scan Insertion
Gate-Level Synthesis
Insert
Scan Cells
Scan Signals
Scan Ports
Test Timing
Gate-Level Netlist
Static Timing Assessment
Physical Process Mapping
Scan Optimization
Algorithmic
Scan Signal
ReOrdering
FloorPlanning and
Place&Route
Macrocell FloorPlanning
Timing Driven Cell Placement
Timing Driven Routing
Clock Tree Synthesis
Figure 1-2 Concurrent Test Engineering
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 1 Test and Design-for-Test Fundamentals
3
WHY TEST?
Reasons
Measurement
of Defects &
Quality Level
Incoming
Inspection
Contractual
Perceived
Product Quality
by Customer
Reliability
Requirement
Contractual
Pro & Con Perceptions of DFT
Eases
Generation of
Vectors
Adds Complexity
to Design
Methodology
Eases
Diagnosis
& Debugging
Impacts
Design Power
& Package Pins
Provides a
Deterministic
Quality Metric
Impacts
Design Speed or
Performance
Reduces
the Cost
of Test
Adds to
Silicon
Area
Figure 1-3 Why Test?
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 1 Test and Design-for-Test Fundamentals
4
DEFINITION of TESTING
Device or Circuit
under test
DEVICE
IN A
KNOWN
STATE
A KNOWN
STIMULUS
A KNOWN
EXPECTED
RESPONSE
EXAMPLE
IN_A
a
IN_B
b
IN_C
D Q
0
CLK
1
S
D Q
a
OUT_1
IN_D
OUT_2
b
Broadside
Parallel
Vector
1
1
^
1
CLK
with an unknown state
1
^
X
^
1
X
1
X
1
?
?
Figure 1-4 Definition of Testing
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 1 Test and Design-for-Test Fundamentals
Vdd
S
5
physical defects
opens
shorts
metal bridges
process errors
source-to-drain
short
G
D is always
at a logic 1
D
S
G
transistor faults
S2 D
G2 D
S2 G
G2 SB
S 2 SB D2 SB
D
Vss
+
gate faults
a@ 0 a@ 1
b@ 0 b@ 1
c@ 0 c@ 1
A
C
observed truth table
A
B
C
failures
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
B
Transistor and Gate Representation of Defects, Faults, and Failures
Figure 1-5 Measurement Criteria
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 1 Test and Design-for-Test Fundamentals
defects
open/short
bridge
mask
process
6
transistor faults
s2 d
g2 d
s2 g
g 2 sb
s 2 sb d 2 sb
stuck faults
a@ 0 a@ 1
b@ 0 b@ 1
c@ 0 c@ 1
6 gate faults
transition
delay faults
a 1- 0 a 0- 1
b1- 0 b0- 1
c 1- 0 c 0- 1
+
g
a
s
d
c
Truth Table
with fail modes
nand ab a b c
ab c 0 1 1 0
00 1 1 1 1 0
01 1 1 0 1 0
10 1 1 1 0 0
11 0 1 0 0 0
b
A
B
6 transitions
a
e
r
f
t
s
S
b
c
C
1 BIT ADDER with CARRY
Figure 1-6 Fault Modeling
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
path
delay faults
A2SR A2SF
A2CR A2CF
B2SR B2SF
B2CR B2CF
path
R=Slow-to-Rise
F=Slow-to-Fall
Alfred L. Crouch
Chapter 1 Test and Design-for-Test Fundamentals
7
Functional
3 a
5
b
4
4
/
/
A
D
D
E
R
4
/
4
/
s
8
c
0
3+5=8
Structural
A
a
e
f
B
r
s
S
t
b
c
C
1 BIT ADDER with CARRY
faultlist
a@ 0 a@
b@ 0 b@
e@ 0 e@
f@ 0 f@
r@ 0 r@
t@ 0 t@
s@ 0 s@
c@ 0 c@
1
1
1
1
1
1
1
1
16 faults
Figure 1-7 Types of Testing
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 1 Test and Design-for-Test Fundamentals
8
Chip
under
Test
The chip will be accessed by the tester at its pins only
A custom (load) board will be made for this purpose
Each pin has a limited number of bits available (e.g., 2 MB)
The test program (set of vectors and tester control) will be
applied at tester speed (may be less than actual chip speed)
The primary goal of manufacturing test is structural verification
Figure 1-8 Manufacturing Test Load Board
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 1 Test and Design-for-Test Fundamentals
2 Meg
Memory
Depth
9
Clock Gen 1
Clock Gen 2
Clock Gen 3
C
hi
pS
o
ck
et
192
Channels
Loadboard
Power Supply 1
Power Supply 2
Power Supply 3
Figure 1-9 Using ATE
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 1 Test and Design-for-Test Fundamentals
10
Chip Point of View
1 2
DV 4
3
1. Input Setup Time:
time the signal must arrive
and be stable before the clock
edge to ensure capture
2. Input Hold Time:
time the signal must remain
stable after the clock edge
to ensure that capture is stable
3. Output Valid Time:
time the signal takes to be
valid (or tristated) and stable on
the output after the clock edge
4. Output Hold Time:
time that the signal remains
available after output valid
so that it can be used
Tester Point of View
CLK
NRZ
1
0
0
RZ
1
0
0
SBC
1
0
0
Figure 1-10 Pin Timing
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 1 Test and Design-for-Test Fundamentals
11
DC Pin Parametrics
Test Logic Verification
DC Logic Stuck-At
DC Logic Retention
AC Logic Delay
AC Frequency Assessment
AC Pin Specification
Memory Testing
Memory Retention
Idd and Iddq
Specialty Vectors
Analog Functions
Test Escapes
The Venn circles are
examples of DC fault
coverages of some of the
vector classifications
in the test program
Some of the fault
coverages overlap
Vector reduction can
be accomplished by
removing overlap or
by combining vector
sets
Scan
Path Delay
Scan
Transition
Delay
Scan
Stuck-At
Scan
Sequential
Parametric
Functional
Test Escapes
Figure 1-11 Test Program Components
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
1
Chapter 2 Automatic Test Pattern Generation Fundamentals
Library Support
Netlist Conditioning
Observe Point Assessment
Vector Generation/Simulation
Vector Compression
Vector Writing
Figure 2-1 The Overall Pattern Generation Process
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
2
WHY ATPG?
Reasons
Greater
Measurement
Ability
Reduction
in Cycle
Time
Perceived
Competitive
Methodology
More
Efficient
Vectors
Pro & Con Perceptions of ATPG
Good
Bad
Eases
Generation of
Vectors
Adds Complexity
to Design
Methodology
Eases
Diagnosis
& Debugging
Requires
Design-for-Test
Analysis
Provides a
Deterministic
Quality Metric
Requires
Library
Support
Reduces
the Cost
of Test
Requires
Tool
Support
Figure 2-2 Why ATPG?
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
3
Fault Selection
Fault Observe Point Assessment
Fault Excitation
Vector Generation
Fault Simulation
Fault Dropping
Figure 2-3 The ATPG Process
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
4
a
X
b
e
stuck-at-0
force to a 1
detected
good = faulty
c
d
1
1
0
1
0
0
0
0
0
0
GOOD CIRCUIT
1
1
0
0
1
0
0
0
0
0
1
D
I
F
F
E
R
E
N
T
0
FAULTY CIRCUIT
Figure 2-4 Combinational Stuck-At Fault
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
5
Delay from Strong Driver
Insufficient Transistor Doping
A
Delay Model Element
B
Resistive Bridge
Z
C
Delay from Extra Load
D
Slow Gate Output
Slow Gate Input
E
F
Capacitive or Resistive
Wire Delay from Opens
and Metal Defects
The Delay Fault Model
is an added delay
to net, nodes, wires, gates
and other circuit elements
Effect of Delay Fault
Delay of Transition Occurrence
Changing of Edge-Rate
Edge-Rate Layover
“Ideal” Signal
1
0
0
Added Rise Delay
Added Fall Delay
Figure 2-5 The Delay Fault
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
6
Leakage from Bridge
Leakage from Metastability
A
Leakage Fault Model
B
Resistive Bridge
Z
C
Leakage from Bridge
D
Internal Gate Leakage
E
F
Capacitive or Resistive
Delay Extends Current
Flow Time
The Current Fault Model
is an added Leakage
to net, nodes, wires, gates
and other circuit elements
Effect of a Current Fault
is to add extra current
flow or to extend flow time
I(t)
t
Figure 2-6 The Current Fault
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
7
a
b
nand
ab z
00 1
01 1
10 1
11 0
X
stuck-at-0
force to a 1
e
c
d
1
evaluate fault against
the gate’s truth table
R
E
M
A
P
nor
ab z
00 1
01 0
10 0
11 0
c
e
d
evaluate change against
the gate’s truth table
R
E
M
A
P
0
e
Detectable
evaluate final result against
the circuit’s whole truth table
Figure 2-7 Stuck-At Fault Effective Circuit
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
a
8
stuck-at-0
force to a 1
X
b
e
not detected
good = faulty
c
1
1
0
1
0
X
0
1
0
X
GOOD CIRCUIT
1
0
0
1
1
X
1
1
S
A
M
E
0
X
FAULTY CIRCUIT
Figure 2-8 Fault Masking
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
A
faultlist
a@ 0 a@
b@ 0 b@
e@ 0 e@
f@ 0 f@
r@ 0 r@
t@ 0 t@
s@ 0 s@
c@ 0 c@
a
e
f
b
a’
B
r
r
t
t
s
c
e
S
C
GOOD - 1 BIT ADDER with CARRY
a
b
a
a
z
z
z
b
Fault Equivalence Table
AND
a@0 = b@0 = z@0
INV
a@1 = z@0 : a@0 = z@1
OR
a@1 = b@1 = z@1
9
1
1
1
1
1
1
1
1
16 faults
1. Any fault that
requires a logic 1 on
the output of an
AND-gate will also
place 1’s on inputs
2. Similar analysis
exists for all other
gate-level elements
3. If one fault is
detected, all
equivalent faults are
detected
4. Fault selection only
needs to target one
of the equivalent
faults
Figure 2-9 Fault Equivalence Example
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
A 1
a
1
eX
f
B
1
r
1
0
0
0
1
s
1
S
t
b
c
C
1 BIT ADDER with CARRY
Set Up the Detect and Propagation Path
10
faultlist
a@ 0
a@
b@ 0
b@
e@ 0
e@
f@ 0
f@
r@ 0
r@
t@ 0
t@
s@ 0
s@
c@ 0
c@
1
1
1
1
1
1
1
1
16 faults
1. Set up the path to
pass the opposite of
e S @ 0, which is e = 1
2. Exercise by setting
e equal to1
A
a
e
f
B 0
1
r
s
S
3. Detect by observing
S for wrong value
during fault
simulation
t
b
c
C
1 BIT ADDER with CARRY
Exercise the Fault
Figure 2-10 Stuck-At Fault ATPG
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
A 1
a 1
eX
f 0
B
1
0
r
t
1
1
0
s
1
faultlist
a@ 0
a@
b@ 0
b@
e@ 0
e@
f@ 0
f@
r@ 0
r@
t@ 0
t@
s@ 0
s@
c@ 0
c@
S
b
c
C
1 BIT ADDER with CARRY
a
e 0
0
f
B 1
r
t
s
0
0
1. Set up the path to
pass the opposite of e
S=0 S @ 0, which is e = 1
S@Time 1
2. Pre-fail by setting
e equal to 0
b
c
C
1 BIT ADDER with CARRY
Pre-Fail the Fault by Passing a 0
A
f
B 0
1
r
1
t
3. Exercise by setting
e equal to 1 some
time period later
4. Detect by observing
S for wrong value
during timing
simulation
a
e 1
1
1
1
1
1
1
1
1
16 faults
Set Up the Detect Path to Pass a 1
A
11
s
1
S@Time 2
b
c
S=1
The Transition Delay
Faultlist is identical to
the Stuck-At Faultlist but
the goal is to detect a
Logic Transition within
C a given time period
1 BIT ADDER with CARRY
Exercise the Fault to Pass a 1
Figure 2-11 Transition Delay Fault
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
A
1->1
a
X
X
r
eX
f
B
1->1
x->x b
X
0->0
0
x
0
s
X
t
16.0 pt
c
e
0->1
r
0->1
f
s
0->1
16 faults
S@Time1 -> S@Time2
t
b
B
1
1
1
1
1
1
1
1
2. Exercise by first setting
B equal to 1 and then
to 0. This is known as a
vector-pair
a
1->0
C
faultlist
a@ 0
a@
b@ 0
b@
e@ 0
e@
f@ 0
f@
r@ 0
r@
t@ 0
t@
s@ 0
s@
c@ 0
c@
1. Set up the path to pass
a transition on B-to-S
through e, r, and s by
setting the off-path
values to be stable for
2 time periods
1 BIT ADDER with CARRY
Set Up the Off-Path
A
S
12
1->0
c
1. Detect by observing S
for wrong value during
fault simulation with
respect to a time
C standard
1 BIT ADDER with CARRY
Exercise the Fault (Path)
Figure 2-12 Path Delay Fault
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
faultlist
a@ 0
a@
b@ 0
b@
e@ 0
e@
f@ 0
f@
r@ 0
r@
t@ 0
t@
s@ 0
s@
c@ 0
c@
13
1
1
1
1
1
1
1
1
16 faults
A
a
e
f
B 0
1. Exercise by first
setting e equal to1
1
r
s
t
S
2. Detect by measuring
current and accept
vector by quietness
b
c
C
1 BIT ADDER with CARRY
Exercise the Fault
Figure 2-13 Current Fault
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
14
Transition
bit
End of Path
bit
1->0
1
second-order
cone of logic
0
0
establishes
transition and
off-path values
1
establishes
the legal
next-state
Defined
Critical
Path
1->1
Solve This Combinational
Cone of Logic As Second Step
after Middle Register Values
Are Established by First Cone
D Expect
Value
0->0
first-order
combinational
cone of logic
1->1
contains path
and off-path
logic
establish
first state
preset
next-state
Q
Gate
Elements
legal
next-next-state
legal
next-state
Solve This Combinational
Cone of Logic As the First Step
to Combinational Multiple
Time Frame Analysis
Slack Time
Propagation Delay Time
Register Setup Time
1
2
3
1. Launch 1st Value:
establish path fail value at clock edge
2. Launch Transition:
provide pass value at next clock edge
3. Capture Transition:
observe transition value at this clock edge
Figure 2-14 Two-Time-Frame ATPG
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
A
B
15
faultlist
a@ 0 a@
b@ 0 b@
e@ 0 e@
f@ 0 f@
r@ 0 r@
t@ 0 t@
s@ 0 s@
c@ 0 c@
a
e
r
f
t
s
S
b
c
C
GOOD - 1 BIT ADDER with CARRY
A
B
16 faults
a
e
r
f
t
s
b
S
GND
C
“t” S@0 - 1 BIT ADDER with CARRY
B
a
e
r
f
t
s
b
+
1. Create multiple
copies of the netlist
for each fault.
2. Apply same
vectors to each
copy.
c
A
1
1
1
1
1
1
1
1
S
VDD
c
“t” S@1 - 1 BIT ADDER with CARRY
C
3. Compare each
copy to good
simulation
(expected
response).
4. Fault is detected if
bad circuit and
good circuit differ
at a detect point.
5. Measurement is
faults detected
divided by total
number of faults
(8/16 = 50%).
Figure 2-15 Fault Simulation example
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
16
Simulation Post Processing Compression
Pattern Set
Fault Re-Simulation
with Redundant
Vector Dropping
01101110001010
01101110101110
00101110111010
11111110001010
01100000001011
01001011001010
01010101010101
11101100101010
11001110001010
01111000001010
00000000001010
This Usually Drops
Early Vectors That
Are Fully Covered
by Later Vectors
and Eliminates Less
Efficient Vectors
Dynamic ATPG Compression
X
X
1
0
1
0
X
X
X
X
X
one targeted
fault
During ATPG a Vector Is Not
Submitted to Fault Simulation
until Multiple Faults have
been Targeted — “X”s Mapped
This can Greatly Increase
Vector Generation Time
But Usually Results in
the Most Efficient Vectors
Figure 2-16 Vector Compression and Compaction
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
17
Transistor
Structure
Equivalent
Gate
Structure
ATPG May Only Operate
on Gate-level Elements
Combinational Feedback Results in
Latches, Oscillators, or Endless Loops
Propagation Timing Distance Must Be Less
Than One Test Clock Cycle
SET
D Q
General
Combinational
Logic
CLK
CLR
D Q
CLK
Figure 2-17 Some Example Design Rules for ATPG
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 2 Automatic Test Pattern Generation Fundamentals
Sizing
Design
Description
Complexity
ATPG
Library
Faultlist
Management
Support
Files
18
ATPG
TOOL
Runscripts
Runtime
algorithms
rule checks
Vectors
Vector Features
Compression
Detected
Faults
Vector
Translation
Figure 2-18 ATPG Measurables
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
1
Chapter 3 Scan Architectures and Techniques
- >1,000,000 gates
- >5,000,000 faults
- >10,000 flip-flops
- > 1,000 sequential depth
- < 500 chip pins
* > 2,000 gates/pin
* > 2M = 21000
A deep sequential circuit
Chip under Test without Scan
- >1,000,000 gates
- >5,000,000 faults
- > no effective flip-flops
- > no sequential depth
- < 500 + 10,000 chip pins
* > 95.23 gates/pin
* > 2M = 20 = 1
A combinational circuit
Chip under Test with Full-Scan
Figure 3-1 Introduction to Scan-based Testing
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
2
Combinational &
Sequential Logic
input1
input2
input3
input4
output1
Q
D
QN
clk
D
Q
D
Q
input5
D
input6
1
Q
2
output2
34
Sequential Depth of 4
Combinational Width of 6
26+4 = 1024 Vectors
Figure 3-2 An Example Non-Scan Circuit
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
3
Combinational-Only Logic
input1
input2
input3
input4
output1
D
Q
QN
D
Q
D
Q
input5
input6
D
Q
output2
TPI1
TPI2
TPI3
TPI4
TPI5
A no-clock, combinational-only circuit with:
6 inputs plus 5 pseudo-inputs and
TPO1
TPO2
TPO3
TPO4
2 outputs plus 4 pseudo-outputs
Figure 3-3 Scan Effective Circuit
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
D
D
Q
4
Q
QN
CLK
clk
Regular D Flip-Flop
SDO
D
D
Q
SDI
SE
Q
SDO
clk
QN
CLK
Scannable D Flip-Flop
Figure 3-4 Flip-Flop versus Scan Flip-Flop
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
5
SET
D
SDO
D
Q
Q
SDI
QN
SE
clk
CLK
Set-Scan D Flip-Flop
with Set at Higher Priority
D
SET
D
Q
SDI
SE
SDO
Q
QN
clk
CLK
Set-Scan D Flip-Flop
with Scan-Shift at Higher Priority
Figure 3-5 Example Set-Scan Flip-Flops
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
6
Combinational and
Sequential Logic
input1
input2
output1
input3
input4
SE
SE
scanin
SDI
clk
Q
D
QN
D
SDO
Q
SE
input5
SDI
D
input6
D
Q
SE
SE
SDI
SDI
0
scanout
Q
output2
SDO
SDO
1
SDO
1
1
4-Bit Scan Vector
Figure 3-6 An Example Scan Circuit with a Scan Chain
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
D
a
D
SDI
7
Q
Q
b
QN
SE
clk
SDO
CLK
Scannable D Flip-Flop
The scan cell provides observability and controllability of the signal
path by conducting the four transfer functions of a scan element.
Operate: D to Q through port a of the input multiplexer:
allows normal transparent operation of the element.
Scan Sample: D to SDO through port a of the input multiplexer:
gives observability of logic that fans into the scan element.
Scan Load/Shift: SDI to SDO through the b port of the multiplexer:
used to serially load/shift data into the scan chain while simultaneously
unloading the last sample.
Scan Data Apply: SDI to Q through the b port of the multiplexer:
allows the scan element to control the value of the output, thereby
controlling the logic driven by Q.
Figure 3-7 Scan Element Operations
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
D
From normal operation:
D
Q
SDI
SE=0
Q
QN
clk
SDO
CLK
Apply clocks for scan length
D
Q
SDI
SE=1
Q
QN
SDO
clk
Scan Shift Load/Unload Mode
D
Q
SDI
Q
QN
SE=1
clk
SDO
Scan Apply Mode (Last Shift)
The next rising edge of the clock
will sample D
NOTE: unloading is simultaneous
with loading the next test
D
Q
SDI
SE=0
Normal circuit response will be
applied to D
Return to Load/Shift mode to
unload circuit response sample
CLK
D
When chain is loaded, the last
shift clock will apply scan data
While the clock is low,
place SE = 0
CLK
D
While the clock is low,
apply test data to SDI
and Place SE = 1
At the rising edge of the clock,
test data will be loaded
Functional Operation Mode
D
8
Q
QN
clk
SDO
CLK
Scan Sample Mode
Repeat operations until all vectors
have been applied
NOTE: the chip’s primary inputs
must be applied during the scan
apply mode (after the last shift)
Figure 3-8 Example Scan Test Sequencing
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
9
The Scan Sample
The Last Shift In
The First Shift Out
CLK
SE
Scan Enable Assert
Scan Enable De-assert
The Output Pin Strobe
SHIFT
DATA
SHIFT
DATA
FAULT
EXERCISE
SAMPLE
DATA
SHIFT
DATA
SHIFT
DATA
Faults Exercised Interval
Figure 3-9 Example Scan Testing Timing
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
Gated Clock Nets
10
clock tree
distribution
Provide an Enable Signal
f_seB
force the clock on
Asynchronous or Synchronous
Signals with Higher Priority
than Scan—or Non-Scan Elements
D
Q
HOLD
SET
CLR
f_seB
CLK
Provide a Blocking Signal
D
Q
HOLD
SET
CLR
CLK
Driven Contention
During Scan Shifting
D Q
Q D
CLK
CLK
D Q
Q D
CLK
t_seB
Provide a Forced Mutual Exclusivity
CLK
Figure 3-10 Safe Scan Shifting
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
11
The Scan Sample
The Last Shift In
The First Shift Out
CLK
Faults Exercised Interval
SE
t_seB
a tristate scan enable may be
a separate signal that has
slightly different timing than
the flip-flop SE
Driven Contention
during the Capture Cycle
D Q
Q D
CLK
CLK
D Q
Q D
CLK
t_seB
de-asserted
CLK
Figure 3-11 Safe Scan Vectors
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
12
Combinational-Only Logic
input1
input2
input3
input4
output1
D
Q
QN
D
Q
D
Q
input5
input6
D
Q
output2
TPI1
TPI2
TPO1
TPI3
TPI5
A clocked, sequential circuit with depth=1:
6 inputs plus 4 pseudo-inputs and
2 outputs plus 3 pseudo-outputs
TPO3
TPO4
Figure 3-12 Partial Scan
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
13
An Example Using a Chip with 1000 Scan Bits and 5 Scan Vectors
Red Space Is Wasted Tester Memory
1000
1000
One Long
Scan Chain
1000
Vector Data
One Channel
1000
X’s on all Other Channels
not actively used for parallel pin data
Each Vector is 1000 Bits Long
So 5 Vectors Are 5000 Bits of Tester Memory
Many
Variable Length
Scan Chains
120
X
80 XXX
100 XX
110 XX
90 XXX
180
X20 XXXX
100 XX
100 XX
100 XX
120
X
80 XXX
100 XX
110 XX
90 XXX
180
X20 XXXX
100 XX
100 XX
100 XX
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
120
X
80 XXX
100 XX
110 XX
90 XXX
180
X 20 XXXX
100 XX
100 XX
100 XX
120
X
80 XXX
100 XX
110 XX
90 XXX
180
X 20 XXXX
100 XX
100 XX
100 XX
10 Non-Balanced
Channels
Each Vector Is 180 Bits Long—So 900 Bits of Tester Memory
Differences from Longest Chain (180) Are Full of X’s—Wasted Memory
Many
Balanced
Scan Chains
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
Vector Data
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
10 Balanced
Channels
Each Vector Is 100 Bits Long—So 500 Bits of Tester Memory
No Wasted Memory Space
Figure 3-13 Multiple Scan Chains
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
14
Borrowed DC Scan Input on Bidirectional Pin
Combinational
Logic
Scan
Data
Input
Output Data Path
Blocked during Scan Shift
Output Enable
with bus_se
Captures through the
or scan_mode
Combinational Logic
during the Sample Operation
Combinational
Logic
Any
Bidir
Functional
Pin
D
S
SE
Pad
Captures Directly from
the Input Pin During
the Shift Operation
Q
Input
Parallel Scan
Input to Chip
Normal Input
to Logic
SE
Input Scan Interface—May Resolve to Functional during Sample Interval
Borrowed DC Scan Output on Bidirectional Pin
Last Scan Shift Bit
from Scan Chain
D
Q
Input
Normal Output
from Logic
D
S
SE
Q
S
SE
Input Data Path Is a
Don’t Care
during Scan Shift
SE on Input
Combinational
Blocks Data
Logic
Combinational
Logic
Output
a
b
s
Added Scan Output Mux with bus_se or scan_mode
Scan
Data
Output
Any
Bidir
Pin
Pad
Functional Output Enable with bus_se or scan_mode added
Output Scan Interface—May Resolve to Functional during Sample Interval
Figure 3-14 The Borrowed Scan Interface
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
15
• Scan Bypass Clocks
• Scan Testing an On-Chip Clock Source
Bypass Clocks
Analog
Digital 1
Digital 2
VCO
Raw VCO
Clock
Counters &
Dividers
On-Chip Clock Generation Logic
Figure 3-15 Clocking and Scan
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
16
Driven Contention
during Scan Shifting
D Q
Q D
CLK
CLK
D Q
Q D
CLK
CLK
t_seB
Provide a Forced Mutual Exclusivity
Asynchronous or Synchronous
Signals with Higher Priority
than Scan—or Non-Scan Elements
D
Q
HOLD
SET
CLR
f_seB
CLK
Provide a Blocking Signal
D
Q
HOLD
SET
CLR
CLK
Gated Clock Nets
Provide a Blocking Signal
f_seB
Figure 3-16 Scan-Based Design Rules
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
17
Basic Netlist Scan Insertion
Element Substitution
Ports, Routing & Connection of SE
Ports, Routing & Connection of SDI-SDO
Extras
Tristate “Safe Shift” Logic
Asynchronous “Safe Shift” Logic
Gated-Clock “Safe Shift” Logic
Multiple Scan Chains
Scan-Bit Re-Ordering
Clock Considerations
All Non-Sampling
Clock Domains
Inhibit Sample
Clock Pulse
Last Shift
All Scan Chains (Clocks) Shift
Only One Clock Domain
Conducts a Sample Clock
Figure 3-17 DC Scan Insertion
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
18
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Scan Fail Data Presented at
Chip Interface Automatically
Implicates the Cone of Logic
at One Flip-Flop
1
0
Multiple Fails under the
Single Fault Assumption
Implicate Gates
Common to Both
Cones of Logic
0
0
1
1
0
Figure 3-18 Stuck-At Scan Diagnostics
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
19
Basic Purpose
• Frequency Assessment
• Pin Specifications
• Delay Fault Content
Cost Drivers
• No Functional Vectors
• Fewer Overall Vectors
• Deterministic Grade
Figure 3-19 At-Speed Scan Goals
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
20
The Transition Launch
The First Shift Out
The Last Shift In
The Transition Capture
CLK
Transition Generation Interval
Faults Exercised Interval
SE
T_SE
F_SE
Bus_SE
Separate Scan Enables for Tristate Drivers,
Clock Forcing Functions, Logic Forcing
Functions, Scan Interface Forcing Functions,
and the Scan Multiplexor Control
Because the Different Elements Have
Different Timing Requirements
Figure 3-20 At-Speed Scan Testing
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
21
Borrowed Scan Input with Scan Head Register
Output Data Path Blocked during Scan Shift
Output Enable with bus_se
Combinational
Logic
Any
Bidir
Pin
D
Q
Input
Pad
Parallel Scan
Input to Chip
Normal Input
to Logic
D
S
SE
Q
Input
At-Speed Scan Interface—Resolves to Functional During Sample Interval
Driven Contention
During Scan Shifting
D
Q
Q
CLK
CLK
D
D
Q
Q
CLK
D
CLK
t_seB
At-Speed Assert and De-Assert
Asynchronous or Synchronous Signals
with Higher Priority than Scan
or Non-Scan Sequential Elements
D
Q
D
HOLD
SET
CLR
CLK
Q
HOLD
SET
CLR
f_seB
CLK
At-Speed Assert and De-Assert
Figure 3-21 At-Speed Scan Architecture
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
22
Borrowed AC Scan Input on Bidirectional Pin
Combinational
Logic
Output Data Path
Blocked during Scan Shift
Output Enable
with at-speed bus_se
Scan
Data
Input
Captures through the
Combinational Logic
during the Sample Operation
Combinational
Logic
Any
Bidir
Functional
Pin
S
SE
Pad
Parallel Scan
Input to Chip
Normal Input
to Logic
D
Q
Input
Captures Directly from
the Input Pin During
the Shift Operation
D
Q
Input
Head
Input Scan Interface—Resolves to Functional during Sample Interval
Borrowed AC Scan Output on Bidirectional Pin
Last Scan Shift Bit
from Scan Chain
D
Q
Input
Normal Output
from Logic
D
S
SE
Q
Output
S
SE
Input Data Path Is a
Don’t Care
during Scan Shift
SE on Input
Combinational
Blocks Data
Logic
Combinational
Logic
a
D
Q b
Output s
Tail
Added Scan Output Mux with bus_se
Scan
Data
Output
Any
Bidir
Pin
Pad
Functional Output Enable with bus_se Added
Output Scan Interface—Resolves to Functional During Sample Interval
Figure 3-22 At-Speed Scan Interface
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
23
Fast to Slow
Transfers
Slow to Fast
Transfers
Fast
Logic
Slow
Logic
Fast to Slow
Transfers
Fast Scannable
System Registers
Slow Scannable
System Registers
Clock A
Scan Enable A
Clock B
Scan Enable B
The Clock Domains and Logic Timing
should be crafted so that the very next
rising edge after the launch or last shift
is the legal capture edge
Last Scan
Shift Edge
Legal ATPG
Transfer
Illegal ATPG
Transfer
Applied
Fast Clock
Applied
Slow Clock
Only Fast-to-Slow
Legal ATPG Transfer
Figure 3-23 Multiple Scan and Timing Domains
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
24
Combinational
Logic
Combinational
Logic
Combinational
Logic
scanned
flip-flop
D
Q
D
SDI
Q
D
SDI
Q
SDI
165 ps
CLK
120 ps
SE
150 ps
First Clock Domain — All Elements on Same Clock Tree
300ps+
Cross Domain
Clock Skew
Combinational
Logic
Combinational
Logic
Combinational
Logic
scanned
flip-flop
D
Q
D
SDI
Q
D
SDI
Q
SDI
165 ps
CLK
SE
120 ps
150 ps
Second Clock Domain—All Elements on Same Clock Tree
Cross Domain Clock Skew must be managed to less than the fastest
flip-flop update time in the launching clock domain
If it is not, then the receiving flip-flop may receive new-new
scan data before the capture clock arrives
To prevent this outcome, constrain the ATPG tool to only
sample one clock domain at a time during the sample interval
Figure 3-24 Clock Skew and Scan Insertion
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
25
Specification
Development
Scan Mode
Bus_SE
Tristate_SE
Logic Force_SE
Architecture
Development
Simulation
Verification
Model
Behavior
Synthesis
Scan Shift SE
Clock Force_SE
Scan Data
Connection
Insertion
Timing
Analysis
Place
and
Route
Scan Chain Bit
Re-Ordering
Specification
Determination
Gates
Mask
Mask
and
Fab
Silicon
Test
Silicon
Design Flow Chart
Scan Mode: Fixed “Safe” Logic
Scan Enable (SE): Scan Shift
Force_SE:
Force_SE: Clock Force States
Logic Forced States
Tristate_SE: Internal Tristates
Bus_SE: Scan Interface Control
Figure 3-25 Scan Insertion for At-Speed Scan
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
D Q
R1
D Q
R2
In1
0>1
A
U35
B
0
X
In2
0
In3
0
In4
0
A
U36
B
A
U39
B
26
Static Timing Analysis Provides Path Description
of Identified Critical Path from the Q-Output of R1
to the Device Output Pin—Out1
0>1
1
A
U37
B
1>0
A
U38
B
1>0
Out1
1
Isolated Combinational Logic
All Fan-in to Endpoint Is
Accounted at this Endpoint
Fanout to other Endpoints is
Evaluated atThose Endpoints
Period = 20ns : Output Strobe @ 15ns
Path Element
Incremental
Cumulative
Description
Delay
Delay
Clk
R1.Q
U35.A
U35.Z
U37.A
U37.Z
U38.A
U38.Z
Out1
2.2ns
0.0ns
2.1ns
0.1ns
3.2ns
0.2ns
2.2ns
0.1ns
Dly=10.1
Skew Amb.
0.0ns
2.1ns
2.2ns
5.4ns
5.6ns
7.8ns
7.9ns
Slk=4.9ns
Timing Analysis Report
Figure 3-26 Critical Paths for At-Speed Testing
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
27
Polynomial: X3 + X +1 = X3 + X1 + X0 = 23 + 21 + 20 = 11
LFSR - PRPG: pseudo-random pattern generation
X3
Seed
DQ
1
X2
DQ
1
X1
DQ
1
CLK
X0
111
011
001
100
010
101
110
111
Chip with Full-Scan
and X-Management
DQ
DQ
DQ
CLK
LFSR - MISR: multiple input signature register
Figure 3-27 Logic BIST
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 3 Scan Architectures and Techniques
28
Scan Testing Methodology
Advantages
Direct Observability of Internal Nodes
Direct Controllability of Internal Nodes
Enables Combinational ATPG
More Efficient Vectors
Higher Potential Fault Coverage
Deterministic Quality Metric
Efficient Diagnostic Capability
AC and DC Compliance
Concerns
Safe Shifting
Safe Sampling
Power Consumption
Clock Skew
Design Rule Impact on Budgets
Figure 3-28 Scan Test Fundamentals Summary
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
1
Chapter 4 Memory Test Architectures and Techniques
Chip-Level
Embedded
Memory
Logic
Memory Access
PLL
TAP
JTAG Boundary Scan
Figure 4-1 Introduction to Memory Testing
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
2
Row/Word-Address
Select
Select
Column/Bit-Data
Column/Bit-Data
Storage
6 Transistor SRAM Cell
Row/Word-Address
Storage
Select
Column/Bit-Data
1 Transistor DRAM Cell
Row/Word-Address
Storage
Select
Column/Bit-Data
2 Transistor EEPROM Cell
Figure 4-2 Memory Types
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
3
Data Bus: To Multiple Memory Arrays
Address Bus: To Multiple Memory Arrays
Bus
Enable
Data In
Data Out
Memory: Data Width by Address Depth
32 x 512
Address In
Read/WriteBar
Memory Array
Address Decode to Row Drivers
Data Decode to Column Drivers
Output Enable
Control Circuitry to Read, Write,
and Data Output Enable
Control Signals: Individual Signals to This Memory Array
Figure 4-3 Simple Memory Organization
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
4
Chip FloorPlan
Memory 1
M
e
m
o
r
y
3
Memory
2
- Aspect Ratio
- Access Time
- Power Dissipation
Memory 4
Figure 4-4 Memory Design Concerns
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
5
Chip FloorPlan
Memory 1
M
e
m
o
r
y
Memory
2
- Routing
3
- Placement & Distribution
- Overall Power Dissipation
Processor
Local
Logic
Memory 4
Figure 4-5 Memory Integration Concerns
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
6
32
Embedded
Microprocessor
Core
Data
24
Embedded
Memory
Array
Address
3
Control
Functional Memory Test
Data
Address
Control
32
Embedded
Memory
Array
24
3
Direct Access Memory Test
Invoke
BIST Controller
Done
Reset
Embedded
Memory
Array
Hold
Fail
BIST Memory Test
Figure 4-6 Embedded Memory Test Methods
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
7
column # —>
0
1
2
3
row # —> 0
1
0
0
1
row # —> 1
1
0
1
1
0
1
data bit cell
row # —> 2
0
1
Figure 4-7 Simple Memory Model
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
8
Data in Bit Cells
May Be Stuck-At
Logic 1 or Logic 0
word stuck-at
data value 1110
address A031—>
address A032—>
address A033—>
single bit stuck-at 1
1
0
1
1
1
1
1
0
1
0
1
0
single bit stuck-at 0
Figure 4-8 Bit-Cell and Array Stuck-At Faults
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
9
Data in Bit Cells
May Be Bridged
to Other Bit Cells
horizontal (row)
bit bridging
0
1
1
0
1
0
1
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
vertical (column)
bit bridging
word bridging
unidirectional
one-way short
random
bit bridging
word bridging
bidirectional
two-way short
Figure 4-9 Array Bridging Faults
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
10
Column Decode
X
C
O
Select Lines
L
X
X
R
O
0
1
1
1
1
0
1
1
X
W
1
1
1
1
X
X
1
1
1
1
0
1
1
1
0
0
1
1
Row Decode
stuck-at faults result
R
in always choosing
o
wrong address
w
Row Decode
D
bridging faults result
e
in always selecting
c
multiple addresses
o
d
e
Column Decode
bridging faults result
in always selecting
multiple data bits
Column Decode
Select Line
stuck-at faults result
faults result in
in always choosing
similar array
wrong data bit
fault effects
Figure 4-10 Decode Faults
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
11
Data around target
cell is written with
complement data
Complementary
Data around
Target Cell
Address 21 = A
1
0
1
0
Address 22 = 5
0
1
0
1
Address 23 = A
1
0
1
0
0
1
0
1
Address 24 = 5
alternating 5’s and A’s make for a natural checkerboard pattern
Figure 4-11 Data Retention Faults
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
Blue: Pass
Red: Fail
12
Column
Data Fault
Physical Memory Organization
Row Address
Fault
Logical Memory Organization
Stuck-At
Bit Faults
Physical Memory Organization
Bridged
Cell Faults
Physical Memory Organization
Figure 4-12 Memory Bit Mapping
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
13
Address 00 —>
0
1
0
1
0
1
0
1
Address 01 —>
0
1
0
1
0
1
0
1
Address 02 —>
0
1
0
1
0
1
0
1
Address 03 —>
Addr(00) to Addr(Max)
Read(5)-Write(A)-Read(A) Address 04 —>
Increment Address
Address 05 —>
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Address 06 —>
Addr(00) to Addr(Max)
Read(A)-Write(5)-Read(5) Address 07 —>
Increment Address
Address 08 —>
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Address 09 —>
Addr(Max) to Addr(00)
Read(5)-Write(A)-Read(A) Address 10 —>
Decrement Address
Address 11 —>
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Address 12 —>
Addr(Max) to Addr(00)
Read(A)-Write(5)-Read(5) Address 13 —>
Decrement Address
Address 14 —>
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Address 15 —>
0
1
0
1
0
1
0
1
Address 16 —>
0
1
0
1
0
1
0
1
Address 17 —>
0
1
0
1
0
1
0
1
Address 18 —>
1
0
1
0
1
0
1
0
Address 19 —>
1
0
1
0
1
0
1
0
Address 20 —>
1
0
1
0
1
0
1
0
Address 21 —>
1
0
1
0
1
0
1
0
Address 22 —>
1
0
1
0
1
0
1
0
Address 23 —>
1
1
1
0
1
0
1
0
Addr(00) to Addr(Max)
Write(5)-Initialize
Increment Address
Addr(Max) to Addr(00)
Read(5)
Decrement Address
Read (A)------->
Write (5)
Read (5)
Increment Address
March C+ Algorithm
Memory Array with 24 Addresses
with Algorithm at Read (A) Stage
Figure 4-13 Algorithmic Test Generation
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
14
Boundary at some level
of scanned registration
or “pipelining” away
from the memory
array
Data
Data
Memory
Detection of
incoming
signals
Control of
outgoing
signals
Array
Address
Control
scan-memory
boundary
Minimum Requirement
Detection up to Memory Input
and Control of Memory Output
Concern: the Logic between
the Scan Test Area and the
Memory Test Area Is not
Adequately Covered
Non-Scanned Registration inside the Boundary
but Before the Memory Test Area Results in
a Non-Overlap Zone
Figure 4-14 Scan Boundaries
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
15
The Memory Array is modeled
for the ATPG Engine so the
ATPG Tool can use the memory
to observe the inputs
and control the outputs
Data In
Din
Dout
Data Out
Memory
Array
Address
Ain
ATPG
Model
Control
Read/Write
Scan
Architecture
Figure 4-15 Memory Modeling
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
16
Boundary at some level
is blocked off
as if the memory was
cut out of the circuit
Scan Mode
Control of
outgoing
signals
Data In
Gated Data Out
Detection of
incoming
signals
Memory
Array
can be
Address
Multiplexed Data Out
removed
from
All Registers
are in the
scan chain
architecture
netlist for
ATPG purposes
Control
scan black-box
boundary
Observe-only registers
used for detection of memory
input signals
Gate or Multiplexor is used
to Block—fix to a known
value—the Memory
Output Signals
Figure 4-16 Black Box Boundaries
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
17
Boundary at some level
is blocked off
as if the memory was
cut out of the circuit
Input is passed
to output as the
form of output
control
Data In
Bypass Data Out
Detection of
incoming
signals
Memory
array
can be
Address
removed
from
netlist for
ATPG purposes
Control
scan black-box
boundary
Observe-only registers
used for detection of memory
input signals
Multiplexor is used to
pass the input directly
to the output
Figure 4-17 Memory Transparency
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
18
Detection of incoming
data signals done here
Boundary at some level
is blocked off
as if the memory was
cut out of the circuit
Input is passed
to output with
registration
Data In
Bypass Data Out
Memory
In ideal sense,
timing should
also be matched
array
can be
Address
removed
from
netlist for
ATPG purposes
Control
scan black-box
boundary
Observe-only registers
not needed on data since
register emulates memory
Register and multiplexor
is used to emulate memory
timing and output
Figure 4-18 The Fake Word Technique
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
19
Data Bus: Possibly to Multiple Memory Arrays
Address Bus: Possibly to Multiple Memory Arrays
Data In
Data Out
Memory: data width by address depth
32 x 512
Address
Read/WriteB
Memory Array
Address Decode to Row Drivers
Data Decode to Column Drivers
Output Enable
Control Circuitry to Read, Write,
and Data Output Enable
Control Signals: Individual Signals to This Memory Array
Test Must Access the Data, Address, and Control Signals
in order to Test This Memory
Figure 4-19 Memory Test Needs
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
20
Chip Level
Invoke
Retention
Debug
Algorithm Controller
Address Generator
Data Generator
Done
Fail
Debug_data
Memory Array(s)
Comparator
INPUTS
Invoke: Start BIST
Retention: Pause BIST and Memory Clocking
Debug: Enable BIST Bitmap Output
OUTPUTS
Fail: A Memory Has Failed a BIST Test
Done: Operation of BIST Is Complete
Debug_data: Debug Data Output
OPERATIONS
Address: Ability to Apply Address Sequences
Data: Ability to Apply Different Data Sequences
Algorithm: Ability to Apply Algorithmic Control Sequences
Comparator: Ability to Verify Memory Data
Figure 4-20 Memory BIST Requirements
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
Retention
Release
Bitmap
Algorithm Controller
Address Generator
Data Generator
Comparator
Invoke
21
Din
Memory
DI Array Do
Ain
A
Write_en
WRB
Read_en
CEB
done
Fail
Hold_out
Bitmap_out
Dout
Clk
INPUTS
Invoke: invoke the BIST (apply muxes and release reset)
Retention: enable retention algorithm and pause
Release: discontinue and release pause
Bitmap: enable bitmap output on fail occurrence
OUTPUTS
Fail: sticky fail flag—dynamic under bitmap
Done: operation of BIST is complete
Bitmap_out: fail data under bitmap
Hold_out: indication of pause
Figure 4-21 An Example Memory BIST
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
22
Chip Level
bitmap_out1
Memory Array
with BIST
Invoke
done1 fail1
bitmap_out2
Memory Array
with BIST
Reset
Bitmap
done2 fail2
bitmap_out3
Memory Array
with BIST
Hold_1
Hold_2
Hold_3
Hold_4
done3 fail3
bitmap_out4
Memory Array
with BIST
so
s1
done4 fail4
fail 1-4
done 1-4
Invoke: a global signal to invoke all BIST units
Reset: a global signal to hold all BIST units in reset done fail diag_out
Bitmap: a global signal to put all BIST units in debug mode
Hold_#: individual hold signals to place memories in retention
or to select which memory is displayed during debug
done: all memory BISTs have completed
fail: any memory BIST has detected a fault or a failure
diag_out: the memory BIST not in hold mode will present debug data
Figure 4-22 MBIST Integration Issues
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
23
bitmap_out1
Memory Array
with BIST
Invoke
done1
Reset
fail1
bitmap_out2
Memory Array
with BIST
Bitmap
done2
fail2
Hold_1
Memory Array
with BIST
bitmap_out3
Hold_2
done3
fail3
Hold_3
Hold_4
Memory Array
with BIST
done4
bitmap_out4
so
s1
fail4
fail 1-4
done 1-4
Invoke: must be a logic 0 when BIST is not enabled
Reset: should be a logic 0 when BIST is not enabled
done
fail diag_out
Bitmap: should be a logic 0 when BIST is not enabled
Hold_#: should be a logic 0 when BIST is not enabled
done: should not be connected to package output pin when BIST is not enabled
fail: should not be connected to package output pin when BIST is not enabled
diag_out: should not be connected to package output pin when BIST is not enabled
Figure 4-23 MBIST Default Values
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
n
Invoke
n
Reset
n
Bitmap
Hold_1
Hold_2
Hold_n
M
e
m
o
r
y
invoke
1-m
done
A 1-n
r
r
a
y
s
M
e
m m
o
r
y
with fail
1-n
I M
n B debug
d I
e S hold_l1
p T
e s hold_l2
n
d
hold_1m
e
n
t
Bank 1
scan_out
1-n
24
done
A 1-m
r
r
a
y
s
with
fail
1-m
m I M
n B
d I
e S
p T
e s
n
d
e
n
t
Bank 2
n
n
m
diag_out
1-m
so
s1
Invoke: global signal invokes bank 1 BIST
Reset: global signal holds bank 1 BIST in reset
diag_out
Bitmap: global signal that enables BIST debug
fail
done
Hold_#: paired hold signals to place memories in retention
or to select which memory is displayed during debug
done: bank n memory BISTs have completed
fail: any memory BIST has detected a fault or a failure
diag_out: the memory BIST not in hold will present debug data
Figure 4-24 Banked Operation
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
25
LFSR - PRPG
DQ
DQ
DQ
CLK
MBIST
Address
Functional
5
A
0
F
Memory Array
MBIST Data In
Data
Functional Data In
Algorithm
Sequencer
MBIST
Control
Functional
Functional & MBIST Data Out
DQ
DQ
Data Out
DQ
CLK
LFSR - MISR
Figure 4-25 LFSR-Based Memory BIST
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
26
The Address sequence can be shifted
both forward and backward to provide
all addresses
The Data sequence can be shifted
across the data lines, and can also
provide data for a comparator
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
Address
Memory Array
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Data
0
1
0
0
1
0
Read/Write
The Control sequence can be
shifted across the read-write
or output enable or other
control signals
Figure 4-26 Shift-Based Memory BIST
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
27
MBIST
Address
Functional
Read-Only Memory Array
MBIST
Functional
Read Control
Functional Data Out
Data Out
MBIST
DQ
DQ
DQ
CLK
LFSR - MISR
Figure 4-27 ROM BIST
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 4 Memory Test Architectures and Techniques
28
Memory Testing Fundamentals Summary
Memory Testing Is Defect-Based
Memory Testing Is Algorithmic
Different Types of Memories—Different Algorithms
A Memory Fault Model Is Wrong Data on Read
Memory Testing Relies on Multiple-Clue Analysis
A Memory Test Architecture May CoExist with Scan
A Memory Can Block Scan Test Goals
Modern Embedded Memory Test Is BIST-Based
BIST Is the Moving of the Tester into the Chip
BIST-Based Testing Allows Parallelism
Parallel Testing Impacts Retention Testing
Parallel Testing Impacts Power Requirements
Parallel Testing Requires Chip-Level Integration
Figure 4-28 Memory Test Summary
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
1
Chapter 5 Embedded Core Test Fundamentals
Chip-Level
TCU
Core 4
Core 5
Core 1
Core 2
General
Logic
Core 3
Memory Access
Embedded
Memory
PLL
Embedded
Memory
TAP
JTAG Boundary Scan
Figure 5-1 Introduction to Embedded Core Test and Test Integration
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
2
WHAT IS A CORE?
SOFT
HDL
Model with
No Test
HDL
Model with
Modeled Test
RTL
Model with
No Test
RTL
Model with
Modeled Test
Gate-Level
Netlist with
No Test
Gate-Level
Netlist with
Synthesized Test
Gate-Level
Netlist with
Inserted Test
Gate-Level
Netlist with
Mixed Test
FIRM
HARD
Layout
GDSII with
No Test
Layout
with Test from
Synthesis
Layout
with Test from
Gate-Level
Layout
with Test
Optimization
Figure 5-2 What is a CORE?
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
3
TMode[3:0]
4
Chip-Level
CTCU
3
Core
UDL
2
1
Embedded
Memories
Embedded
Memories
Wrapper
5
PLL
TAP
6
JTAG Boundary Scan
- A Core-Based Device May Include 1. Core(s) with Test Wrapper + Embedded Memory Arrays
2. Chip-Level User Defined Logic + Embedded Memory Arrays
3. Chip-Level Test Selection and Control Logic
4. Dedicated Chip-Level Test Pins
5. Chip-Level Clock Generation and Clock Control Logic
6. IEEE 1149.1 Controller and Boundary Scan Logic
Figure 5-3 Chip Designed with Core
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
4
A Reuse
Embeddable
Core
Business Deliverables
1. The Core
2. The Specification or Data Sheet
3. The Various Models
4. The Integration Guide
5. The Reuse Vectors
Figure 5-4 Reuse Core Deliverables
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
5
CORE-BASED DESIGN DFT ISSUES
Chip-Level
Device
A KNOWN
STIMULUS
ACCESS
TO THE
EMBEDDED
CORE
A KNOWN
EXPECTED
RESPONSE
Other
Chip-Level Logic
• If the Core is HARD — DFT must exist before
delivery — how is access provided at the chip level?
• If the Core is HARD — and delivered with pre-generated
vectors — how are vectors merged in the whole test program?
• If the Core is HARD — and part of the overall chip test
environment — how is the core test scheduled?
• If the Core is HARD — and part of the overall chip test
environment — what defaults are applied when not active?
• If the Core is HARD — what is the most economical and
effective test mix — Scan? LBIST? MBIST? Functional?
• If the Core is SOFT — is the overall chip test environment
developed as a Core and UDL or as a unified design?
• If the Core operates at a different frequency from the pin
I/O or other chip logic — how does this affect DFT and Test?
Figure 5-5 Core DFT Issues
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
6
A Reuse
Embeddable
Core
• DFT Drivers During Core Development
Target Market/business — Turnkey versus Customer Design
Target Cost-Performance Profile — Low to High
Potential Packages — Plastic versus Ceramic
Potential Pin Counts
• Core Test Architectures and Interfaces
Direct Access — Mux Out Core Terminals
Add-On Test Wrapper — Virtual Test Socket
Interface Share-Wrapper — Scanned Registered Core I/O
At-Speed Scan Or Logic Built-in Self-test (LBIST)
• Design For Reuse Considerations
Dedicated Core Test Ports — Access Via IC Pins
Reference Clocks — Test and Functional
Test Wrapper — Signal Reduction/No JTAG/No Bidi’s
Virtual Test Socket — Vector Reuse
Figure 5-6 Core Development DFT Considerations
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
7
A Chip Package with
44 Functional Signals
A ReUse
Embeddable
Core with
60 Functional
Signals
• Core DFT Interface Considerations
Note — none of this is known a priori
Access to core test ports via IC pins (integration)
I/O port count less restrictive than IC pin count
Impact of routing core signals to the chip edge
- Dedicated test signals to place in test mode
- Number of test signals needed to test core
- Frequency requirements of test signals
Figure 5-7 DFT Core Interface Considerations
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
UDL Logic
At the time of Core Development,
the UDL logic is not available
and i’s configuration is not known
8
Embedded
Core
DQ
DQ
For example:
- registered inputs or outputs
- combinational logic
- bidirectional signals or tristate busses
QD
QD
How are vectors generated for a Hard
Core before integration?
How are vectors delivered that can
assess the signal timing or frequency?
UDL
Domain
How is test access planned to be
provided — through the UDL or directly
from the package pins?
CORE
Domain
Figure 5-8 DFT Core Interface Concerns
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
9
A Chip Package with
44 Functional Signals
Test Wrapper with 10 Test Signals
A Reuse
Embeddable
Core with
60 Functional
Signals
• Core DFT Interface Considerations
Wrapper for interface signal reduction
Wrapper for frequency assessment
Wrapper as frequency boundary
Wrapper as a virtual test socket (for ATPG)
Note: bidirectional functional signals can’t
cross the boundary if wrapper or scan
Figure 5-9 DFT Core Interface Considerations
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
UDL Logic
“Land between the Lakes”
The Isolation Test Wrapper
D Q
DQ
DQ
10
Embedded
Hard Core
DQ
D Q
QD
QD
QD
D Q
UDL Scan
Domain
CORE Scan
Domain
Core-Wrapper Scan
Domain
where the wrapper is the registered
core functional I/F that is
scan-inserted separately
Note: Wrapper and core are on same clock
and path delay is used to generate vectors
Figure 5-10 Registered Isolation Test Wrapper
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
UDL Logic
11
“Land between the Lakes”
The Isolation Test Wrapper
DQ
Embedded
Hard Core
DQ
DQ
D Q
QD
QD
Q D
QD
UDL Scan
Domain
CORE Scan
Domain
Wrapper Scan
Domain
where the wrapper is an added “slice”
between the core functional I/F
and the UDL functional I/F
Wrapper and core are on different clocks
and path delay is used to generate vectors
Figure 5-11 Slice Isolation Test Wrapper
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
UDL Logic
12
“Land between the Lakes”
The Isolation Test Wrapper
Core_Test
TR_SDO
DQ
DQ
DQ
D Q
QD
QD
UDL Scan
Domain
Embedded
Hard Core
TR_SE
TR_SDI
TR_CLK
Wrapper Scan
Domain
TR_Mode
CORE Scan
Domain
System Clock
the wrapper is an added “slice”
between the core functional I/F
and the UDL functional I/F
Wrapper and core are on different clocks
and path delay is used to generate vectors
Figure 5-12 Slice Isolation Test Wrapper Cell
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
Internal BIST In
Direct Test
Signals go
to Package
Pins
Internal BIST Out
Internal Scan In
Internal Scan Out
QD
QD
13
D Q
Q D
D Q
Q D
QD
Wrapper Scan In
D Q
UDL Scan
Domain
UDL Logic
CORE Scan
Domain
Core-Wrapper Scan
Domain
Embedded
Hard Core
“Land between the Lakes”
The Isolation Test Wrapper
All Core Test Interface Signals pass through the
Test Wrapper without being acted upon
All Core I/O are part of the Wrapper Scan Chain
So Total Core Test I/F is:
Internal Scan
Internal MBIST
Wrapper Scan
Figure 5-13 Core DFT Connections through the Test Wrapper
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
14
Internal BIST In
Direct Test
Signals Go
to Package
Pins
Internal Scan In
Test Mode Control
QD
QD
D Q
D Q
Core Test
Controller
QD
Wrapper Scan In
D Q
UDL Scan
Domain
UDL Logic
CORE Scan
Domain
Core-Wrapper Scan
Domain
Embedded
Hard Core
“Land between the Lakes”
The Isolation Test Wrapper
All Core Test Interface Signals pass through the
Test Wrapper and may be acted upon by a Test Mode
All Core I/O are part of the Wrapper Scan Chain
So Total Core Test I/F is:
Gated Internal Scan
Gated Internal MBIST
Gated Wrapper Scan
Figure 5-14 Core DFT Connections with Test Mode Gating
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
15
Can’t Use
the
Wrapper
Cell
Wrapper Cell
UDL
Test Wrapper
PLL
Bypass
Test Clock
Mul/Div
Clocks
A Reuse
Embeddable
Hard Core
with Pre-Existing
Clock Trees
Core
Clock Out
Signal(s)
• DFT Considerations
Can’t Support Bidirectional Core Ports
Input and Reference Clocks
Figure 5-15 Other Core Interface Signal Concerns
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
16
A Chip Package with
a 25 MHz Interface
Test Wrapper with 10 Test Signals
A Reuse
Embeddable
Core with
Fmax = 100MHz
Logic
• Core DFT Frequency Considerations
Wrapper for frequency boundary
Test signals designed for low frequency
Package interface designed for high frequency
Wrapper as a multi-frequency ATPG test socket
Note: functional high/low frequency signals can
cross the wrapper—the test I/F is the concern
Figure 5-16 DFT Core Interface Frequency Considerations
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
The Core’s Test Port
Internal Scan Data In
Internal Scan Enable
Wrapper Scan Data In
Wrapper Scan Enable
Wrapper Test Enable
MemBIST Invoke
MemBIST Retention
MemBIST Bitmap
Internal Scan Data Out
Wrapper Scan Data Out
MemBIST Fail
MemBIST Done
MemBIST Bitmap Out
17
A Test Wrapper
A Reuse
Embeddable
Core with
Existing DFT
and Test Features
• Core DFT Goals and Features
Embedded Memory Test by MBIST
- Few Signals — High Coverage — Less Test Time
- Bitmap Characterization Support
Structure by Stuck-At Scan
- High Coverage — Fewer Vectors — Ease of Application
Frequency by At-Speed Scan (Path & Transition Delay)
- Deterministic — Fewer Vectors — Ease of Application
Reuse of Core Patterns Independent of Integration
Test Insulation from Customer Logic
Embedded Core I/O Timing Specifications with Wrapper
Minimize Test Logic Area Impact
Minimize Test Logic Performance Penalty
DFT Scannability Logic
Full-Scan Single-Edge Triggered MUX DFF
Tristate Busses - Contention/Float Prevention
Negedge Inputs and Outputs
Iddq—No Active Logic and Clock Stop Support
Figure 5-17 A Reuse Embedded Core’s DFT Features
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
18
A Test Wrapper
The Core’s Test Port
Internal Scan Data In
Internal Scan Enable
Wrapper Scan Data In
Wrapper Scan Enable
Wrapper Test Enable
MemBIST Invoke
MemBIST Retention
MemBIST Bitmap
Internal Scan Data Out
Wrapper Scan Data Out
MemBIST Fail
MemBIST Done
MemBIST Bitmap Out
A Reuse
Embeddable
Core with
Existing DFT
and Test Features
• Core Economic Considerations
Test Integration (Time-to-Market)
Core Area and Routing Impact (Silicon/Package Cost)
Core Power and Frequency Impact (Package/Pin Cost)
Core Test Program Time/Size/Complexity (Tester Cost)
Time
and/or
Tester
Memory
Retention Testing
Chip Logic Testing
Total
Chip
Test
Program
Budget(s)
Memory Testing
Embedded Core Testing
Chip Parametrics
Figure 5-18 Core Test Economics
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
19
TMode[3:0]
Chip-Level
CTCU
Core
UDL
Embedded
Memories
Embedded
Memories
Wrapper
PLL
TAP
JTAG Boundary Scan
- A Core-Base Device May Include Core(s) with Test Wrapper and Embedded Memory Arrays
Chip-Level Non-Core Logic with Embedded Memory Arrays
Chip-Level Test Selection and Control Logic
Dedicated Chip-Level Test Pins
Chip-Level Clock Generation and Control Logic
IEEE 1149.1 Controller and Boundary Scan Logic
Figure 5-19 Chip with Core Test Architecture
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
20
Pre-Existing
Vectors
Chip-Level
CTCU
Test Selection
Wrapper and
Core Scan
Package Pin
Connections
Core
UDL
PLL
Clock Bypass
TAP
JTAG Boundary Scan
Figure 5-20 Isolated Scan-Based Core-Testing
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
21
Development
Generated Vectors
Chip-Level
CTCU
Wrapper and
UDL Scan
Package Pin
Connections
Test Selection
UDL
Clock Bypass
PLL
TAP
JTAG Boundary Scan
Figure 5-21 Scan Testing the Non-Core Logic
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
22
Development
Generated Vectors
Chip-Level
CTCU
Wrapper and
UDL Scan
Package Pin
Connections
Test Selection
UDL
Clock Bypass
PLL
TAP
JTAG Boundary Scan
I/O specification testing—bus_SE
Tristate busses - contention/float prevention
Iddq—HighZ pin
Pin requirements—(open drains)
Figure 5-22 Scan Testing the Non-Core Logic
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
23
Development
Generated Vectors
Chip-Level
CTCU
Test Selection
Core
UDL
Embedded
Memories
Embedded
Memories
Wrapper
PLL
Clock Bypass
TAP
JTAG Boundary Scan
Figure 5-23 Memory Testing the Device
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
24
Chip-Level
CTCU
Core 4
Core 5
Core 1
Core 2
General
Logic
Core 3
Memory Access
Embedded
Memory
PLL
Embedded
Memory
TAP
JTAG Boundary Scan
• Chip-level DFT integration considerations
each core/vector set must have:
1. Power Rating during Test
2. Frequency/Data Rate of Test Vectors
3. Fault Coverage of the Test Vectors
4. Required Test Architecture to Reuse Vectors
5. ATPG Test Wrapper or Encrypted Sim Model
6. The Vector Set’s Format
7. The Vector Set Sizing
Figure 5-24 DFT Integration Architecture
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
25
Chip Parametrics
Chip Iddq (Merged)
Core 1 Test Components
Core 2 Test Components
Core 3 Test Components
Chip-Level Memory
Chip-Level Analog
Core 1 Components
Core 1 Iddq
Core 1 Scan
Core 1 Memory Test
Core 1 Analog
Test
Time
in (s)
1
2
3
4
# of Cores
Figure 5-25 Test Program Components
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
26
• Receiving Core DFT Specification
• Driven by Fab and Integration Requirements
• Core DFT Specification Items
- Test Mix
- Style of Test
- Maximum Number of Integration Signals
- Minimum-Maximum Test Frequency
- Maximum Vector Sizing
- Minimum Fault Coverage
- Clock Source
Figure 5-26 Selecting or Receiving a Core
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Chapter 5 Embedded Core Test Fundamentals
27
• Core Test Driven by Cost-of-Test and TTM
• Two Concerns: Reuse and Integration
• Reuse: Interface, Clocks, Test Features
- number of dedicated test signal
- size of test integration interface
- ability to test interface timing
- no functional bidirectional ports
- specifications and vectors based on clock-in
- specifications and vectors based on clock-out
- ability to stop clock for retention or Iddq
- number of clock domains
- at-speed full scan
- at-speed memory BIST
- use of a scan test wrapper
- self-defaulting safety logic
• Integration: Core Connections, Chip Test Modes
- simple core integration
- reuse of pre-existing vectors
- application of test signal defaults
- shared resources (pins and control logic)
- shared testing (parallel scheduling)
- chip level test controller
Figure 5-27 Embedded Core DFT Summary
Design-for-Test for Digital IC’s and Embedded Core Systems
© 1999 Prentice Hall, All Rights Reserved
Alfred L. Crouch
Download