Professional Documents
Culture Documents
Design-for-Test For Digital IC's and Embedded Core Systems: Figures To Accompany
Design-for-Test For Digital IC's and Embedded Core Systems: Figures To Accompany
Design-for-Test For Digital IC's and Embedded Core Systems: Figures To Accompany
Design-for-Test
for Digital ICs and
Embedded Core Systems
Alfred L. Crouch
Contents
ii
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
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
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
Alfred L. Crouch
Total
Cost
Testing
Cost
Packaging
Cost
Silicon
Cost
Initial
Product
Increasing
Time
Final
Product
Alfred L. Crouch
Test Architecture
Development
Test Control
Test Interface
BIST HDL
JTAG HDL
Gate-Level Synthesis
Insert
Scan Cells
Scan Signals
Scan Ports
Test Timing
Gate-Level Netlist
Static Timing Assessment
Algorithmic
Scan Signal
ReOrdering
FloorPlanning and
Place&Route
Macrocell FloorPlanning
Timing Driven Cell Placement
Timing Driven Routing
Clock Tree Synthesis
Alfred L. Crouch
WHY TEST?
Reasons
Measurement
of Defects &
Quality Level
Incoming
Inspection
Contractual
Perceived
Product Quality
by Customer
Reliability
Requirement
Contractual
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?
Alfred L. Crouch
DEFINITION of TESTING
Device or Circuit
under test
DEVICE
IN A
KNOWN
STATE
A KNOWN
STIMULUS
A KNOWN
EXPECTED
RESPONSE
EXAMPLE
IN_A
IN_B
IN_C
D Q
CLK
1
S
D Q
OUT_1
IN_D
OUT_2
b
Broadside
Parallel
Vector
1
1
^
1
CLK
1
^
X
^
1
X
1
X
1
?
?
Alfred L. Crouch
Vdd
S
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
C
observed truth table
A
B
C
failures
0
0
1
0
0
1
1
0
1
1
0
1
1
0
1
0
Alfred L. Crouch
defects
open/short
bridge
mask
process
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
s
d
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
6 transitions
a
e
b
c
path
delay faults
A2SR A2SF
A2CR A2CF
B2SR B2SF
B2CR B2CF
path
R=Slow-to-Rise
F=Slow-to-Fall
Alfred L. Crouch
Functional
3 a
A
D
D
E
R
3+5=8
Structural
A
a
e
f
r
s
b
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
1
1
1
1
1
1
1
16 faults
Alfred L. Crouch
Chip
under
Test
Alfred L. Crouch
2 Meg
Memory
Depth
Clock Gen 1
Clock Gen 2
Clock Gen 3
hi
pS
o
ck
et
192
Channels
Loadboard
Power Supply 1
Power Supply 2
Power Supply 3
Alfred L. Crouch
10
1 2
DV 4
NRZ
RZ
SBC
Alfred L. Crouch
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
Scan
Path Delay
Scan
Transition
Delay
Scan
Stuck-At
Scan
Sequential
Parametric
Functional
Test Escapes
Alfred L. Crouch
Library Support
Netlist Conditioning
Vector Generation/Simulation
Vector Compression
Vector Writing
Alfred L. Crouch
WHY ATPG?
Reasons
Greater
Measurement
Ability
Reduction
in Cycle
Time
Perceived
Competitive
Methodology
More
Efficient
Vectors
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?
Alfred L. Crouch
Fault Selection
Fault Excitation
Vector Generation
Fault Simulation
Fault Dropping
Alfred L. Crouch
a
X
b
e
stuck-at-0
force to a 1
detected
good = faulty
d
1
GOOD CIRCUIT
1
D
I
F
F
E
R
E
N
T
FAULTY CIRCUIT
Figure 2-4 Combinational Stuck-At Fault
Alfred L. Crouch
B
Resistive Bridge
C
Delay from Extra Load
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
Alfred L. Crouch
B
Resistive Bridge
C
Leakage from Bridge
E
F
Capacitive or Resistive
Delay Extends Current
Flow Time
I(t)
t
Figure 2-6 The Current Fault
Alfred L. Crouch
a
b
nand
ab z
00 1
01 1
10 1
11 0
X
stuck-at-0
force to a 1
c
d
nor
ab z
00 1
01 0
10 0
11 0
c
e
d
Detectable
Alfred L. Crouch
stuck-at-0
force to a 1
b
e
not detected
good = faulty
c
1
GOOD CIRCUIT
S
A
M
E
FAULTY CIRCUIT
Figure 2-8 Fault Masking
Alfred L. Crouch
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
r
r
t
t
a
b
a
a
z
z
z
b
Fault Equivalence Table
AND
INV
OR
1
1
1
1
1
1
1
1
16 faults
Alfred L. Crouch
A 1
eX
f
B
r
1
0
b
c
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
a
e
f
B 0
r
s
3. Detect by observing
S for wrong value
during fault
simulation
b
c
Alfred L. Crouch
A 1
a 1
eX
f 0
r
t
1
1
0
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@
b
c
a
e 0
f
B 1
r
t
S@Time 1
2. Pre-fail by setting
e equal to 0
b
c
f
B 0
r
1
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
11
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
Alfred L. Crouch
1->1
eX
f
1->1
x->x b
X
0->0
16.0 pt
0->1
r
0->1
s
0->1
16 faults
1
1
1
1
1
1
1
1
a
1->0
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@
12
1->0
1. Detect by observing S
for wrong value during
fault simulation with
respect to a time
C standard
Alfred L. Crouch
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
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
Alfred L. Crouch
14
Transition
bit
End of Path
bit
1->0
1
second-order
cone of logic
0
0
establishes
transition and
off-path values
establishes
the legal
next-state
Defined
Critical
Path
1->1
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
Gate
Elements
legal
next-next-state
legal
next-state
Slack Time
Propagation Delay Time
Register Setup Time
2. Launch Transition:
3. Capture Transition:
Alfred L. Crouch
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
b
c
16 faults
a
e
GND
a
e
b
+
1. Create multiple
copies of the netlist
for each fault.
2. Apply same
vectors to each
copy.
1
1
1
1
1
1
1
1
VDD
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%).
Alfred L. Crouch
16
Fault Re-Simulation
with Redundant
Vector Dropping
01101110001010
01101110101110
00101110111010
11111110001010
01100000001011
01001011001010
01010101010101
11101100101010
11001110001010
01111000001010
00000000001010
X
X
1
0
1
0
X
X
X
X
X
one targeted
fault
Alfred L. Crouch
17
Transistor
Structure
Equivalent
Gate
Structure
SET
D Q
General
Combinational
Logic
CLK
CLR
D Q
CLK
Alfred L. Crouch
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
Alfred L. Crouch
- >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
Alfred L. Crouch
Combinational &
Sequential Logic
input1
input2
input3
input4
output1
Q
QN
clk
input5
input6
output2
34
Sequential Depth of 4
Combinational Width of 6
26+4 = 1024 Vectors
Figure 3-2 An Example Non-Scan Circuit
Alfred L. Crouch
Combinational-Only Logic
input1
input2
input3
input4
output1
D
Q
QN
D
input5
input6
output2
TPI1
TPI2
TPI3
TPI4
TPI5
TPO1
TPO2
TPO3
TPO4
Alfred L. Crouch
QN
CLK
clk
Regular D Flip-Flop
SDO
D
D
SDI
SE
Q
SDO
clk
QN
CLK
Scannable D Flip-Flop
Alfred L. Crouch
SET
D
SDO
D
SDI
QN
SE
clk
CLK
Set-Scan D Flip-Flop
with Set at Higher Priority
D
SET
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
Alfred L. Crouch
Combinational and
Sequential Logic
input1
input2
output1
input3
input4
SE
SE
scanin
SDI
clk
QN
D
SDO
SE
input5
SDI
input6
SE
SE
SDI
SDI
scanout
output2
SDO
SDO
SDO
Alfred L. Crouch
a
D
SDI
QN
SE
clk
SDO
CLK
Scannable D Flip-Flop
Alfred L. Crouch
SDI
SE=0
Q
QN
clk
SDO
CLK
SDI
SE=1
Q
QN
SDO
clk
SDI
Q
QN
SE=1
clk
SDO
SDI
SE=0
CLK
CLK
Q
QN
clk
SDO
CLK
Scan Sample Mode
Alfred L. Crouch
CLK
SE
SHIFT
DATA
FAULT
EXERCISE
SAMPLE
DATA
SHIFT
DATA
SHIFT
DATA
Alfred L. Crouch
10
clock tree
distribution
Asynchronous or Synchronous
Signals with Higher Priority
than Scanor 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
Alfred L. Crouch
11
CLK
t_seB
Driven Contention
during the Capture Cycle
D Q
Q D
CLK
CLK
D Q
Q D
CLK
t_seB
de-asserted
CLK
Alfred L. Crouch
12
Combinational-Only Logic
input1
input2
input3
input4
output1
D
Q
QN
D
input5
input6
output2
TPI1
TPI2
TPO1
TPI3
TPI5
TPO3
TPO4
Alfred L. Crouch
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
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
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
Alfred L. Crouch
14
Scan
Data
Input
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
Q
Input
Parallel Scan
Input to Chip
Normal Input
to Logic
SE
D
Q
Input
Normal Output
from Logic
D
S
SE
S
SE
Combinational
Logic
Output
a
b
s
Scan
Data
Output
Any
Bidir
Pin
Pad
Alfred L. Crouch
15
Bypass Clocks
Analog
Digital 1
Digital 2
VCO
Raw VCO
Clock
Counters &
Dividers
Alfred L. Crouch
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 Scanor Non-Scan Elements
D
Q
HOLD
SET
CLR
f_seB
CLK
Provide a Blocking Signal
D
Q
HOLD
SET
CLR
CLK
Alfred L. Crouch
17
All Non-Sampling
Clock Domains
Inhibit Sample
Clock Pulse
Last Shift
Alfred L. Crouch
18
1
0
0
1
0
Figure 3-18 Stuck-At Scan Diagnostics
Alfred L. Crouch
19
Basic Purpose
Frequency Assessment
Pin Specifications
Delay Fault Content
Cost Drivers
No Functional Vectors
Fewer Overall Vectors
Deterministic Grade
Alfred L. Crouch
20
CLK
SE
T_SE
F_SE
Bus_SE
Alfred L. Crouch
21
Any
Bidir
Pin
D
Q
Input
Pad
Parallel Scan
Input to Chip
Normal Input
to Logic
D
S
SE
Q
Input
Driven Contention
During Scan Shifting
CLK
CLK
D
CLK
CLK
t_seB
At-Speed Assert and De-Assert
HOLD
SET
CLR
CLK
HOLD
SET
CLR
f_seB
CLK
Alfred L. Crouch
22
Scan
Data
Input
Any
Bidir
Functional
Pin
S
SE
Pad
Parallel Scan
Input to Chip
Normal Input
to Logic
D
Q
Input
D
Q
Input
Head
D
Q
Input
Normal Output
from Logic
D
S
SE
Q
Output
S
SE
Combinational
Logic
D
Q b
Output s
Tail
Scan
Data
Output
Any
Bidir
Pin
Pad
Alfred L. Crouch
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
Legal ATPG
Transfer
Illegal ATPG
Transfer
Applied
Fast Clock
Applied
Slow Clock
Only Fast-to-Slow
Legal ATPG Transfer
Alfred L. Crouch
24
Combinational
Logic
Combinational
Logic
Combinational
Logic
scanned
flip-flop
D
SDI
SDI
SDI
165 ps
CLK
120 ps
SE
150 ps
Cross Domain
Clock Skew
Combinational
Logic
Combinational
Logic
Combinational
Logic
scanned
flip-flop
SDI
SDI
SDI
165 ps
CLK
SE
120 ps
150 ps
Alfred L. Crouch
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
Specification
Determination
Gates
Mask
Mask
and
Fab
Silicon
Test
Silicon
Design Flow Chart
Scan Mode: Fixed Safe Logic
Force_SE:
Alfred L. Crouch
D Q
R1
D Q
R2
In1
0>1
A
U35
B
0
X
In2
0
In3
In4
0
A
U36
B
A
U39
B
26
0>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
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
Alfred L. Crouch
27
Polynomial: X3 + X +1 = X3 + X1 + X0 = 23 + 21 + 20 = 11
X3
Seed
DQ
1
X2
DQ
1
X1
DQ
1
CLK
X0
111
011
001
100
010
101
110
111
DQ
DQ
DQ
CLK
LFSR - MISR: multiple input signature register
Alfred L. Crouch
28
Alfred L. Crouch
Chip-Level
Embedded
Memory
Logic
Memory Access
PLL
TAP
JTAG Boundary Scan
Alfred L. Crouch
Row/Word-Address
Select
Select
Column/Bit-Data
Column/Bit-Data
Storage
Storage
Select
Column/Bit-Data
Storage
Select
Column/Bit-Data
2 Transistor EEPROM Cell
Figure 4-2 Memory Types
Alfred L. Crouch
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
Alfred L. Crouch
Chip FloorPlan
Memory 1
M
e
m
o
r
y
3
Memory
2
- Aspect Ratio
- Access Time
- Power Dissipation
Memory 4
Alfred L. Crouch
Chip FloorPlan
Memory 1
M
e
m
o
r
y
Memory
2
- Routing
Processor
Local
Logic
Memory 4
Alfred L. Crouch
32
Embedded
Microprocessor
Core
Data
24
Embedded
Memory
Array
Address
3
Control
Functional Memory Test
Data
Address
Control
32
Embedded
Memory
Array
24
3
Invoke
BIST Controller
Done
Reset
Embedded
Memory
Array
Hold
Fail
Alfred L. Crouch
column # >
row # > 0
row # > 1
row # > 2
Alfred L. Crouch
address A031>
address A032>
address A033>
Alfred L. Crouch
horizontal (row)
bit bridging
vertical (column)
bit bridging
word bridging
unidirectional
one-way short
random
bit bridging
word bridging
bidirectional
two-way short
Alfred L. Crouch
10
Column Decode
X
C
O
Select Lines
R
O
0
Row Decode
stuck-at faults result
in always choosing
wrong address
Row Decode
in always selecting
multiple addresses
o
d
e
Column Decode
bridging faults result
in always selecting
multiple data bits
Column Decode
Select Line
faults result in
in always choosing
similar array
fault effects
Figure 4-10 Decode Faults
Alfred L. Crouch
11
Complementary
Data around
Target Cell
Address 21 = A
Address 22 = 5
Address 23 = A
Address 24 = 5
Alfred L. Crouch
Blue: Pass
Red: Fail
12
Column
Data Fault
Alfred L. Crouch
13
Address 00 >
Address 01 >
Address 02 >
Address 03 >
Addr(00) to Addr(Max)
Read(5)-Write(A)-Read(A) Address 04 >
Increment Address
Address 05 >
Address 06 >
Addr(00) to Addr(Max)
Read(A)-Write(5)-Read(5) Address 07 >
Increment Address
Address 08 >
Address 09 >
Addr(Max) to Addr(00)
Read(5)-Write(A)-Read(A) Address 10 >
Decrement Address
Address 11 >
Address 12 >
Addr(Max) to Addr(00)
Read(A)-Write(5)-Read(5) Address 13 >
Decrement Address
Address 14 >
Address 15 >
Address 16 >
Address 17 >
Address 18 >
Address 19 >
Address 20 >
Address 21 >
Address 22 >
Address 23 >
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
Alfred L. Crouch
14
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
Alfred L. Crouch
15
Data In
Din
Dout
Data Out
Memory
Array
Address
Ain
ATPG
Model
Control
Read/Write
Scan
Architecture
Alfred L. Crouch
16
Control of
outgoing
signals
Data In
Detection of
incoming
signals
Memory
Array
can be
Address
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
Alfred L. Crouch
17
Input is passed
to output as the
form of output
control
Data In
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
Alfred L. Crouch
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
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
Alfred L. Crouch
19
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
Alfred L. Crouch
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
Alfred L. Crouch
Retention
Release
Bitmap
Algorithm Controller
Address Generator
Data Generator
Comparator
Invoke
21
Din
Memory
DI Array Do
Ain
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 flagdynamic 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
Alfred L. Crouch
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
Alfred L. Crouch
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
done
fail diag_out
Alfred L. Crouch
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
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
Alfred L. Crouch
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
Alfred L. Crouch
26
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
Alfred L. Crouch
27
MBIST
Address
Functional
Read Control
Data Out
MBIST
DQ
DQ
DQ
CLK
LFSR - MISR
Figure 4-27 ROM BIST
Alfred L. Crouch
28
Alfred L. Crouch
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
Alfred L. Crouch
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
Alfred L. Crouch
TMode[3:0]
4
Chip-Level
CTCU
3
Core
UDL
Embedded
Memories
Embedded
Memories
Wrapper
PLL
TAP
- 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
Alfred L. Crouch
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
Alfred L. Crouch
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
Alfred L. Crouch
A Reuse
Embeddable
Core
Alfred L. Crouch
A ReUse
Embeddable
Core with
60 Functional
Signals
Alfred L. Crouch
UDL Logic
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
CORE
Domain
Alfred L. Crouch
A Reuse
Embeddable
Core with
60 Functional
Signals
Alfred L. Crouch
UDL Logic
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
Alfred L. Crouch
UDL Logic
11
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
Alfred L. Crouch
UDL Logic
12
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
Alfred L. Crouch
Internal BIST In
Direct Test
Signals go
to Package
Pins
Internal Scan In
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
Alfred L. Crouch
14
Internal BIST In
Direct Test
Signals Go
to Package
Pins
Internal Scan In
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
Alfred L. Crouch
15
Cant 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
Cant Support Bidirectional Core Ports
Input and Reference Clocks
Figure 5-15 Other Core Interface Signal Concerns
Alfred L. Crouch
16
A Reuse
Embeddable
Core with
Fmax = 100MHz
Logic
Alfred L. Crouch
17
A Test Wrapper
A Reuse
Embeddable
Core with
Existing DFT
and Test Features
Alfred L. Crouch
18
A Test Wrapper
A Reuse
Embeddable
Core with
Existing DFT
and Test Features
Time
and/or
Tester
Memory
Retention Testing
Chip Logic Testing
Total
Chip
Test
Program
Budget(s)
Memory Testing
Embedded Core Testing
Chip Parametrics
Alfred L. Crouch
19
TMode[3:0]
Chip-Level
CTCU
Core
UDL
Embedded
Memories
Embedded
Memories
Wrapper
PLL
TAP
- 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
Alfred L. Crouch
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
Alfred L. Crouch
21
Development
Generated Vectors
Chip-Level
CTCU
Wrapper and
UDL Scan
Package Pin
Connections
Test Selection
UDL
Clock Bypass
PLL
TAP
JTAG Boundary Scan
Alfred L. Crouch
22
Development
Generated Vectors
Chip-Level
CTCU
Wrapper and
UDL Scan
Package Pin
Connections
Test Selection
UDL
Clock Bypass
PLL
TAP
JTAG Boundary Scan
Alfred L. Crouch
23
Development
Generated Vectors
Chip-Level
CTCU
Test Selection
Core
UDL
Embedded
Memories
Embedded
Memories
Wrapper
PLL
Clock Bypass
TAP
JTAG Boundary Scan
Alfred L. Crouch
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
Alfred L. Crouch
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)
3
4
# of Cores
Alfred L. Crouch
26
Alfred L. Crouch
27
Alfred L. Crouch