digital testing: fault simulation

Post on 01-Jan-2016

44 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Digital Testing: Fault Simulation. Fault Simulation. Classical Fault Simulation Modern Fault Simulation for Combinational Circuits Modern Fault Simulation for Synchronous Sequential Circuits Parallel and Distributed Fault Simulation Fault Grading --- Approximate Fault Simulation - PowerPoint PPT Presentation

TRANSCRIPT

04/20/23Based on text by S. Mourad

"Priciples of Electronic Systems"

Digital Testing: Fault Simulation

Fault Simulation

Classical Fault SimulationModern Fault Simulation for Combinational CircuitsModern Fault Simulation for Synchronous Sequential CircuitsParallel and Distributed Fault Simulation Fault Grading --- Approximate Fault SimulationHardware Approaches to Fault Simulation

1. To evaluate the quality of a test set -- usually in terms of fault coverage2. To incorporate into ATPG for test generation -- due to its lower complexity3. To construct fault dictionary -- for post-test diagnosis4. To analyze the operation of a circuit in the presence of faults -- for reliability analysis

Why Fault Simulation?

Conceptual Fault Simulation

• Logic simulation on both good (fault-free) and faulty circuits

Fault-free Circuit

Faulty Circuit #1 (A/0)

Faulty Circuit #2 (B/1)

Faulty Circuit #F (D/0)

PrimaryInputs(PIs) Primary Outputs (POs)

Patterns(Sequences)(Vectors)

Response Comparison

Detected?

A BC

D

Verified designnetlist

Verificationinput stimuli

Fault simulator Test vectors

Modeledfault list

Testgenerator

Testcompactor

Faultcoverage

?

Remove tested faults

Deletevectors

Add vectors

Low

Adequate

Stop

Fault Simulation

Fault simulation

Selection of target faults

Select target fault

doneGenerate test for target

Fault simulate

Discard detected faults

No more faults

Generate initial T

done

Evaluate T

Sufficient fault coverage?

Modify T

N Y

To evaluate (grade) a test T use fault simulation

Classical Fault Simulation

Common Characteristics:In general, no restriction on the circuit types.Developed before VLSI era.

Serial Fault Simulationtrivial single-fault single-pattern

Parallel Fault SimulationDeductive Fault SimulationConcurrent Fault Simulation

Complexity of Fault Simulation

• Complexity = P * F *G~ O(G3) with single s-a faults• The complexity is higher than logic simulation, O(G2), but is much lower than test pattern generation.• In reality, the complexity is much lower due to fault colapsing and advanced techniques.

#Gate (G)

#Pattern (P)

#Fault (F)

Serial fault simulation

fault specification (includes fault collapsing)fault insertionfault effect generation & propagationfault detection & discarding

In parallel fault simulation, a number of faulty circuits are simulated and signal values are represented by vectors

Classical Parallel Fault Simulation

Taking advantage of inherent parallel operation of computer words to simulate faulty circuits in parallel with fault-free circuit

the number of faults, that can be processed in parallel is limited by the word length.

Straightforward and memory efficientSome weaknesses:

A value change, of a single fault or fault-free circuit leads to the computation of the entire word. The fault-free logic simulation is repeated for the number of passes.

Example of Parallel Fault Simulation

— Bit-space: J/0 B/1 F/0 FF where FF = Fault-free

x

x

x

A

B

C

D E

F

G

H J

1

0

1

1

• Consider three faults: B/1, F/0, and J/0

0 0 0 0

0 1 0 0

1 1 1 1

1 0 0 1

0 1 0 0 0 1 0 1

1 1 0 11 1 1 1

1 1 0 1

1 0 1 1

Parallel Fault Simulation

u

G1 G2

G3 G4

G5

ab

cde

h i

g

f

Applied test pattern:abcde=10010

Parallel Fault Simulation

ff a/0 b/1 c/1 d/0 e/1 f/0 f/1 g/0 g/1 h/0 h/1 i/0 i/1 u/0 u/1

a=1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1

b=0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

c=0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

d=1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1

f=ab 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0

g=(f+c)’ 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1

h=cd 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0

e=0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

i=e+h 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0

u=g+i 1 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1

Deductive fault simulation

Instead of keeping all signal values for all faulty circuits in parallel as in parallel simulation, only a list of faults which causes different responses on a given line is kept

0 1 2 3 4 5 6 7 8 9 F1 1 1 1 0 1 1 0 1 1 ... 1

faultssignal line i

Li = {4, 7}

parallel

deductive

Deductive Fault Simulation

(b)

x=1y=0z=0

x=1y=1

x=1y=0

x=1y=0

Lx Ly Ly

LxLx Ly Lx

(LyLz)

(a)

g=1

i=0 u=1

h=0

e=0

i=0

f=0

c=0

g=1

f=0a = 1

b=0

d=1

c=0 h=0

G1

G3G4

G2

G5

Lb La

f/1

Lg=LfLc

g/0 Lu=(Lg L i

(u/0)

Li=LhLe

i/1

Lf =(

(Lc L dh/1Lh =

Rules for deductive simulation

j IIf C = then L = { L } {Z sa(c i)}z j

else L = ({ L } - { L }) {Z sa(c i)}j C

jj I-C

j

I - inputc - controlling valuesi – inversion valueand for the primary inputs set )( icsaZLi

Therefore for AND,OR,NAND,NOR there is no 0,1,0 or 1 respectively on any input and append the output list list with Z/0, Z/1, Z/1, Z/0 respectively

So for AND,OR,NAND,NOR when there is 0,1,0 or 1 on their inputsappend output list with Z/1, Z/0, Z/0, Z/1 respectively

Deductive fault simulation

Besides faults which can propagate through the gate, we add the following output faults

c i |c| = 0 |c| > 0 fault fault equivalence dominance

AND 0 0 Z0 Z1 I0 Z0 I1 < O1OR 1 0 Z1 Z0 I1 Z1 I0 < O0NAND 0 1 Z1 Z0 I0 Z1 I1 < O0NOR 1 1 Z0 Z1 I1 Z0 I0 < O1

xy 00 01 10 11

AND Lx Ly Z/1

(Lx - Ly)Z/1 (LyLx)Z/1 Lx Ly Z/0

OR Lx Ly Z/1

(Ly - Lx) Z/0

(Lx - Ly) Z/0 Lx Ly Z/0

NAND Lx Ly Z/0

(Lx - Ly) Z/0

(Ly - Lx) Z/0 Lx Ly Z/1

NOR Lx Ly Z/0

(Ly - Lx) Z/1

(Lx - Ly) Z/1 Lx Ly Z/1

Deductive fault simulation

For two-input gates

Deductive Simulation

LEVEL 0 LEVEL 1 LEVEL 2 LEVEL3 LEVEL4Node FF PRIMARY INPUTS PRIMARY

OUTa 1 a/0b 0 b/1c 0 c/1d 1 d/0e 0 e/1f 0 --------------------- (LbLa)f/1 = b/1, f/1

g 1 --------------------- --------------------- LfLcg/0 = b/1, f1, c/1, g/0

h 0 --------------------- (LcLd)h/1 = c/1,h/1

i 0 --------------------- --------------------- LhLei/1 = c/1,e/1, i/1, h/1u 1 --------------------- --------------------- --------------------- LgLiu/0 = b/1, f1, g/0, u/0

So Lu = (Lg – Li) u/0 = ((b/1, f/1, c/1, g/0) -(c/1)) + u/0= b/1, f/1, g/0, u/0, as indicated in the last column

g=1

i=0 u=1

h=0

e=0

i=0

f=0

c=0

g=1

f=0a = 1

b=0

d=1

c=0 h=0

G1

G3 G4

G2

G5

Lb Laf/1

Lg=LfLcg/0 Lu=(Lg L i(u/0)

Li=LhLei/1

Lf =(

(Lc L dh/1

Lh =

Example of Deductive Simulation

x

x

x

A

B

CD E

F

G

H J

1

0

1

1

• Consider 3 faults: B/1, F/0, and J/0 and test t1={1,0,1}

LB = {B/1}, LF = {F/0}, LA = Ø LC=LD = {B/1}

x

x

x

A

B

CD E

F

G

H J

1

0

1

1

• Consider 3 faults: B/1, F/0, and J/0

LB = {B/1}, LF = {F/0}, LC=LD = {B/1}, LG = {B/1}, LE = {B/1}

Example of Deductive Simulation

x

x

x

A

B

CD E 1

F

G

H J

1

0

1

1

• Consider 3 faults: B/1, F/0, and J/0

LB = {B/1}, LF = {F/0}, LC=LD = {B/1}, LG = {B/1}, LE = {B/1}, LH = {B/1, F/0}

Example of Deductive Simulation

x

x

x

A

B

CD E 1

F

G 0

H 1 J

1

0

1

1

• Consider 3 faults: B/1, F/0, and J/0

LB = {B/1}, LF = {F/0}, LC=LD = {B/1}, LG = {B/1}, LE = {B/1}, LH = {B/1,F/0}, LJ = {F/0,J/0}

Example of Deductive Simulation

x

x

x

A

B

CD E 1

F

G 0

H 1 J

0

0

1

1

LB = {B/1}, LF = {F/0}, LC=LD = {B/1}, LG = Ø, different set for t2={0,0,1} LE = {B/1}, LH = {B/1,F/0}, LJ = {B/1,F/0,J/0}

• When A changes from 1 to 0

Example of Deductive Simulation

Deductive fault simulation

Example :After fault collapsing, the set of faults we simulate is { a0, a1, b1, c0, c1, d1, e0, g0 , h0, h1} Perform deductive fault simulation using test vector t1={00110}

1 k

ab

c

de

00

1

10

f 0

g

h

j 0

i 1

1m

Deductive fault simulation

Assume the first applied test vector is t1={00110}

La = {a1}, Lb = {b1}, Lc = {c0}, Ld = , Le = , Lf = La Lb = ,

Lg = Lc {g0}={c0,g0}, Lh = Lc {h0} = {c0, h0}, Lj = Lg - Lf = {c0, g0},

Li = Ld Lh = {c0, h0}, Lk = Li - Le = {c0, h0}, Lm = Lk - Lj = {h0}

1 k

ab

c

de

00

1

10

0f g

h

j 0

i 1

1m

Fault list { a0, a1, b1, c0, c1, d1, e0, g0 , h0, h1}

x=1x=1 x=1 x=1y=0

Ly Lx

x=0y=0 y=0

z=0y=1

Lx LyLx

(LyLz)Lx

Ly

y=0

Ly Lx

ExampleUsing test vector t2={1,1,0,1,0}Fault list after fault collapsing{ a0, a1, b1, c0, c1, d1, e0, g0 , h0, h1}

0 k

ab

c

de

11

0

10

1f g

h

0j

0i

0m

Start with La = {a0}, Lb = , Lc = {c1}, Ld = , Le =

Deductive Fault list

La = {a0}, Lb = , Lc = {c1}Ld = , Le = Lf = La Lb = {a0}Lg = Lc = {c1}Lh = Lc {h1} = {c1,, h1}Li = Lh - Ld = {c1,, h1}Lj = Lf - Lg = {a0} Lk = Li Lg = {c1,, h1}Lm = Lj Lk = {a0 ,c1, h1}

Faults detected in this step of deductive simulation

Concurrent Fault Simulation

Each gate retains a list of fault copies and each of them stores the status of a fault different from fault-free values. Simulation is similar to the regular fault simulation except that only the difference w.r.t. fault-free circuit is retained.Very versatile in circuit types and gate delaysAlthough theoretically all faults in a circuit can be processed in one pass, memory explosion restricts the fault number in each pass.

Fault List of AND Gate

A

BD

0

00

1

00

1

00

0

01

A/1

B/1

D/1

faults

a

b c

d

e

f

g

1

11

0

1

1

11

1

01

1 0

0

10

1

00

1

00

1

10

1

00

1

11 1

11

0

00

0

11

0

00

0

00

0 1 0 1 1 1

a0 b0c0 e0

a0 b0

b0

c0 e0

d0d0 g0 f1

f1

Concurrent Fault Simulation

Fault List Propagation

A

B

D0

00

C

E0

00

A

B

D1

00

C

E0

00

A/1: 10_0 C/1: 01_1

B/1: 01_0 D/1: 10_1

D/1: 00_1 E/1: 00_1

*A/0: 00_0 *B/1: 10_1 E/1: 00_1

*B/1: 11_1 C/1: 01_1

*D/1: 10_1 D/1: 10_1

*

faults Inputs andoutput

Example of Concurrent Simulation

x

x

x

A

B

CD E

F

G

H J

1

0

1

1

• Consider 3 faults: B/1, F/0, and J/0

LG = {10_0, B/1:11_1} LE = {0_1, B/1:1_0}

Inputs_output Fault: Faulty inputs_output

signal

x

x

x

A

B

CD E 1

F

G

H J

1

0

1

1

• Consider 3 faults: B/1, F/0, and J/0

LG = {10_0, B/1:11_1} LE = {0_1, B/1:1_0} LH = {11_1, B/1:01_0, F/0:10_0}

Example of Concurrent Simulation

x

x

x

A

B

CD E 1

F

G 0

H 1 J

1

0

1

1

• Consider 3 faults: B/1, F/0, and J/0

LG = {10_0, B/1:11_1} LE = {0_1, B/1:1_0} LH = {11_1, B/1:01_0, F/0:10_0}LJ = {01_1, B/1:10_1, F/0:00_0, J/0:01_0}

Example of Concurrent Simulation

x

x

x

A

B

CD E 1

F

G 0

H 1 J

0

0

1

1

• When A changes from 1 to 0

LG = {00_0, B/1:01_0} LE = {0_1, B/1:1_0} LH = {11_1, B/1:01_0, F/0:10_0}LJ = {01_1, B/1:00_0, F/0:00_0, J/0:01_0}

Example of Concurrent Simulation

Concurrent Simulation

u

G1 G2

G3 G4

G5

ab

cde

h i

g

f

G1 a b f G2 c f g G3 c d h G4 e h i G5 g I u1 0 0 0 0 1 0 1 0 0 0 0 1 0 1

a/0 0 0 0 b/1 0 1 0 c/1 1 1 1 c/1 0 1 1 b/1 0 0 0b/1 1 1 1 c1/1 1 0 0 d/0 0 0 0 e/1 1 0 1 c/1 0 1 1f/1 1 0 1 f /1 0 1 0 h/1 0 1 1 h/1 0 1 1 e/1 1 1 1

g/0 0 0 0 i/1 0 0 1 f /1 0 0 0

g/0 0 0 0h/1 1 1 1i/1 1 1 1u/0 1 0 0

Gates and their inputs

Detectable faults in boldPossiblefaults

Faulty responses

Fault Simulation

1

Y

Z

3

2

7 4

8 95

6

10

11

12

13

14

A

B

C

D

FG

H

I

E

Unused output B faults not detected

Tied to ground

Exercise

top related