Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring...

23
Spring 08, Mar 27 Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Ag ELEC 7770: Advanced VLSI Design (Ag rawal) rawal) 1 ELEC 7770 ELEC 7770 Advanced VLSI Design Advanced VLSI Design Spring 2008 Spring 2008 Fault Simulation Fault Simulation Vishwani D. Agrawal Vishwani D. Agrawal James J. Danaher Professor James J. Danaher Professor ECE Department, Auburn University ECE Department, Auburn University Auburn, AL 36849 Auburn, AL 36849 [email protected] [email protected] http://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr08/ http://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr08/ course.html course.html
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    0

Transcript of Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring...

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 11

ELEC 7770ELEC 7770Advanced VLSI DesignAdvanced VLSI Design

Spring 2008Spring 2008Fault SimulationFault Simulation

Vishwani D. AgrawalVishwani D. AgrawalJames J. Danaher ProfessorJames J. Danaher Professor

ECE Department, Auburn UniversityECE Department, Auburn University

Auburn, AL 36849Auburn, AL 36849

[email protected]@eng.auburn.eduhttp://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr08/course.htmlhttp://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr08/course.html

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 22

Fault SimulationFault Simulation Problem and motivation Fault simulation algorithms

SerialParallelDeductiveConcurrent

Random Fault Sampling Summary Review problems

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 33

Problem and MotivationProblem and 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

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 44

Fault Simulator in VLSI DesignFault Simulator in VLSI Design

Verified designnetlist

Verificationinput stimuli

Fault simulator Test vectors

Modeledfault list

Testgenerator

Testcompactor

Faultcoverage

?

Remove tested faults

Deletevectors

Add vectors

Low

Adequate

Stop

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 55

Fault Simulation ScenarioFault Simulation Scenario

Circuit model: mixed-level Mostly logic with some switch-level for high-impedance (Z)

and bidirectional signals High-level models (memory, etc.) with pin faults

Signal states: logic Two (0, 1) or three (0, 1, X) states for purely Boolean logic

circuits Four states (0, 1, X, Z) for sequential MOS circuits

Timing: Zero-delay for combinational and synchronous circuits Mostly unit-delay for circuits with feedback

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 66

Fault Simulation Scenario (Cont.)Fault Simulation Scenario (Cont.) Faults:

Mostly single stuck-at faults Sometimes stuck-open, transition, and path-delay

faults; analog circuit fault simulators are not yet in common use

Equivalence fault collapsing of single stuck-at faults Fault-dropping – a fault once detected is dropped

from consideration as more vectors are simulated; fault-dropping may be suppressed for diagnosis

Fault sampling – a random sample of faults is simulated when the circuit is large

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 77

Fault Simulation AlgorithmsFault Simulation Algorithms

SerialSerial ParallelParallel DeductiveDeductive ConcurrentConcurrent Differential*Differential*

* See M. L. Bushnell and V. D. Agrawal, Essentials of Electronic Testing for Digital, Memory and Mixed-Signal VLSI Circuits, Springer, 2000, Chapter 5.

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 88

Serial AlgorithmSerial Algorithm

Algorithm: Simulate fault-free circuit and save responses. Repeat following steps for each fault in the fault list:

Modify netlist by injecting one fault Simulate modified netlist, vector by vector, comparing

responses with saved responses If response differs, report fault detection and suspend

simulation of remaining vectors Advantages:

Easy to implement; needs only a true-value simulator, less memory

Most faults, including analog faults, can be simulated

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 99

Serial Algorithm (Cont.)Serial Algorithm (Cont.)

Disadvantage: Much repeated computation; CPU time prohibitive for VLSI circuits

Alternative: Simulate many faults together

Test vectors Fault-free circuit

Circuit with fault f1

Circuit with fault f2

Circuit with fault fn

Comparator f1 detected?

Comparator f2 detected?

Comparator fn detected?

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1010

Parallel Fault SimulationParallel Fault Simulation

Compiled-code method; best with two-states (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

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1111

Parallel Fault Simulation ExampleParallel Fault Simulation Example

a

b c

d

e

f

g

1 1 1

1 1 1 1 0 11 0 1

0 0 0

1 0 1

s-a-1

s-a-0

0 0 1

c s-a-0 detected

Bit 0: fault-free circuit

Bit 1: circuit with c s-a-0

Bit 2: circuit with f s-a-1

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1212

Deductive Fault SimulationDeductive Fault Simulation

One-pass simulation Each line k contains a list Lk of faults detectable on it 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:

Set-theoretic rules difficult to derive for non-Boolean gates

Gate delays are difficult to use

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1313

Deductive Fault Sim.Deductive Fault Sim.ExampleExample

b c

d

e

f

g

1

1

0

1{b0 , c0}

{b0}

{b0 , d0}

= {a0 , b0 , c0 , e0}

Lg = (Le Lf ) U {g0}

= {a0 , c0 , e0 , g0}

U

{b0 , d0 , f1}

Notation: Lk is fault list for line k

kn is s-a-n fault on line k

Faults detected bythe input vector

a

g

1

{a0} = {a0 , b0 , c0 , e0}1

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1414

Concurrent Fault SimulationConcurrent Fault 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.

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1515

Concurrent Fault Sim. ExampleConcurrent Fault Sim. Example

a

b c

d

e

f

g

1

11

0

1

1

11

10

1

1 0

0

10

10

01

00

1

10

10

011

1 11

1

00 0

01

1 00

000

0

0 1 0 1 1 1

a0 b0c0 e0

a0 b0

b0

c0 e0

d0

d0

g0 f1

f1

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1616

Fault SamplingFault 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.

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1717

Motivation for SamplingMotivation for 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:

Number of gates Number of vectors

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1818

Random Sampling ModelRandom Sampling Model

All faults witha fixed butunknowncoverage

Detectedfault

Undetectedfault

Random

picking

Np = total number of faults

(population size)

C = fault coverage (unknown)

Ns = sample size

Ns << Np

c = sample coverage (a random variable)

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1919

Probability Density of Sample Probability Density of Sample Coverage, cCoverage, c

(x – C )2

- ───── 1 2σ 2

p (x) = Prob (x ≤ c ≤ x +dx ) = ─────── e σ (2 π) 1/2

p (

x)

C C +3σC -3σ 1.0x

Sample coverage

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

Mean = C

Samplingerror

σ σ

x

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2020

Sampling Error BoundsSampling Error Bounds

C (1 - C ) | x - C | = 3 [ ────── ] 1/2

Ns

Solving the quadratic equation for C, we get the3-sigma (99.7% confidence) estimate:

4.5C 3σ = x ± ── [1 + 0.44 Ns x (1 - x )]1/2

Ns

Where Ns is sample size and x is the measured fault

coverage in the sample.Example: A circuit with 39,096 faults has an actual fault coverage of 87.1%. The measured coverage in a random sample of 1,000 faults is 88.7%. The above formula gives an estimate of 88.7% ± 3%. CPU time for sample simulation was about 10% of that for all faults.

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2121

SummarySummary Fault simulator is an essential tool for test development. Concurrent fault simulation algorithm offers the best

choice. For restricted class of circuits (combinational and

synchronous sequential with only Boolean primitives), differential algorithm can provide better speed and memory efficiency.

For large circuits, the accuracy of random fault sampling only depends on the sample size (1,000 to 2,000 faults) and not on the circuit size. The method has significant advantages in reducing CPU time and memory needs of the simulator.

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2222

ExerciseExercise

For the circuit shown above Using the parallel fault simulation algorithm,

determine which of the four primary input faults are detectable by the test 00.

Spring 08, Mar 27Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2323

Exercise AnswerExercise Answer

PI1=0

PI2=0

0 0 1 0 0

0 0 0 0 10 0 0 0 1

0 0 0 0 0

0 0 0 0 1 0 0 0 0 1

No

fau

ltP

I1 s

-a-0

PI1

s-a

-1P

I2 s

-a-0

PI2

s-a

-1

PI2

s-a

-1 d

etec

ted

Parallel fault simulation of four PI faults is illustrated below.Fault PI2 s-a-1 is detected by the 00 test input.