DFT Some
DFT Some
0 1 1 0
MUX MUX
M
U
X
M
U
X
1
0
1
0
s s
A
D
T
1
T
2
0
0
1
0
1
0
Mode
normal
test C
1
test C
2
If 2
p+n
+ 2
q+m
< 2
m+n
then test time can be reduced
m
n
s
p
q
Design for Testability 30
Logic Redundancy
Rule: Avoid or eliminate redundancy ckt.
Design errors
Undetectable faults
Invalidation of some tests
Bias fault coverage
Design for Testability 31
Global Feedback Paths
Rule: break global feedback
C C
break
control
break control
Design for Testability 32
Scan System
C
R
PI
PO
SI
C
R
PI
SO
PO
Original design
Modified circuit
Design for Testability 33
Full Serial Integrated Scan
Sequential ATPG Combinational ATPG
CK
k k
C
X Z
m n
R
Y
E
k k
C
X Z
m n
Rs
Y
E
Sout
Sin N/T
CK
Scanned Normal
Design for Testability 34
Isolated Serial Scan (Scan/set)
X
Z
Sout
Sin
Rs
S
Design for Testability 35
Full Isolated Scan (Structured)
Shadow register
Real-time test support
snapshot
C
X
Z
R
Rs
Sin
Sout
S
Design for Testability 36
Random-Access Scan
(Non serial-structured)
High area overhead
Faster test
application: only bit
change
Concept of
crosscheck
C
Addressable
storage
elements
X decoder
Y
D
e
c
o
d
e
r
E Y
X-address
Y-
address
clocks and
controls
X
Z
Sout
Sin
SCK
Si
Design for Testability 37
Scan Cell Design
Static / Dynamic
Single / Double stages
Latch / Flip-flop (Clocking Scheme)
Usually Two Operation Modes
Functional mode
Shift mode
Design for Testability 38
IBM LSSD Scan Cell
Gate Level
Q
2
=L
2
=S
out
D
C
S
i
A
Q
1
=L
1
B
Functional mode : A=0, C and B active
Test(Shift) mode : C=0, A and B active
Design for Testability 39
IBM LSSD Scan Cell (Cont.)
Switch / Inverter level
D
S
i
C
A
Q1=L1
Q2=L2
=Sout
B
B
Design for Testability 40
LSSD Double-Latch Design
Y
X
SRL
Z
L1 L2
L1 L2
L1 L2
y1
y2
yn
Y
Sout
Scan path
C
A
Sin=I
B
Combinational
Network
N
Design for Testability 41
Normal mode:
Test mode:
C
B
A
B
Clocking Scheme of LSSD
Double-Latch
Design for Testability 42
LSSD Single-Latch Design
SRL
Y2
X1
C1
Y1
X2
C2
N1
N2
e11
e1n
e21
e2m
y21
y2m
y11
y1n
Y1
Y2
Sout
Z1
Z2
L1
L1
L1
L1
L2
L2
L2
L2
B
A Sin
Scan path
Design for Testability 43
Scan Design Costs
Area overhead
Possible performance degradation
Extra pins
High test time
Extra clock control
Design for Testability 44
Advanced Scan Concepts
Partial scan (P.S.)
Multiple test session (M.T.S.)
Multiple scan chains (M.S.C.)
Broadcast scan chains (B.S.C)
Area overhead same same or same
Performance
Degradation same same same
Extra clock
control same same same same
Method P.S. M.T.S. M.S.C. B.S.C.
Extra pins same same same or
Test application
time or
Design for Testability 45
Partial Scan: Only a subset of all
flip-flops are scanned
Test
Generation
Complexity
Comb. T.G.
Sequ. T.G.
100
partial scan
full scan
%
scan F/Fs
Trade-off between
Area overhead
Test generation complexity
Design for Testability 46
Basic idea:
Representing a circuit as a directed graph
G=(v,E)
Trying to break cycles and reducing sequential
depth
Partial Scan by Cheng & Agrawal
(pp. 544-548, IEEE Trans. Computers, Apr. 90)
Design for Testability 47
Graph Representation
Each flip-flop i => a vertex V
i
Each combinational path from FF
i
to FF
j
!an edge form V
i
to V
j
Ex:
6 5 4 2 1
3
2
1
3
4
5
6
Design for Testability 48
Graph Representation
Def: Distance between two vertices on a path = # of
vertices on that path
dist = 4
dist = 3
Design for Testability 49
Graph Representation
Def: sequential depth of a circuit = the distance of
the longest path
Def: Cycle length = maximum # of vertices in a cycle
EX: dist = 6
1
3
4
5 6
cycle length = 3 c.l. = 1 c.l. = 2
Design for Testability 50
Analysis of Sequential Circuits
Any sequential circuit can be divided into 3
classes of subcircuits based on the directed
graph representation
1. acyclic directed
2. directed with only self loops
3. directed with cycles of two or more vertices
Ex:
1.
Design for Testability 51
Analysis of Sequential Circuits
(Cont.)
2.
3.
Design for Testability 52
Experimental Results
Experimental results show that
# of gates or # FFs is not the dominant factor
for test generation complexity
Cycle length is the dominant factor
Sequential depth is minor
!To reduce test generation complexity, cycles of
length >= 2 should be eliminated
Design for Testability 53
Flip-Flop Selection Algorithm
Identify all cycles
Repeat
for each vertex
count the frequency of appearance in the cycle list
select the most frequently used vertex
remove all cycles containing the remove (selected) vertex
until (cycle list is empty)
! This is a feedback vertex set problem, a well-
known NP-complete problem, hence heuristic is
used.
Design for Testability 54
Experimental Results
(Cheng & Agrawal 90)
PARTICAl SCAN FOR MULT4 (382 GATES, 15 FLIP-FLOPS)
CPU sec. No. Of
scan FFs
Max cycle
length
Depth
Test gen. Fault sim.
Fault
cov.
No. Of
test
Total
vector
0 4 13 75 5 98.01% 115 115
5 1 6 8 2 99.68% 69 345
6 1 4 8 2 99.68% 72 432
PARTICAl SCAN FOR CHIP-A (1112 GATES, 39 FLIP-FLOPS)
CPU sec. No. Of
scan FFs
Max cycle
length
Depth
Test gen. Fault sim.
Fault
cov.
No. Of
test
Total
vector
0 1 14 269 274 98.80% 868 868
8 1 10 85 56 99.60% 529 4132
16 1 6 49 33 99.80% 387 6192
Design for Testability 55
Experimental Results
(Cheng & Agrawal 90)
PARTICAl SCAN FOR CHIP-B (5294 GATES, 318 FLIP-FLOPS)
CPU sec. No. Of
scan FFs
Max cycle
length
Depth
Test gen. Fault sim.
Fault
cov.
No. Of
test
Total
vector
0 40 43 11018* 2256 82.60% 948 948
14 1 19 2946* 2986 97.90% 2607 39498
36 1 10 2041* 2765 98.30% 2494 89784
44 1 6 1207* 2526 97.80% 1741 76604
87 1 4 643* 862 98.20% 842 73254
87 1 4 2294 7961 98.43% 2536 220632
*20% sample of total faults used for test gen. and fault sim.
Design for Testability 56
Experimental Results
(Cheng & Agrawal 90)
TEST GENERATION FOR SEQUENTIAL BENCHMARK CIRCUITS WITH PARTIAL SCAN
Circuit
Name
Total
No.Of
FFs
Scan FFs
No. %
No. of
test
Vector
Fault Coverage(%)
Tested Redundant
Total
Tgen +Fsim
Sec
(VAX 8650)
s400 21 9 42.86 107 99.81 1.89 100.00 7
s713 19 7 36.84 83 90.71 9.29 100.00 18
s5378 179 32 17.89 2612 93.38 6.32 99.70 1253
s9234 228 53 23.25 3458 43.23 55.80 99.04 6208
Design for Testability 57
The BALLAST Methodology
(Rajesh Gupta, Rajiv Gupta, M.A.Breuer,
IEEE T-Computers, Apr.90)
Scan storage elements are selected such that
remainder of the circuit has some desirable structure.
A complete test set can be obtained using
combinational ATPG.
T.G.
Complexity
Sequ
ATPG
Comb.
ATPG
BALLAST
100
FFs
% scanned
Design for Testability 58
Example
C1
R2
C2
R5
R1 C3
R4
C4
R6
R3
SO
SI
Fig.1
Design for Testability 59
Example (Cont.)
Test procedure:
Scan in a test pattern to R3 and R6 .
Hold test pattern in R3, R6 for two clock cycles
such that test response appears in R5 and R4.
Load data (from R5, R4) to R6, R3 and shift out
Design for Testability 60
Circuit Model
Register:
Collection of one or more FFs driven by the same clock
signal and (if any) mode control signal.
Two types of registers:
Load set L - the set of registers whose FFs have no
explicit load enable control => always operate in LOAD
mode.
Hold set H - two modes of operations : LOAD and HOLD.
In the previous example, R1, R2, R4, R5 belong to
LOAD set, and R3, R6 belong to Hold set H.
Design for Testability 61
Circuit Model (Cont.)
Clouds
The combinational logic logic in a circuit S can be partitioned
into clouds, where each cloud is a maximum region of
connected combinational logic such that its inputs are either
PIS or outputs of FFs and its outputs are either POS or inputs
to FFS.
Ex
In Fig.1 each block of C1, C2 , C3 and C4 represents a cloud.
No two clouds can be directly connected together.
Each FF ( in any register ) must receive data from
exactly one cloud and must feed exactly one cloud.
FFs can be grouped into registers such that each register
receivers data from exactly one cloud and feeds exactly one
cloud.
Design for Testability 62
V: set of clouds.
A: connections between clouds through registers.
H: arcs in H A represents HOLD registers.
w:A Z+ ( positive integers) defines the number of
FFS in each register.
w(a) represents the cost of converting
register a into a scan path register.
Topology graph G=( V, A, H, W)
U
Design for Testability 63
Example
R2
R5
C2
C3
C1
C4
R3
R1
R4
Design for Testability 64
B-structure
S: a synchronous sequential circuit with topology
graph G=( V, A, H, W).
S is said to be to a balanced sequential structure
(B-structure) if
G is acyclic.
v1,v2 V, all directed paths from v1 to v2 are of
equal length.
h H, if h is removed from G, the resulting graph is
disconnected.
When considering whether a circuit with scan
registers is a B-structure, the arcs corresponding
to scan registers must be removed.
.
U
U A
A
Condition 3 means that the removed of in the
scan path will disconnect the graph.
Design for Testability 65
Kernel :The circuit excluding the
scan path
Combinational equivalent of of a B-structure
: the combinational circuit formed by replacing
each FF in every register in by a wire.
Depth d of :the longest directed path in the
topology graph
Kernel of Fig.1
Combinational
equivalent
Examples:
Design for Testability 67
Given an input pattern I applied to ,the single -
pattern output of for I is defined as the steady -
state output of when I is held constant and all
registers are operated in LOAD mode for at least
d clock cycles
Given some fault f in ,if the single-pattern
outputs for I of the good and faulty circuits are
different , then I is a single -pattern test for f
B - structures : (1) single -pattern testable (2)
complete single - pattern test set can be derived
using combinational test generation techniques
SO
SI
1101...01 dd 10...101