Estimating Stuck Fault Coverage in Sequential Logic Using State Traversal and Entropy Analysis

advertisement
Estimating Stuck Fault
Coverage in Sequential Logic
Using State Traversal and
Entropy Analysis
Soumitra Bose
Design Technology, Intel Corp. Folsom, CA 95630
Vishwani D. Agrawal
Dept. of ECE, Auburn University Auburn, AL 36849
10/25/2007
ITC-07 Paper 26.1
1
Outline
• Problem & Approach
• Background
• State Sequence Analysis
• Entropy Analysis
• Algorithm Implementation
• Results
• Conclusion
10/25/2007
ITC-07 Paper 26.1
2
Problem and Approach
• Problem
– Coverage estimation algorithms inaccurate
due to iterative array model.
– This results in optimistic estimates,
particularly for hard to test designs and when
insufficient test vectors are available.
• Approach
– Use state graph instead of iterative array
model.
– Reduce size of graph by entropy analysis.
10/25/2007
ITC-07 Paper 26.1
3
Background
• Approximate fault simulation
– Per-vector analysis
• Critical path tracing (CPT), Abramovici et al., IEEE D&T
1984.
• Necessary conditions, Akers et al., ITC 1990.
– Post-simulation analysis, Stafan, Jain and Agrawal,
IEEE-D&T 1985.
• Dominator analysis in ATPG, Kirkland and Mercer, ITC
1987.
Dominator
Fanout
stem
Fault detection at fanout stem depends on signal states
in this part and the observability of the dominator.
10/25/2007
ITC-07 Paper 26.1
4
Stafan: A Tutorial Example
Incorrectly
detected
faults
sa0
11001 sa1
C0=0.4
C1=0.6
OB0=1.0
OB1=1.0
OB0=1.0, OB1=0.0 (observabilities)
C0=0.4, C1=0.6 (controllabilities)
S=0.4 (sensitization count)
sa1 11001
sa1
C0=0.4
C1=0.6
S=1.0
OB0=0.0
OB1=1.0
00110
C0=0.6, C1=0.4
S=0.6
OB0=1.0, OB1=0.0
Detected
faults
00000
sa1
C0=1.0
C1=0.0
OB0=1.0
OB1=1.0
pd: Prob(sa0 detected) = C1 × OB1, Prob(sa1 detected) = C0 × OB0
Threshold detection by N vectors: PD(N) = 1 – (1 – pd)N ≥ 0.5
10/25/2007
ITC-07 Paper 26.1
5
Sequential Logic: Iterative Array Model
(i-1)
(i+1)
(i)
last frame
Observability(i) = Detectability(i) + Observability(i+1)
• Fix-point evaluation: (1) Find observabilities at POs from latch outputs
• While latch observabilities change {
assign latch input observabilities from latch outputs
propagate observabilties from latches across combinational frame
}
10/25/2007
ITC-07 Paper 26.1
6
Motivation: Sequential Logic Example
100
Assumptions:
(1) G11=1 initially.
(2) Gate input
states are
stored (ITC
2006).
(3) Iterative array
model used.
G3
G6
011
010
G10
001
sa0
G4
011
G9
G5
110
000
010
G7
G8
101
010
100
G11
Non-zero 0-observability at G9 => non-zero 1-observabilty at G11.
Iterative array model implies G10 sa0 fault is detectable.
Cause for error: Stafan Does not remember G11 = 1 in first vector.
10/25/2007
ITC-07 Paper 26.1
7
State Sequence Analysis - I
(1) Remember preceding states while performing simulation.
(2) However, state graph may be too big (max = number of vectors).
(3) Collapse states to minimize graph size.
0*,11
11
011
001
10
10
States: (f1,f2,f3)
Inputs: (i1,i2)
110
101
Collapse variable f3:
(1) Merge states{011,010}.
(2) Merge states {001,110}.
(3) Original transitions:
{1*, 11, 10}
(4) New transitions:
{1*0,101,111} = {10*,11*}
11
010
1*
000
1*
01
01
00
100
01
111
10
00
10/25/2007
ITC-07 Paper 26.1
8
State Sequence Analysis - II
Result of collapsing f3:
transitions from {010,010} to {001,000} : {1*, 11, 10} -> { 10*, 11*}
States: (f1,f2,f3)
Inputs: (i1,i2)
11
011
10
State: (f1, f2)
Inputs: (i1,i2,f3)
0*,11
001
10
01
110
101
11
010
00
01
1*
000
00
11
10
100
01
111
10
0**
00
10/25/2007
10*,11*
0*0
1*
01
1*1,0*1
ITC-07 Paper 26.1
9
Entropy Analysis
• State graph minimization done by entropy analysis
• Definition:
H ( s)= - pi ( s). log 2( pi ( s))
i =0,1
•
Low H(s): infrequent 0 (or 1)
• Do not collapse state variables
with low values of H(s)
• Sample every N cycles during
simulation and collapse those
variables with H(s) > threshold
10/25/2007
ITC-07 Paper 26.1
1
H(s)
0
1
0.5
p(s)
10
Observabilities From Minimized Graphs
1.
Assume: next state NS, current state CS, current observabilities
(0-COBS,1-COBS) for all states reachable from NS.
2.
How do we evaluate 0-CBS,1-COBS for CS?
3.
Use restrictor functions: latches that are 1 (0) in CS cannot have
non-zero 0-observability (1-observability).
4.
Three steps: (i) Restrict COBS values using NS, (ii) Trace back
to derive new values for CS, and restrict the result (NewOBS),
and (iii) Update COBS = max(COBS,NewOBS).
Max(COBS,
NewOBS)
10/25/2007
COBS
NewOBS
CS
ITC-07 Paper 26.1
NS
11
Accuracy And Speed Tradeoff
• Derivation of NewOBS uses partially specified circuit state CS.
Max(COBS,
NewOBS)
COBS
NewOBS
CS
NS
• If no variables are collapsed, and all inputs are stored => accurate
fault simulation by post processing is obtained.
• If all state variables are collapsed, and no inputs are stored =>
iterative array model is obtained.
• Observed accuracy and speed depends on entropy threshold used
for minimization.
10/25/2007
ITC-07 Paper 26.1
12
Exact Coverage/Estimate Comparison
Circuit
Exact fault sim
Iterative array
State exploration
Cov (%)
Time(s)
Est (%)
Time (s)
Est (%)
Time (s)
s386
66.11
0.93
68.06
0.07
66.28
0.10
s641
86.61
2.62
87.04
0.09
86.83
1.89
S1196
95.83
2.06
96.75
0.13
96.50
0.69
S5378
68.15
36.4
71.57
0.54
69.46
42.53
S9234
33.57
78.78
41.52
0.70
36.13
91.32
S13207
29.75
336.5
39.10
1.05
34.32
266.4
S35932
82.92
180.4
94.14
2.1
85.65
192.6
S38417
11.94
2152
25.6
2.83
17.52
362.5
S38584
62.84
668.4
71.54
2.57
66.6
540.3
 Improved accuracy with increased runtimes. Number of states
approach length of test (20K).
10/25/2007
ITC-07 Paper 26.1
13
Graph Size vs Runtime Comparison
Different entropy thresholds chosen: 0.1, 0.2, 0.3, 0.4
circuit
fsim (s)
S386
0.93
1
1
1
4
0.1
0.1
0.1
0.12
S641
2.62
1
1
10
89
0.41
0.39
0.45
0.47
S1196
2.06
1
1
42
165
0.14
0.14
0.22
0.38
S5378
36.4
278
305
471
556
3.86
4.21
5.01
6.52
S9234
78.8
47
55
263
4063
13.8
13.6
20.0
35.6
S13207
337
78
534
4429 12317
17.2
20.6
60.6
135.2
S35932
180
19
23
147
1429
8.4
10.2
12.1
25.7
S38417
2152
39
428
520
2175
8.3
23.2
22.6
61.5
S35854
668
515
1684
3553
7169
23.2
54.9
111
223
10/25/2007
state graph size
runtime (s)
ITC-07 Paper 26.1
14
Graph Size vs Estimate Comparison
Different entropy thresholds chosen: 0.1, 0.2, 0.3, 0.4
circuit
cov (%)
s386
66.1
1
1
1
4
68.1
68.1
68.1
68.1
s641
86.6
1
1
10
89
87.04
87.04 87.04
87.04
s1196
95.8
1
1
42
165
96.75
96.75 96.75
96.58
s5378
68.2
278
305
471
556
71.25
71.32 71.39
71.39
s9234
33.6
47
55
263
4063
39.44
38.65 37.55
36.72
s13207
29.8
78
534
4429
12317 38.12
37.03 35.57
35.48
s35932
82.9
19
23
147
1429
94.10
92.99 92.98
88.77
s38417
11.9
39
428
520
2175
23.89
23.2
23.2
15.82
s35854
62.8
515
1684
3553
7169
71.17
69.8
69.01
66.4
10/25/2007
state graph size
estimate(%)
ITC-07 Paper 26.1
15
Conclusion
• State graph extracted during logic simulation can be
used to improve accuracy of fault coverage estimation.
• Entropy measures can reduce the size of the graph,
and trade off accuracy for speed.
• Iterative array estimate and exact fault coverage are
two extremes of this algorithm:
(1) Iterative array model: single state model
(2) Exact fault simulation: fully expanded version that
stores all state variables and inputs.
• Unaddressed outstanding problems: effective length of
detection, structure of extracted graphs etc …
10/25/2007
ITC-07 Paper 26.1
16
Download