Lecture 8: Squential ATPG
Download
Report
Transcript Lecture 8: Squential ATPG
VLSI Testing
Lecture 8: Sequential ATPG
Dr. Vishwani D. Agrawal
James J. Danaher Professor of Electrical and
Computer Engineering
Auburn University, Alabama 36849, USA
[email protected]
http://www.eng.auburn.edu/~vagrawal
IIT Delhi, Aug 21, 2013, 3:30-4:30PM
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
1
Contents
Problem of sequential circuit ATPG
Time-frame expansion
Nine-valued logic
ATPG implementation and drivability
Complexity of ATPG
Cycle-free and cyclic circuits
Asynchronous circuits
Summary
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
2
Sequential Circuits
A sequential circuit has memory in addition to
combinational logic.
Test for a fault in a sequential circuit is a
sequence of vectors, which
Initializes the circuit to a known state
Activates the fault, and
Propagates the fault effect to a primary output
Methods of sequential circuit ATPG
Time-frame expansion methods
Simulation-based methods
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
3
Example: A Serial Adder
An Bn
1
1
s-a-0
D
1
1
D
Cn
X
Cn+1
X
Combinational logic
FF
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
Sn X
1
4
Time-Frame Expansion
An-1 Bn-1
1
1
A n Bn
Time-frame -1
s-a-0
D
1
X
1
1
Cn-1
1
D
Time-frame 0
s-a-0
D
D
1
X
Cn
X
1
D
1
Cn+1
1
Combinational logic
Combinational logic
Sn-1
1
Sn
X
D
FF
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
5
Concept of Time-Frames
If the test sequence for a single stuck-at fault
contains n vectors,
Fault
Unknown
or given
Init. state
Comb.
block
Replicate combinational logic block n times
Place fault in each block
Generate a test for the multiple stuck-at fault using
combinational ATPG with 9-valued logic
Vector -n+1
Timeframe
-n+1
PO -n+1
Copyright 2001, Agrawal & Bushnell
State
variables
Vector -1
Vector 0
Timeframe
-1
Timeframe
0
PO -1
PO 0
Lecture 8: Sequential ATPG
Next
state
6
Example for Logic Systems
FF1
A
s-a-1
Copyright 2001, Agrawal & Bushnell
B
FF2
Lecture 8: Sequential ATPG
7
Five-Valued Logic (Roth)
0,1, D, D, X
A 0
A 0
s-a-1
s-a-1
D
FF1
FF2
D
X
X
X
X
D
D
Time-frame -1
Copyright 2001, Agrawal & Bushnell
B X
Time-frame 0
Lecture 8: Sequential ATPG
FF1
FF2
B X
8
Nine-Valued Logic (Muth)
0,1, 1/0, 0/1, 1/X, 0/X, X/0, X/1, X
A 0
A X
s-a-1
s-a-1
0/1
FF1
FF2
X/1
X
0/X
0/X
X
0/1
X/1
Time-frame -1
Copyright 2001, Agrawal & Bushnell
B X
Time-frame 0
Lecture 8: Sequential ATPG
B
FF1
FF2
0/1
9
Implementation of ATPG
Select a PO for fault detection based on drivability analysis.
Place a logic value, 1/0 or 0/1, depending on fault type and
number of inversions.
Justify the output value from PIs, considering all necessary
paths and adding backward time-frames.
If justification is impossible, then use drivability to select
another PO and repeat justification.
If the procedure fails for all reachable POs, then the fault is
untestable.
If 1/0 or 0/1 cannot be justified at any PO, but 1/X or 0/X can
be justified, the the fault is potentially detectable.
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
10
Drivability Example
(11, 16)
s-a-1
8
d(0/1) =
d(1/0) = 20
8
d(0/1) = 4
d(1/0) =
(10, 16)
d(0/1) = 9
d(1/0) =
d(0/1) =
d(1/0) = 32
(17, 11)
FF
(6, 10)
d(0/1) = 109
d(1/0) =
d(0/1) = 120
d(1/0) = 27
8
(CC0, CC1)
= (6, 4)
(5, 9)
8
(4, 4)
(22, 17)
8
(10, 15)
CC0 and CC1 are SCOAP combinational controllabilities
d(0/1) and d(1/0) of a line are effort measures for driving
a specific fault effect to that line
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
11
Complexity of ATPG
Synchronous circuit -- All flip-flops controlled by clocks; PI and
PO synchronized with clock:
Cycle-free circuit – No feedback among flip-flops: Test
generation for a fault needs no more than dseq + 1 timeframes, where dseq is the sequential depth.
Cyclic circuit – Contains feedback among flip-flops: May
need 9Nff time-frames, where Nff is the number of flipflops.
Asynchronous circuit – Higher complexity!
Smax
TimeFrame
max-1
TimeFrame
max-2
S3
Time- S2 Time- S1 TimeFrame
Frame
Frame
-2
-1
0
S0
max = Number of distinct vectors with 9-valued elements = 9Nff
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
12
Cycle-Free Circuits
Characterized by absence of cycles among flipflops and a sequential depth, dseq.
dseq is the maximum number of flip-flops on any
path between PI and PO.
Both good and faulty circuits are initializable.
Test sequence length for a fault is bounded by
dseq + 1.
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
13
Cycle-Free Example
Circuit
F2
2
F3
F1
Level = 1
3
F2
All faults are
testable in
this circuit.
2
s - graph
F1
F3
Level = 1
3
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
dseq = 3
14
Cyclic Circuit Example
Modulo-3 counter
CNT
F2
F1
Z
s - graph
F2
F1
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
15
Modulo-3 Counter
Cyclic structure – Sequential depth is undefined.
Circuit is not initializable. No tests can be
generated for any stuck-at fault.
After expanding the circuit to 9Nff = 81, or fewer,
time-frames ATPG program calls any given target
fault untestable.
Circuit can only be functionally tested by multiple
observations.
Functional tests, when simulated, give no fault
coverage.
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
16
Adding Initializing Hardware
Initializable modulo-3 counter
CNT
F2
F1
s-a-0
Z
s-a-1
CLR
s-a-1
s-a-1
Untestable fault
Potentially detectable fault
s - graph
F1
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
F2
17
Benchmark Circuits
Circuit
PI
PO
FF
Gates
Structure
Seq. depth
Total faults
Detected faults
Potentially detected faults
Untestable faults
Abandoned faults
Fault coverage (%)
Fault efficiency (%)
Max. sequence length
Total test vectors
Gentest CPU s (Sparc 2)
Copyright 2001, Agrawal & Bushnell
s1196
14
14
18
529
Cycle-free
4
1242
1239
0
3
0
99.8
100.0
3
313
10
s1238
14
14
18
508
Cycle-free
4
1355
1283
0
72
0
94.7
100.0
3
308
15
Lecture 8: Sequential ATPG
s1488
8
19
6
653
Cyclic
-1486
1384
2
26
76
93.1
94.8
24
525
19941
s1494
8
19
6
647
Cyclic
-1506
1379
2
30
97
91.6
93.4
28
559
19183
18
Summary
Combinational ATPG algorithms are extended:
Cycle-free circuits:
Time-frame expansion unrolls time as combinational array
Nine-valued logic system
Justification via backward time
Require at most dseq + 1 time-frames
Always initializable
Cyclic circuits:
May need 9Nff time-frames
Circuit must be initializable
Partial scan can make circuit cycle-free
See, M. L. Bushnell and V. D. Agrawal, Essentials of Electronic
Testing for Digital, Memory and Mixed-Signal VLSI Circuits,
Springer, 2000, Chapter 8.
Asynchronous circuits: Not discussed
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
19
Problems to Solve
1.
Which type of circuit is easier to test? Circle one in each:
2.
Combinational or sequential
Cyclic or cycle-free
Synchronous or asynchronous
What is the maximum number of input vectors that may be
needed to initialize a cycle-free circuit with k flip-flops?
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
20
Solution
1.
Which type of circuit is easier to test? Circle one in each:
Combinational or sequential
Cyclic or cycle-free
Synchronous or asynchronous
2.
What is the maximum number of input vectors that may
be needed to initialize a cycle-free circuit with k flip-flops?
k vectors. Because that is the maximum sequential
depth possible. An example is a k bit shift register.
Copyright 2001, Agrawal & Bushnell
Lecture 8: Sequential ATPG
21