You are on page 1of 14

VLSI

VLSI Testing
Testing
Fault
Fault Simulation
Simulation
Virendra Singh
Indian Institute of Science
Bangalore
virendra@computer.org
E0 286: Test & Verification of SoC Design
Lecture - 5
Jan 28, 2008

E0-286@SERC

Problem
Problem and
and Motivation
Motivation
Fault simulation Problem: Given
A circuit
A sequence of test vectors
A fault model

Determine
Fault coverage - fraction (or percentage) of
modeled faults detected by test vectors
Set of undetected faults

Motivation
Determine test quality and in turn product quality
Find undetected fault targets to improve tests

Jan 28, 2008

E0-286@SERC

Parallel
Parallel Fault
Fault Simulation
Simulation
Compiled-code method; best with twostates (0,1)
Exploits inherent bit-parallelism of logic
operations on computer words
Storage: one word per line for two-state
simulation
Multi-pass simulation: Each pass simulates
w-1 new faults, where w is the machine
word length
Speed up over serial method ~ w-1
Not suitable for circuits with timing-critical
and non-Boolean logic
Jan 28, 2008

E0-286@SERC

Parallel
Parallel Fault
Fault Simulation
Simulation
Bit 0: fault-free circuit
Bit 1: circuit with c s-a-0
Bit 2: circuit with f s-a-1
1

a
b

1
1

s-a-0
0

Jan 28, 2008

c s-a-0 detected

0
s-a-1

E0-286@SERC

Deductive
Deductive Fault
Fault Simulation
Simulation

One-pass simulation
Each line k contains a list Lk of faults
detectable on k
Following true-value simulation of each
vector, fault lists of all gate output lines
are updated using set-theoretic rules,
signal values, and gate input fault lists
PO fault lists provide detection data
Limitations:

Jan 28, 2008

Set-theoretic rules difficult to derive for nonBoolean gates


Gate delays are difficult to use

E0-286@SERC

Deductive
Deductive Fault
Fault Simulation
Simulation
Notation: Lk is fault list for line k
kn is s-a-n fault on line k

1
{b0}

{a0}
{b0 , c0}

{b0 , d0}

Jan 28, 2008

Le = La U Lc U {e0}
= {a0 , b0 , c0 , e0}

e
f

{b0 , d0 , f1}

E0-286@SERC

Lg = (Le Lf ) U {g0}
= {a0 , c0 , e0 , g0}
U

Faults detected by
the input vector
6

Concurrent
Concurrent Fault
Fault Simulation
Simulation

Event-driven simulation of fault-free circuit and


only those parts of the faulty circuit that differ in
signal states from the fault-free circuit.
A list per gate containing copies of the gate from
all faulty circuits in which this gate differs. List
element contains fault ID, gate input and output
values and internal states, if any.
All events of fault-free and all faulty circuits are
implicitly simulated.
Faults can be simulated in any modeling style or
detail supported in true-value simulation (offers
most flexibility.)
Faster than other methods, but uses most
memory.

Jan 28, 2008

E0-286@SERC

Conc.
Conc. Fault
Fault Simulation
Simulation
a0

a
b

1
1

c
d

1 0

c0

b0

e0

1
0

a0

b0

0 1
Jan 28, 2008

d0

0 1

f1

1 1
E0-286@SERC

1
0

b
0 0

g0

1
1

f1

c0

0
1
1

e0
0

d0
8

Fault
Fault Sampling
Sampling

A randomly selected subset (sample) of


faults is simulated.
Measured coverage in the sample is used
to estimate fault coverage in the entire
circuit.
Advantage: Saving in computing resources
(CPU time and memory.)
Disadvantage: Limited data on undetected
faults.

Jan 28, 2008

E0-286@SERC

Motivation
Motivation for
for Sampling
Sampling

Complexity of fault simulation depends on:

Number of gates
Number of faults
Number of vectors

Complexity of fault simulation with fault


sampling depends on:

Jan 28, 2008

Number of gates
Number of vectors

E0-286@SERC

10

Random
Random Sampling
Sampling Model
Model
Detected
fault
All faults with
a fixed but
unknown
coverage

Random
picking

Np = total number of faults


(population size)

C = fault coverage (unknown)

Jan 28, 2008

Undetected
fault

E0-286@SERC

Ns = sample size
Ns << Np
c = sample coverage

(a random variable)

11

Probability
Probability Density
Density of
of
Sample
Sample Coverage,
Coverage, c
c
(x--C )2

-- ------------

p (x ) = Prob(x < c < x +dx ) = ------------- (2 )

p (x )

C (1 - C)
2
Variance, = -----------Ns

Sampling
error

Mean = C

C -3

1/2

2 2

C +3 1.0

Sample coverage
Jan 28, 2008

E0-286@SERC

12

Fault
Fault simulator
simulator in
in a
a VLSI
VLSI
Design
Design Process
Process
Verified design
netlist

Verification
input stimuli

Fault simulator

Test vectors

Remove
Modeled
fault list tested faults
Fault
coverage
?

Low

Test
Delete
compactor vectors

Test
generator

Add vectors

Adequate
Stop

Jan 28, 2008

E0-286@SERC

13

Thank You
Jan 28, 2008

E0-286@SERC

14

You might also like