Professional Documents
Culture Documents
Design For Testablility PDF
Design For Testablility PDF
1
EE141
VLSI
Test Principles and Architectures
Introduction
Testability Analysis
Design for Testability Basics
Scan Cells Designs
Scan Architectures
Scan Design Rules
Scan Design Flow
Special-Purpose Scan Designs
RTL Design for Testability
Concluding Remarks
2
EE141
VLSI
Test Principles and Architectures
Introduction
History
During early years, design and test were separate
The final quality of the test was determined by keeping track of
the number of defective parts shipped to the customer
Defective parts per million (PPM) shipped was a final test
score.
This approach worked well for small-scale integrated circuit
Introduction
History
Various testability measures & ad hoc testability
enhancement methods
To improve the testability of a design
To ease sequential ATPG (automatic test pattern generation)
Still quite difficult to reach more than 90% fault coverage
Structured DFT
To conquer the difficulties in controlling and observing the
internal states of sequential circuits
Scan design is the most popular structured DFT approach
EE141
VLSI
Test Principles and Architectures
Testability Analysis
Testability:
A relative measure of the effort or cost of testing a logic
circuit
Testability Analysis:
The process of assessing the testability of a logic circuit
EE141
VLSI
Test Principles and Architectures
Controllability
Reflects the difficulty of setting a signal line to a
required logic value from primary inputs
Observability
Reflects the difficulty of propagating the logic
value of the signal line to primary outputs
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
1-controllability
(Primary input, output, branch)
Primary Input
AND
(input 1-controllabilities) + 1
OR
(input 0-controllabilities) + 1
NOT
Input 1-controllability + 1
Input 0-controllability + 1
NAND
(input 1-controllabilities) + 1
NOR
(input 0-controllabilities) + 1
BUFFER
Input 0-controllability + 1
Input 1-controllability + 1
XOR
min {CC1(a)+CC1(b),
CC0(a)+CC0(b)} + 1
min {CC1(a)+CC0(b),
CC0(a)+CC1(b)} + 1
XNOR
min {CC1(a)+CC0(b),
CC0(a)+CC1(b)} + 1
min {CC1(a)+CC1(b),
CC0(a)+CC0(b)} + 1
Branch
Stem 0-controllability
Stem 1-controllability
EE141
VLSI
Test Principles and Architectures
AND / NAND
OR / NOR
NOT / BUFFER
Output observability + 1
XOR / XNOR
Stem
1/1/4
.
1/1/4
.1/1/4
1/1/4
1/1/5
1/1/5
Cin
.3/3/2
1/1/4
3/3/2
3/3/5
1/1/7
5/5/0 Sum
2/5/3
5/4/0
Cout
2/3/3
1/1/4
CK
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
1-controllability
(Primary input, output, branch)
p0
p1 = 1 - p0
AND
1 (output 1-controllability)
(input 1-controllabilities)
OR
(input 0-controllabilities)
1 (output 0-controllability)
NOT
Input 1-controllability
Input 0-controllability
NAND
(input 1-controllabilities)
1 (output 0-controllability)
NOR
1 (output 1-controllability)
(input 0-controllabilities)
BUFFER
Input 0-controllability
Input 1-controllability
XOR
1 1-controllabilty
XNOR
1 1-controllability
Branch
Stem 0-controllability
Stem 1-controllability
Primary Input
EE141
VLSI
Test Principles and Architectures
AND / NAND
OR / NOR
NOT / BUFFER
Output observability
XOR / XNOR
Stem
EE141
VLSI
Test Principles and Architectures
v1/v2/v3 represents the signals 0-controllability (v1), 1controllability (v2), and observability (v3)
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
b0
c0
c1
ai
s0
bi
ci
ci+1
si
an-1
bn-1
cn-1
cout
sn
sn-1
EE141
VLSI
Test Principles and Architectures
hoc DFT
structured DFT
EE141
VLSI
Test Principles and Architectures
Ad Hoc Approach
Typical
Logic circuit
Low-observability node B
Low-observability node C
Low-observability node A
OP1
OP2
DI
DI
1
SI SO
SE
SE
CK
. .
OP3
SI
DI
0
1
SO
D Q
SE
SI SO
SE
OP_output
Source
Destination
Original connection
Low-controllability node C
Low-controllability node A
CP1
DI
CP_input
TM
CK
CP2
DI
DO
SI SO
TM
. .
SI
D Q
CP3
0 DO
1
SO
TM
DI
DO
SI SO
TM
A MUX is inserted
between the source
and destination ends.
During normal
operation, TM = 0,
such that the value
from the source end
drives the destination
end through the 0
port of the MUX.
During test, TM = 1
such that the value
from the D flip-flop
drives the destination
end through the 1
port of the MUX.
Structured Approach
Scan design
Convert the sequential design into a scan design
Three modes of operation
Normal mode
Shift mode
Capture mode
EE141
VLSI
Test Principles and Architectures
X1
X2
X3
Combinational logic
f
FF3
Y1
Y2
Q D
1
FF2
Q D
FF1
Q D
CK
Test response
n
Test response upload
1. Converting
selected storage
elements in the design
into scan cells.
1. Stitching them
together to form scan
chains.
EE141
VLSI
Test Principles and Architectures
Three
EE141
VLSI
Test Principles and Architectures
0
1
SE
Q/SO
CK
Edge-triggered
muxed-D scan
cell
EE141
VLSI
Test Principles and Architectures
D1
D2
D3
D4
SI
T1
T2
T3
T4
Q/SO
D1
T3
In normal/capture mode,
SE is set to 0. The value
present at the data input
DI is captured into the
internal D flip-flop when
a rising clock edge is
applied.
In shift mode, SE is set to
1. The scan input SI is
used to shift in new data
to the D flip-flop, while
the content of the D flipflop is being shifted out.
0
1
CK
D
SE
CK
.
Q
SO
Level-sensitive/edge-triggered
muxed-D scan cell design
EE141
VLSI
Test Principles and Architectures
Clocked-Scan Cell
DI
Q/SO
SI
DCK
SCK
In the clocked-scan
cell, input selection is
conducted using two
independent clocks,
DCK and SCK.
Clocked-scan cell
EE141
VLSI
Test Principles and Architectures
Clocked-Scan Cell
In normal/capture mode,
the data clock DCK is used
to capture the contents
present at the data input DI
into the clocked-scan cell.
EE141
VLSI
Test Principles and Architectures
SRL
+L1
C
I
. .
L1
L2
Polarity-hold SRL
(shift register latch)
EE141
VLSI
Test Principles and Architectures
+L2
C
A
B
D
D1
D2
D3
D4
T1
T2
T3
T4
+L1
D1
+L2
T3
T3
Clocked-Scan
Cell
LSSD Scan
Cell
Disadvantages
Compatibility to modern
Add a multiplexer
designs
delay
Comprehensive support
provided by existing design
automation tools
No performance degradation
Require additional
shift clock routing
Insert scan into a latch-based
Increase routing
design
complexity
Guarantee to be race-free
EE141
VLSI
Test Principles and Architectures
Scan Architectures
Full-Scan Design
All or almost all storage element are converted into scan cells
and combinational ATPG is used for test generation
Partial-Scan Design
A subset of storage elements are converted into scan cells
and sequential ATPG is typically used for test generation
EE141
VLSI
Test Principles and Architectures
Full-Scan Design
Advantage:
Converts sequential ATPG into combinational ATPG
EE141
VLSI
Test Principles and Architectures
CK
Y1
Y2
Combinational logic
FF1
FF2
FF3
D Q
D Q
D Q
EE141
VLSI
Test Principles and Architectures
X1
X2
X3
Y1
Combinational logic
PO
Y2
PPO
PPI
SFF1
SI
SE
CK
DI
SI Q
SE
. .
SFF2
DI
SI Q
SE
. .
SFF3
DI
SI Q
SE
EE141
VLSI
Test Principles and Architectures
SO
EE141
VLSI
Test Principles and Architectures
Pseudo primary
outputs (PPOs)
the scan cell inputs
can be observed
are observed serially through
scan chain outputs
PI
V2: PI
SE
S
CK
SFF1.Q
SFF2.Q
SFF3.Q
V2: PPI
V1: PPI
PO
observation
PPO
observation
Scan
cell
mode
TM
SE
Normal
Normal
Shift
Operation
Shift
Capture
Operation
Capture
EE141
VLSI
Test Principles and Architectures
PI
Y1
PPO
PPI
SI
DCK
SCK
PO
Y2
Combinational logic
SFF1
SFF2
SFF3
DI
Q
SI
DCK SCK
DI
Q
SI
DCK SCK
DI
Q
SI
DCK SCK
. .
. .
EE141
VLSI
Test Principles and Architectures
SO
design
Double-latch design
EE141
VLSI
Test Principles and Architectures
X3
Combinational logic 1
SI
C1
A
B
C2
Combinational logic 2
Y1
..
.
SRL1
SRL2
SRL3
D
I +L2
C
A +L1
B
D
I +L2
C
A +L1
B
D
I +L2
C
A +L1
B
..
Single-latch design
EE141
VLSI
Test Principles and Architectures
Y2
SO
Y2
SRL1
SI
C1
A
C2 or B
Y1
Combinational logic
..
.
D
I +L2
C
A +L1
B
SRL2
.
..
.
D
I +L2
C
A +L1
B
Double-latch design
EE141
VLSI
Test Principles and Architectures
SRL3
D
I +L2
C
A +L1
B
SO
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
Partial-Scan Design
Was once used in the industry long before
full-scan design became the dominant scan
architecture.
Can also be implemented using muxed-D
scan cells, clocked-scan cells, or LSSD scan
cells.
Either combinational ATPG or sequential
ATPG can be used.
EE141
VLSI
Test Principles and Architectures
Partial-Scan Design
X1
X2
X3
PI
Y1
Combinational logic
PPI
PPO
SFF1
SI
SE
CK
PO
Y2
DI
SI Q
SE
. .
FF2
SFF3
DI Q
DI
SI Q
SE
SO
Partial-Scan Design
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
FF2
C1
C3
FF3
C2
FF4
FF5
EE141
VLSI
Test Principles and Architectures
Partial-Scan Design
Advantage:
Advantages of RAS:
Can control or observe individual scan cells without affecting
others
Reduce test power dissipation
Simplify the process of performing delay test
EE141
VLSI
Test Principles and Architectures
SC
PO
SC
CK
SC
SC
SC
SC
SC
SC
PI
SI
SCK
SO
SC
EE141
VLSI
Test Principles and Architectures
AI
SD
EE141
VLSI
Test Principles and Architectures
TM
SI/SO
CK
Test
control
logic
SC
SC
SC
SC
SC
PO
Combinational logic
SC
SC
SC
SC
PI
CA
PRAS Architecture
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
Recommended Solution
Tri-state buses
Avoid
Bypass clocks
Avoid
Avoid
Avoid
Floating buses
Avoid
Floating inputs
Not recommended
Not recommended
EE141
VLSI
Test Principles and Architectures
Tri-State Buses
SFF1
DI
SI Q
SE
EN1
D1
Functional
enable
logic
SFF2
DI
SI Q
SE
EN2
Bus
D2
SFF3
SI
SE
CK
DI
SI Q
SE
EN3
D3
Original Circuit
EE141
VLSI
Test Principles and Architectures
Tri-State Buses
SFF1
DI
SI Q
SE
Bus keeper
EN1 is forced to 1 to
enable the D1 bus driver,
while EN2 and EN3 are
set to 0 to disable both D2
and D3 bus drivers, when
SE = 1.
Bus
EN1
D1
Functional
enable
logic
SFF2
DI
SI Q
SE
EN2
D2
SFF3
SI
SE
CK
DI
SI Q
SE
EN3
D3
DI
SI Q
SE
CK
BO
BI
EE141
VLSI
Test Principles and Architectures
I/O
SE
DI
SI Q
SE
CK
BO
BI
EE141
VLSI
Test Principles and Architectures
I/O
Gated Clocks
A
D Q
LAT
Clock EN
gating
logic
D Q
G
D Q
CEN
D Q
CK
. .
DFF
GCK
EE141
VLSI
Test Principles and Architectures
Gated Clocks
TM
or
SE
B
D Q
LAT
Clock
gating
logic
EN
D Q
G
DFF
D Q
CEN
GCK
D Q
CK
. .
EE141
VLSI
Test Principles and Architectures
.
An OR gate is used to force
CEN to 1 using either the test
mode signal TM or the scan
enable signal SE.
Derived clocks
DFF1
D Q
ICK .
.
D Q
CK
DFF2
D Q
EE141
VLSI
Test Principles and Architectures
Derived clocks
DFF1
D Q
CK
. ICK 0
D Q
TM
DFF2
D Q
EE141
VLSI
Test Principles and Architectures
.S
Combinational logic
D
0
1
TM
.S
Q
DI
SI
SE
SI
SE
CK
EE141
VLSI
Test Principles and Architectures
Asynchronous set/reset
signals of scan cells that
are not directly controlled
from primary inputs can
prevent scan chains from
shifting data properly.
EE141
VLSI
Test Principles and Architectures
RL
SFF2
R
DI
SI Q
SE
CK
EE141
VLSI
Test Principles and Architectures
Original
design
Scan synthesis
Scan configuration
Constraint
&
control
information
.
.
.
Scan replacement
Scan reordering
Layout
information
Scan stitching
Scan
design
Scan extraction
Test generation
Scan verification
EE141
VLSI
Test Principles and Architectures
Scan Synthesis
Converts a testable design into a scan design without
affecting the functionality of the original design
Scan Configuration
Scan Replacement
Scan Reordering
Scan Stitching
EE141
VLSI
Test Principles and Architectures
Scan Extraction
Is the process used for extracting all scan cell instances from all scan
chains specified in the scan design
Scan Verification
A timing file in standard delay format (SDF) which resembles the timing
behavior of the manufactured device is used to
Verifying the scan shift operation
Verifying the scan capture operation
EE141
VLSI
Test Principles and Architectures
CK1
CCD1
CCD2
CD2
CD3
CCD3
CCD4
CK2
CCD5
CD4
CD5
CD6
CD7
5 crossing-clock-domain data
paths, CCD1 ~ CCD5
EE141
VLSI
Test Principles and Architectures
Scan Synthesis
Scan Replacement
Replaces all original storage elements in the testable design with their
functionally-equivalent scan cells
Scan Reordering
The process of reordering the scan chains based on the physical scan
cell locations, in order to minimize the amount of interconnect wires
used to implement the scan chains
Scan Stitching
Stitch all scan cells together to form scan chains
EE141
VLSI
Test Principles and Architectures
SC1
SI
CK
DI
SI Q
SE
SC2
X
DI
SI Q Y
SE
.
Circuit Structure
EE141
VLSI
Test Principles and Architectures
CK
X
Y
D1
D2
D1
D3
D2
Timing Diagram
EE141
VLSI
Test Principles and Architectures
D3
CK1
CK2
DI
SI Q
SE
Clock domain 2
Lock-up latch
X
D Q
SCq
DI
SI Q
SE
Circuit Structure
EE141
VLSI
Test Principles and Architectures
CK1
CK2
X
Y
Z
D1
D2
D1
D3
D2
D1
D3
D2
D3
Timing diagram
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
Enhanced Scan
Why
What
is new?
EE141
VLSI
Test Principles and Architectures
..
.
LA2
D
CK
LAs
SFF1
SDI
SE
..
.Y
Combinational logic
LA1
UPDATE
Y1
Y2
DI
SI Q
SE
SFF2
DI
SI Q
SE
. .
C
SFFs
DI
SI Q
SE
Enhanced-scan architecture
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
Snapshot scan
Why
is new?
EE141
VLSI
Test Principles and Architectures
Snapshot scan
X1
X2
Xn
..
.
L1
1D Q
C1
C2
2D
CK
UCK
L2
1D Q
C1
C2
2D
..
SDI
..
Ls
1D Q
C1
C2
2D
..
SFF1
DCK
TCK
..
.
Combinational logic
1D
2D Q
C1
C2
..
Ym
SFFs
SFF2
Y1
Y2
1D
2D Q
C1
C2
1D
2D Q
C1
C2
SDO
Scan-set architecture
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
Error-Resilient scan
Why
What
EE141
VLSI
Test Principles and Architectures
Error-Resilient Scan
Scan portion
SCB
LA
1D
C1 Q
2D
C2
SI
SCA
CAPTURE
UPDATE
D
CLK
. .
.
.
PH2
C1 Q
1D
LB
O2
C1
Q
1D
. .
C-element
.
.
PH1
1D
C1
O1
Q
2D
C2
System flip-flop
TEST
EE141
VLSI
Test Principles and Architectures
O1
O2
0
1
0
1
0
1
1
0
1
0
Previous value retained
Previous value retained
SO
Keeper
.
In test mode, TEST is set to
1, and the C-element acts as
an inverter.
In system mode, TEST is set
to 0, and the C-element acts
as a hold-state comparator.
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
RTL design
Gate-level design
Testability repair
Testability repair
Testable design
Scan synthesis
Scan design
Logic/scan synthesis
Scan design
RTL testability repair
design flow
Ch. 2 - Design for Testability - P. 100
synthesis
testability problems
EE141
VLSI
Test Principles and Architectures
clk_15
start
D
Q
clk
EE141
VLSI
Test Principles and Architectures
Q
clk
start
clk_15
D
Q
clk_test
1
TM
scan synthesis
extraction
Scan
verification
EE141
VLSI
Test Principles and Architectures
Concluding Remarks
DFT