jing ye 1,2, yu hu 1, and xiaowei li 1 1 key laboratory of computer system and architecture...
TRANSCRIPT
Jing Ye1,2, Yu Hu1, and Xiaowei Li1
1Key Laboratory of Computer System and Architecture
Institute of Computing Technology
Chinese Academy of Sciences
2Graduate University of Chinese Academy of Sciences
Diagnosis of Multiple Arbitrary Faults with Mask and Reinforcement Effect
2
Motivation1. Multiple arbitrary faults occur in the circuit2. Single stuck-at fault model is inadequate for diagnosis
Source: [L. M. Huisman IEEE TCAD’04]
Distribution of multiplet sizes
3
Outline Introduction
• Multiple-fault mask and reinforcement effect
• Prior work
Proposed diagnosis methodology
• Overview
• Fault tuple equivalence tree construction
• Fault tuple equivalence tree scoring
• Candidate location choosing and ranking
• Fault tuple equivalence tree pruning
Experimental results
4
Multiple-fault mask and reinforcement effect
Multiple-fault mask effect If the fault effect can be propagated to at least one observation
point in the single-fault situation, but be blocked in the multiple-fault situation, then the multiple-fault mask effect occurs.
Multiple-fault reinforcement effect If the fault effect can not be propagated to an observation point in
the single-fault situation, but can be observed in the multiple-fault situation, then the multiple-fault reinforcement effect occurs.
a
b
c
d
e
g
h
0 0
0/1 0/1
0/11 0/1
a
b
c
d
e
g
h
0 0
0/1 0/1
0/11 0/1
Mask
/0
/1Reinforcement
/1
5
Prior work Matching the response of the single suspect fault with
the response of the circuit-under-diagnosis[S. Venkataraman, S. B. Drummonds ITC00]
[Shi-Yu Huang VTS01]
Fault simulation with three-valued logic (0, 1, X)
[J. B. Liu, A. Veneris IEEE TCAD05]
Using Single Location at A Time (SLAT) patterns[T. Bartenstein, et al. ITC01]
[D.B. Lavo, et al. ITC02]
[Zhiyuan Wang, et al. IEEE TCAD06]
Analyzing fault propagation possibility
[Xiaochun Yu, R. D. Blanton ITC08]
6
Proposed diagnosis methodology overview
Fault-Tuple A fault-tuple is a set consisting of
at least one fault.
Fault-Tuple Equivalence Tree (FTET)
A failing pattern’s FTET describes the relationship among the suspect faults.
First Fault-Tuple A failing pattern’s first fault-tuple
is defined as the fault-tuple consisting of all faults at the failing observation points.
Are all failing patterns explained?
Start
Find the first fault-tuple to explain the failing pattern 1
Find the first fault-tuple to explain the failing pattern n. . .
Build FTET1 for the failing pattern 1
Build FTETn for the failing pattern n
Score suspect faults in FTET1
Choose candidate locations from all suspect faults according to the scores
END
YES
Prune FTET1
. . .
Score suspect faults in FTETn. . .
Prune FTETn . . .
NO
Report candidate locations
7
Are all failing patterns explained?
Start
Find the first fault-tuple to explain the failing pattern 1
Find the first fault-tuple to explain the failing pattern n. . .
Build FTET1 for the failing pattern 1
Build FTETn for the failing pattern n
Score suspect faults in FTET1
Choose candidate locations from all suspect faults according to the scores
END
YES
Prune FTET1
. . .
Score suspect faults in FTETn. . .
Prune FTETn . . .
NO
Report candidate locations
Fault-tuple equivalence tree construction
The line under trace is a gate output.
The line under trace is a stem’s fanout branch.
All the stem’s fanout branches can be traced.Part of the stem’s fanout branches can be traced.
a 1
b 1c 0
d 1
e 1
l 0/1
m 0
B
C
Ag 0
h 0
k 0/1
f 0
i 0
j 0
k/1 l/1
First fault-tuple
8
Fault-tuple equivalence tree construction
a 1
b 1c 0
d 1
e 1
l 0/1
m 0
B
C
Ag 0
h 0
k 0/1
f 0
i 0
j 0
k/1 l/1
First fault-tuplei/1
g/1
h/1
k/1 l/1
Are all failing patterns explained?
Start
Find the first fault-tuple to explain the failing pattern 1
Find the first fault-tuple to explain the failing pattern n. . .
Build FTET1 for the failing pattern 1
Build FTETn for the failing pattern n
Score suspect faults in FTET1
Choose candidate locations from all suspect faults according to the scores
END
YES
Prune FTET1
. . .
Score suspect faults in FTETn. . .
Prune FTETn . . .
NO
Report candidate locations
The line under trace is a gate output.
The line under trace is a stem’s fanout branch.
All the stem’s fanout branches can be traced.Part of the stem’s fanout branches can be traced.
9
Fault-tuple equivalence tree construction
a 1
b 1c 0
d 1
e 1
l 0/1
m 0
B
C
Ag 0
h 0
k 0/1
f 0
i 0
j 0
k/1 l/1
First fault-tuplei/1
g/1
h/1
k/1 l/1
i/1
g/1
f/1
h/1
h/1
k/1 l/1
Are all failing patterns explained?
Start
Find the first fault-tuple to explain the failing pattern 1
Find the first fault-tuple to explain the failing pattern n. . .
Build FTET1 for the failing pattern 1
Build FTETn for the failing pattern n
Score suspect faults in FTET1
Choose candidate locations from all suspect faults according to the scores
END
YES
Prune FTET1
. . .
Score suspect faults in FTETn. . .
Prune FTETn . . .
NO
Report candidate locations
The line under trace is a gate output.
The line under trace is a stem’s fanout branch.
All the stem’s fanout branches can be traced.Part of the stem’s fanout branches can be traced.
10
Fault-tuple equivalence tree construction
a 1
b 1c 0
d 1
e 1
l 0/1
m 0
B
C
Ag 0
h 0
k 0/1
f 0
i 0
j 0
k/1 l/1
First fault-tuplei/1
g/1
h/1
k/1 l/1
i/1
g/1
f/1
h/1
h/1
k/1 l/1
i/1
c/1 m/0
g/1
f/1
h/1
h/1
e/0 j/0
k/1 l/1
Are all failing patterns explained?
Start
Find the first fault-tuple to explain the failing pattern 1
Find the first fault-tuple to explain the failing pattern n. . .
Build FTET1 for the failing pattern 1
Build FTETn for the failing pattern n
Score suspect faults in FTET1
Choose candidate locations from all suspect faults according to the scores
END
YES
Prune FTET1
. . .
Score suspect faults in FTETn. . .
Prune FTETn . . .
NO
Report candidate locations
The line under trace is a gate output.
The line under trace is a stem’s fanout branch.
All the stem’s fanout branches can be traced.Part of the stem’s fanout branches can be traced.
11
Fault-tuple equivalence tree construction
a 1
b 1c 0
d 1
e 1
l 0/1
m 0
B
C
Ag 0
h 0
k 0/1
f 0
i 0
j 0
First fault-tupleAre all failing patterns explained?
Start
Find the first fault-tuple to explain the failing pattern 1
Find the first fault-tuple to explain the failing pattern n. . .
Build FTET1 for the failing pattern 1
Build FTETn for the failing pattern n
Score suspect faults in FTET1
Choose candidate locations from all suspect faults according to the scores
END
YES
Prune FTET1
. . .
Score suspect faults in FTETn. . .
Prune FTETn . . .
NO
Report candidate locations
i/1
c/1 m/0
g/1
f/1
d/0
b/0
h/1
h/1
e/0 j/0
k/1 l/1
The line under trace is a gate output.
The line under trace is a stem’s fanout branch.
All the stem’s fanout branches can be traced.Part of the stem’s fanout branches can be traced.
12
Fault-tuple equivalence tree scoring
a 1
b 1c 0
d 1
e 1
l 0/1
m 0
B
C
Ag 0
h 0
k 0/1
f 0
i 0
j 0
The highest score : 1 The faults in a fault-tuple
equally share the score of the fault-tuple.
Two equivalent fault-tuples get the same score.
i/1
c/1 m/0
g/1
f/1
d/0
b/0
h/1
h/1
e/0 j/0
k/1 l/1
i/10.25
c/10.125
m/00.125
g/10.5
f/10.75
d/00.75
b/00.875
h/10.25
h/10.25
e/00.125
j/00.125
k/10.5
l/10.5
Are all failing patterns explained?
Start
Find the first fault-tuple to explain the failing pattern 1
Find the first fault-tuple to explain the failing pattern n. . .
Build FTET1 for the failing pattern 1
Build FTETn for the failing pattern n
Score suspect faults in FTET1
Choose candidate locations from all suspect faults according to the scores
END
YES
Prune FTET1
. . .
Score suspect faults in FTETn. . .
Prune FTETn . . .
NO
Report candidate locations
13
Candidate location choosing and ranking
a 1
b 1c 0
d 1
e 1
l 0/1
m 0
B
C
Ag 0
h 0
k 0/1
f 0
i 0
j 0
Having the highest score
Appearing the most times
The candidate locations chosen at earlier iterations have higher ranks
i/10.25
c/10.125
m/00.125
g/10.5
f/10.75
d/00.75
b/00.875
h/10.25
h/10.25
e/00.125
j/00.125
k/10.5
l/10.5
b/00.875
Are all failing patterns explained?
Start
Find the first fault-tuple to explain the failing pattern 1
Find the first fault-tuple to explain the failing pattern n. . .
Build FTET1 for the failing pattern 1
Build FTETn for the failing pattern n
Score suspect faults in FTET1
Choose candidate locations from all suspect faults according to the scores
END
YES
Prune FTET1
. . .
Score suspect faults in FTETn. . .
Prune FTETn . . .
NO
Report candidate locations
14
Fault-tuple equivalence tree pruning
When a fault is pruned, its equivalent fault-tuple will be pruned.
Only when all the faults in a fault-tuple is pruned, the fault-tuple can be pruned.
i/10.25
c/10.125
m/00.125
g/10.5
f/10.75
d/00.75
b/00.875
h/10.25
h/10.25
e/00.125
j/00.125
k/10.5
l/10.5
a 1
b 1c 0
d 1
e 1
l 0/1
m 0
B
C
Ag 0
h 0
k 0/1
f 0
i 0
j 0
i/1
c/1 m/0
g/1
f/1
d/0
b/0
h/1
h/1
e/0 j/0
k/1 l/1
Are all failing patterns explained?
Start
Find the first fault-tuple to explain the failing pattern 1
Find the first fault-tuple to explain the failing pattern n. . .
Build FTET1 for the failing pattern 1
Build FTETn for the failing pattern n
Score suspect faults in FTET1
Choose candidate locations from all suspect faults according to the scores
END
YES
Prune FTET1
. . .
Score suspect faults in FTETn. . .
Prune FTETn . . .
NO
Report candidate locations
15
Are all failing patterns explained?
Start
Find the first fault-tuple to explain the failing pattern 1
Find the first fault-tuple to explain the failing pattern n. . .
Build FTET1 for the failing pattern 1
Build FTETn for the failing pattern n
Score suspect faults in FTET1
Choose candidate locations from all suspect faults according to the scores
END
YES
Prune FTET1
. . .
Score suspect faults in FTETn. . .
Prune FTETn . . .
NO
Report candidate locations
Proposed diagnosis methodology review
16
Arbitrary faults
Experimental setup Benchmarks ISCAS’89 ITC’99
Test patterns Nearly 100% single stuck-at fault coverage 5-detect
Injected fault types Stuck-at faults Dominant bridging nonfeedback faults Transition faults
17
Evaluation Metrics
Run time
Diagnosability =The number of identified actual fault locations
The number of actual fault locations
Resolution =The number of identified actual fault locations
The number of final candidate fault locations
First-hit 100%, Top-ranked candidate location is an actual fault location
0, Top-ranked candidate location isn’t an actual fault location
18
Diagnosability, Resolution, Run time and First-hit
s38584 2 faults 4 faults 7 faults
Fault Type Diag. Res. R.T. F.H. Diag. Res. R.T. F.H. Diag. Res. R.T. F.H.
Stuck-at faults 100% 1.00 1.39s 100% 98% 0.97 2.77s 98% 99% 0.94 4.29s 100%
Transition faults 99% 1.00 1.09s 100% 100% 0.99 2.50s 100% 99% 0.95 3.66s 100%
Bridging faults 98% 0.94 1.46s 96% 97% 0.87 2.80s 96% 97% 0.86 3.99s 96%
Arbitrary faults 99% 0.96 1.56s 98% 100% 0.94 2.62s 100% 97% 0.89 4.15s 100%
10 faults 13faults 17 faults 21 faults
Diag. Res. R.T. F.H. Diag. Res. R.T. F.H. Diag. Res. R.T. F.H. Diag. Res. R.T. F.H.
98% 0.96 6.05s 94% 99% 0.95 7.77s 100% 98% 0.91 10.2s 100% 98% 0.89 13.2s 96%
98% 0.92 5.13s 98% 100% 0.94 6.31s 100% 98% 0.92 7,25s 100% 97% 0.89 10.1s 98%
97% 0.81 5.61s 100% 98% 0.83 8.66s 98% 97% 0.83 9.06s 98% 97% 0.79 12.6s 96%
98% 0.91 5.63s 98% 98% 0.88 7.52s 100% 97% 0.88 9.55s 100% 97% 0.88 12.3s 100%
Diag.:Diagnosability Res.:Resolution R.T.: Run time F.H.:First-hit
19
ComparisonDominant bridging nonfeedback faultsTransition faults
Our method: s13207 s15850 s35932 s38417 s38584
The number of faults
DiagnosabilityPermanent stuck-at faults
30%
40%
50%
60%
70%
80%
90%
2 4 7 10 13 16 21 2 4 7 10 13 16 21
Method in *: s13207 s15850 s35932 s38417 s38584
2 4 7 10 13 16 21
100%
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Resolution
Dominant bridging nonfeedback faultsTransition faultsPermanent stuck-at faults
Our method: s13207 s15850 s35932 s38417 s38584
The number of faults 2 4 7 10 13 16 21 2 4 7 10 13 16 21 2 4 7 10 13 16 21
Method in *: s13207 s15850 s35932 s38417 s38584
* [Xiaochun Yu, R. D. Blanton ITC08]
21 faults (average)93% vs 66%
21 faults (average)0.78 vs 0.56
20
Diagnosis quality and test patterns
0.82
0.84
0.86
0.88
0.90
0.92
0.94
0.96
0.98
5-detect pattern3-detect pattern
0.873
0.861
0.902
0.885
0.9710.971
0.9690.971
0.9130.923
0.939
0.902
0.9420.938
s13207 s15850 s35932 s38417 s38584 b17 b22
diagnosability
0.914
0.902
0.913
0.962
0.959
0.872
0.842
1-detect pattern0.0
0.2
0.4
0.6
0.8
1.0
60%
40%
20%
0%
100%
results using random patterns results using commercial patterns
Diagnosability Resolution
80%
The relation between N-detect patterns and diagnosability
The relation between deterministically generated patterns and randomly
generated patterns
The larger N is, the higher diagnosability is achieved.
The diagnosis method is independent of ATPG method.
21
ConclusionMultiple-fault mask and reinforcement effect is a major issue.
Built fault-tuple equivalence trees to consider the mask and reinforcement effect.
Evaluate the capability of each suspect fault to explain the failing patterns.
The proposed diagnosis methodology is effective when confronting a large number of faults.
The proposed diagnosis methodology is independent of fault models, and it can also be applied to any kinds of test patterns.