jing ye 1,2, yu hu 1, and xiaowei li 1 1 key laboratory of computer system and architecture...

22
Jing Ye 1,2 , Yu Hu 1 , and Xiaowei Li 1 1 Key Laboratory of Computer System and Architecture Institute of Computing Technology Chinese Academy of Sciences 2 Graduate University of Chinese Academy of Sciences Diagnosis of Multiple Arbitrary Faults with Mask and Reinforcement Effect

Upload: clementine-cook

Post on 17-Jan-2016

255 views

Category:

Documents


0 download

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.

• Thank You for Your Attention

• Question?