97
EE141 1 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 1 Chapter 3 Chapter 3 Logic and Fault Simulation Logic and Fault Simulation

Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

Embed Size (px)

Citation preview

Page 1: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

1

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 1

Chapter 3Chapter 3

Logic and Fault SimulationLogic and Fault Simulation

Page 2: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

2

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2

About the ChapterAbout the Chapter

� Circuit simulation models

� Logic simulation techniques

� Fault simulation techniques

Page 3: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

3

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 3

Logic and Fault SimulationLogic and Fault Simulation

� Introduction

� Simulation models

� Logic simulation

� Fault simulation

� Concluding remarks

Page 4: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

4

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 4

� Predict the behavior of a design prior to its physical realization

� Design verification

Logic SimulationLogic Simulation

Specification

Circuit

Description

Simulated

Responses

Input StimuliExpected

Responses

Manual design or

via Synthesis

Testbench

Development

Response

Analysis

Bug?

Next Design

Stage

yes

no

Page 5: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

5

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 5

Fault SimulationFault Simulation

� Predicts the behavior of faulty circuits

� As a consequence of inevitable fabrication

process imperfections

� An important tool for test and diagnosis

� Estimate fault coverage

� Fault simulator

� Test compaction

� Fault diagnosis

Page 6: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

6

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 6

Logic and Fault SimulationLogic and Fault Simulation

� Introduction

� Simulation models

� Logic simulation

� Fault simulation

� Concluding remarks

Page 7: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

7

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 7

GateGate--Level NetworkLevel Network

� The interconnections of logic gates

A

B

C E F

J

L

H

K

G2

G4

G3G1

Page 8: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

8

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 8

Sequential CircuitsSequential Circuits

� The outputs depend on both the current and

past input values

xi: primary input (PI)

zi: primary output (PO)

yi: pseudo primary input (PPI)

Yi: pseudo primary output (PPO)

Combinational

Logic

x1

x2

xn

z1

z2

zm

Y1

Y2

Yl

y1

y2

yl

clock

Flip

-Flo

ps

Page 9: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

9

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 9

A Positive EdgeA Positive Edge--Triggered DTriggered D--FFFF

PresetB

Clock

D

ClearB

Q

QB

PresetB

Clock

D

ClearB

Q

QB

DFF

Page 10: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

10

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 10

Logic SymbolsLogic Symbols

� The most commonly used are 0, 1, u and Z

� 1 and 0

� true and false of the two-value Boolean algebra

� u

� Unknown logic state (maybe 1 or 0)

� Z

� High-impedance state

� Not connected to Vdd or ground

Page 11: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

11

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 11

Ternary LogicTernary Logic

� Three logic symbols: 0, 1, and u

AND 0 1 u OR 0 1 u NOT 0 1 u

0 0 0 0 0 0 1 u 1 0 u 1 0 1 u 1 1 1 1 u 0 u u u u 1 u

Page 12: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

12

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 12

Information Loss of Ternary LogicInformation Loss of Ternary Logic

� Simulation based on ternary logic is pessimistic

� A signal may be reported as unknown when its value

can be uniquely determined as 0 or 1

A

B

C u

u

uu

u

KG2

G4

G3G1

0

1

A

B

C 0 or 1

0

1 or 00 or 1

0 or 1

KG2

G4

G3G1

0

1

Page 13: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

13

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 13

HighHigh--Impedance State ZImpedance State Z

� Tri-state gates permit several gates to time-share a common wire, called bus

� A signal is in high-impedance state if it is connected to neither Vdd nor ground

oi =xi if ei = 1

Z if ei = 0

G1x1

e1

G2x2

e2

G3x3

e3

DFF

o1

o2

o3

pull-up

or down

Resolution

Function

y

Page 14: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

14

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 14

Resolving Bus ConflictResolving Bus Conflict

� Bus conflict occurs if at least two drivers drive

the bus to opposite binary values

� To simulate tri-state bus behavior, one may

insert a resolution function for each bus wire

� May report only the occurrence of bus conflict

� May utilize multi-valued logic to represent

intermediate logic states (including logic signal

values and strengths)

Page 15: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

15

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 15

Logic Element Evaluation MethodsLogic Element Evaluation Methods

� Choice of evaluation technique depends on

� Considered logic symbols

� Types and models of logic elements

� Commonly used approaches

� Truth table based

� Input scanning

� Input counting

� Parallel gate evaluation

Page 16: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

16

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 16

Truth Table Based Gate EvaluationTruth Table Based Gate Evaluation

� The most straightforward and easy to implement� For binary logic, 2n entries for n-input logic

element

� May use the input value as table index

� Table size increases exponentially with the number of inputs

� Could be inefficient for multi-valued logic� A k-symbol logic system requires a table of 2mn

entries for an n-input logic element– m = log2k

– Table indexed by mn-bit words

Page 17: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

17

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 17

Input ScanningInput Scanning

� The gate output can be determined by the

types of inputs

� If any of the inputs is the controlling value, the

gate output is c⊕i

� Otherwise, if any of the inputs is u, the gate output

is u

� Otherwise, the gate output is c'⊕i

Table 3.2: The c (controlling) and i (inversion) values of basic gates

c i

AND 0 0 OR 1 0 NAND 0 1 NOR 1 1

Page 18: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

18

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 18

Input Scanning Input Scanning -- contcont’’dd

yes

no

Start

u_in ← false

Next

input?

v ← next inputu_in ← true

v == u? v == c?

return c’⊕i

return u

return c⊕i

u_in is

true?

yes

no

yesno

yes

no

Page 19: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

19

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 19

Input CountingInput Counting

� Keep the counts of controlling and unknown

inputs

� c_count: the number of controlling inputs

� u_count: the number of unknown inputs

� Update counts during logic simulation

� Example:One input of a NAND switches from 0 to u

– c_count --

– u_count ++

� Same rules as input scanning used to

evaluate gate outputs

Page 20: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

20

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 20

Parallel Gate EvaluationParallel Gate Evaluation

� Exploit the inherent concurrency in the host computer

� A 32-bit computer can perform 32 logic operations in parallel

A

B

C

E J

H

K

G2

G4

G3G1

0 1 1 0

1 0 0 0

1 1 1 0

0 0 1 0

1 1 1 0

0 0 0 1

1 0 0 1

Page 21: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

21

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 21

MultiMulti--Valued Parallel Gate EvaluationValued Parallel Gate Evaluation

� Use ternary logic as example

� Assume

– w-bit wide word

– Symbol encoding: v0 = (00), v1 = (11), vu = (01)

� Associate with each signal X two words, X1 and X2

– X1 stores the first bits and X2 the second bits of the wcopies of the same signal

� AND and OR operations are realized by applying the same bitwise operations to both words

– C = OR(A,B) ==> C1 = OR(A1,B1) and C2 = OR(A2,B2)

� Complement requires inversion

– C = NOT(A) ==> C1 = NOT(A2) and C2 = NOT(A1)

Page 22: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

22

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 22

Timing ModelsTiming Models

� Transport delay

� Inertial delay

� Wire delay

� Function element delay model

Page 23: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

23

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 23

Transport DelayTransport Delay

� The time duration it takes for the effect of gate input changes to appear at gate outputs

A

AG

B=1F

1 2

F

A

F

A

F

1.51

2

2

1.5 12

12

(a) Nominal delay

dN = 2 ns

(b) Rise/fall delay

dr = 2 ns

df = 1.5 ns

(c) Min-max delay

dmin = 1 ns

dmax = 2 ns

Page 24: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

24

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 24

Inertial DelayInertial Delay

� The minimum input pulse duration necessary for the output to switch states

AG

B=1F dI = 1.5 ns, dN = 3 ns

A 1

F

A 2

F 3 2

3

(a) Pulse duration less than dI

(b) Pulse duration longer than dI

Page 25: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

25

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 25

Wire DelayWire Delay

� Wires are inherently resistive and capacitive

� It takes finite time for a signal to propagate along a

wire

p q

da-b

da-c

da-d

a

b

c

d

Page 26: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

26

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 26

Functional Element Delay ModelFunctional Element Delay Model

� For more complicated functional elements like flip-flops

Table 3.3: The D flip-flop I/O delay model

Input condition Present

state Outputs Delays (ns)

D Clock PresetB ClearB q Q QB to Q to QB Comments X X ↓ 0 0 ↑ ↓ 1.6 1.8 Asynchronous preset X X 0 ↓ 1 ↓ ↑ 1.8 1.6 Asynchronous clear 1 ↑ 0 0 0 ↑ ↓ 2 3 Q: 0→1 0 ↑ 0 0 1 ↓ ↑ 3 2 Q: 1→0

X Š indicates donÕt care

Page 27: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

27

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 27

Logic and Fault SimulationLogic and Fault Simulation

� Introduction

� Simulation models

� Logic simulation

� Fault simulation

� Concluding remarks

Page 28: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

28

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 28

Compiled Code SimulationCompiled Code Simulation

� Translate the logic

network into a series of

machine instructions that

model the gate functions

and interconnections

yes

no

start

read in next input

vector v

next

vector?

run compiled code

with input v in host

machine

output simulation

results

end

Page 29: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

29

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 29

Compiled Code Generation FlowCompiled Code Generation Flow

gate-level

description

compiled

code

logic optimization

logic levelization

code generation

Page 30: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

30

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 30

Logic OptimizationLogic Optimization

� Enhance the simulation efficiency

AB

1 A

B

A

A

1

A

0

A A

AA

before optimization after optimization

(a)

(b)

(c)

(d)

(e)

Page 31: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

31

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 31

Logic Logic LevelizationLevelization� Determine the order of gate evaluations

yesno

start

assign level 0 to

all PI’s

put all PI fanout

gates in Q

pop next gate g

from Q

Q

empty?

end append g to Qready to

levelize g?

append g’s fanout

gates to Q

1. l = maximum of

g’s driving gate

levels

2. assign l+1 to g

yes

no

Page 32: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

32

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 32

ExampleExample

� The following orders are produced

� G1 => G2 => G3 => G4

� G1 => G3 => G2 => G4

Table 3.4: The levelization process of circuit step A B C G1 G2 G3 G4 Q

0 0 0 0 <G2, G1> 1 0 0 0 <G1, G2> 2 0 0 0 1 <G2, G3> 3 0 0 0 1 2 <G3, G4> 4 0 0 0 1 2 2 <G4> 5 0 0 0 1 2 2 3 < >

A

B

C

KG2

G4

G3G1

Page 33: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

33

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 33

Code GenerationCode Generation

� High-level programming language source

code

� Easier to debug

� Can be ported to any target machine that has the compiler

� Limited in applications due to long compilation times

� Native machine code

� Generate the target machine code directly

� Higher simulation efficiency

� Not as portable

Page 34: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

34

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 34

Code Generation Code Generation -- contcont’’dd

� Interpreted code

� The target machine is a software emulator

� The codes are interpreted and executed one at a

time

� Best portability and maintainability

� Reduced performance

Page 35: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

35

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 35

EventEvent--Driven SimulationDriven Simulation

� Event: the switching of a signal’s value

� An event-driven simulator monitors the occurrences

of events to determine which gates to evaluate

A

B

C E: 1 J: 0

H: 0 → 1

K: 1 → 0

G2

G4

G3G1

0 → 1

0 → 1

1

Page 36: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

36

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 36

ZeroZero--Delay EventDelay Event--Driven SimulationDriven Simulation

� Gates with events at their inputs are places in the event queue Q

start

read in initial

condition

next

vector?end

yesno

read in new input

vector

put active Pis’

fanout gates in Q

Q

empty?

output

change?

put g’s fanout

gates in Q

evaluate next gate

g from Q

yes

no

yes

no

Page 37: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

37

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 37

NominalNominal--Delay EventDelay Event--Driven SimulationDriven Simulation

� Need a smarter scheduler than the event queue

� Not only which gates but also when to evaluate

t0

t1

ti

p, vp+

q, vq+ r, vr

+ s, vs+

w, vw+

Page 38: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

38

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 38

TwoTwo--Pass EventPass Event--Driven SimulationDriven Simulation

start

get next time

stamp t

end

yes

no Next time

stamp?

LE

empty?

retrieve current

event list LE

get next event

(g, vg+) from LE

vg+==vg?

1. vg ← vg+

2. append g’s

fanout gates to

activity list LA

LA

empty?

get next gate g

from LA

evaluate g and

schedule (g, vg+)

at t+delay(g)

yes

no

yes

no

yes

no

Page 39: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

39

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 39

ExampleExample

Table 3.5: Two-pass event-driven simulation Time LE LA Scheduled events 0 {(A,1)} {G2} {(H,1,8)} 2 {(C,0)} {G1} {(E,1,10)} 4 {(B,0)} {G1} {(E,0,12)} 8 {(A,0),(H,1)} {G2,G4} {(H,0,16),(K,0,14)} 10 {(E,1)} 12 {(E,0)} { G2,G3} {(H,0,20),(J,1,16)} 14 {(K,0)} 16 {(H,0),(J,1)} {G4} {(K,0,22)} 20 {(H,0)} 22 {(K,0)}

A

B

C

KG2

G4

G3G1

E J

H

Page 40: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

40

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 40

Example Example -- contcont’’dd

0 2 4 6 8 10 12 14 16 18 20 22 24

A

B

C

E

H

J

K

Page 41: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

41

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 41

CompiledCompiled--Code vs. EventCode vs. Event--Driven SimulationDriven Simulation

� Compiled-code

� Cycle-based simulation

� High switching activity circuits

� Parallel simulation

� Limited by compilation times

� Event-driven

� Implementing gate delays and detecting hazards

� Low switching activity circuits

� More complicated memory management

Page 42: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

42

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 42

HazardsHazards

� Unwanted transient pulses or glitches

A

B

C

KG2

G4

G3G1

E J

H

0 1 2 3 4 5 6 7 8 9 10 11 12

A

B

C

E

H

J

K

Page 43: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

43

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 43

Types of HazardsTypes of Hazards

� Static or dynamic

� A static hazard refers to the transient pulse on a signal line whose static value does not change

� A dynamic hazard refers to the transient pulse during a 0-to-1 or 1-to-0 transition

� 1 or 0

Static 1-hazard Static 0-hazard Dynamic 1-hazard Dynamic 0-hazard

Page 44: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

44

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 44

Static Hazard DetectionStatic Hazard Detection

� Let and be two

consecutive input vectors

� Add a new vector according to

the following rule

� Simulate the V1V+V2 sequence using ternary

logic

� Any signal that is 1u1 or 0u0 indicates the

possibility of a static hazard.

V1 = v1

1v2

1Lvn

1 V

2 = v12v2

2Lvn

2

V+ = v1

+v2

+Lvn

+

v i

+ =v i

1 if v i

1 = v i

2

u if v i

1 ≠ v i

2

Page 45: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

45

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 45

MultiMulti--Valued Logic for Hazard DetectionValued Logic for Hazard Detection

� 6-valued logic for static hazard detection

� 8-valued logic for dynamic hazard detection

� Worst case analysis

Table 3.6: Multi-valued logic for hazard detection Symbol Interpretation 6-valued logic 8-valued logic 0 Static 0 {000} {0000} 1 Static 1 {111} {1111} R Rise transition {001,011}=0u1 {0001,0011,0111} F Fall transition {100,110}=1u0 {1110,1100,1000} 0* Static 0-hazard {000,010}=0u0 {0000,0100,0010,0110} 1* Static 1-hazard {111,101}=1u1 {1111,1011,1101,1001} R* Dynamic 1-hazard {0001,0011,0101,0111} F* Dynamic 0-hazard {1000,1010,1100,1110}

Page 46: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

46

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 46

Logic and Fault SimulationLogic and Fault Simulation

� Introduction

� Simulation models

� Logic simulation

� Fault simulation

� Concluding remarks

Page 47: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

47

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 47

Fault SimulationFault Simulation

� Introduction

� Serial Fault Simulation

� Parallel Fault Simulation

� Deductive Fault Simulation

� Concurrent Fault Simulation

� Differential Fault Simulation

� Fault Detection

� Comparison of Fault Simulation Techniques

� Alternative to Fault Simulation

� Conclusion

Page 48: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

48

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 48

IntroductionIntroduction

� What is fault simulation?

� Given

– A circuit

– A set of test patterns

– A fault model

� Determine

– Faulty outputs

– Undetected faults

– Fault coverage

Page 49: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

49

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 49

Time ComplexityTime Complexity

� Proportional to

� n: Circuit size, number of logic gates

� p: Number of test patterns

� f : Number of modeled faults

� Since f is roughly proportional to n, the overall

time complexity is O(pn2)

Page 50: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

50

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 50

Serial Fault SimulationSerial Fault Simulation

� First, perform fault-free logic simulation on the

original circuit

� Good (fault-free) response

� For each fault, perform fault injection and

logic simulation

� Faulty circuit response

Page 51: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

51

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 51

Algorithm FlowAlgorithm Flowstart

F ← collapsed fault list

yes

no next

fault?

fault-free simulation for

all patterns

1. get next fault f from F

2. reset pattern counter

delete f from F

1. get next pattern p

2. fault simulation for p

mis-

match?

end

next

pattern?yes

no

yesno

Page 52: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

52

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 52

ExampleExample

10001000001P3

10100111100P2

10100111010P1

KgKfKgoodHJLFECBA

OutputInternalInputPat. #

A

B

C E F J

L

H

K

G2

G4

G3G1

g: J stuck-at 0

f: A stuck-at 1

Page 53: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

53

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 53

Fault DroppingFault Dropping

� Halting simulation of the detected fault

� Example

� Suppose we are to simulate P1, P2, P3 in order

� Fault f is detected by P1

� Do not simulate f for P2, P3

� For fault grading

� Most faults are detected after relatively few test

patterns have been applied

� For fault diagnosis

� Avoided to obtain the entire fault simulation results

Page 54: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

54

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 54

Pro and ConPro and Con

� Advantages

� Easy to implement

� Ability to handle a wide range of fault models

(stuck-at, delay, Br, …)

� Disadvantages

� Very slow

Page 55: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

55

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 55

Parallel Fault SimulationParallel Fault Simulation

� Exploit the inherent parallelism of bitwise

operations

� Parallel fault simulation [Seshu 1965]

� Parallel in faults

� Parallel pattern fault simulation [Waicukauski

1986]

� Parallel in patterns

Page 56: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

56

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 56

Parallel Fault SimulationParallel Fault Simulation

� Assumption

� Use binary logic: one bit is enough to store logic

signal

� Use w-bit wide data word

� Parallel simulation

� w-1 bit for faulty circuits

� 1 bit for fault-free circuit

� Process faulty and fault-free circuit in parallel

using bitwise logic operations

Page 57: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

57

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 57

Fault InjectionFault Injection

A

B

C E F J

L

H

K

G2

G4

G3G1

g: J stuck-at 0

f: A stuck-at 1

A

B

C E F

J

L

H

K

G2

G4

G3G1Gg

Gf0 1 0

0 1 0

Page 58: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

58

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 58

ExampleExample

10010000011g

00110000011f

00110000011FF

P3

10001111000g

01001111010f

10001111000FF

P2

10001110100g

01001110110f

10001110100FF

P1

KHJgJLFECBAfA

OutputInternalInput

Pat #

Page 59: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

59

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 59

Pro and ConPro and Con

� Advantages

� A large number of faults are detected by each

pattern when simulating the beginning of test

sequence

� Disadvantages

� Only applicable to the unit or zero delay models

� Faults cannot be dropped unless all (w-1) faults

are detected

Page 60: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

60

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 60

Parallel Pattern Fault SimulationParallel Pattern Fault Simulation

� Parallel pattern single fault propagation

(PPSFP)

� Parallel pattern

� With a w-bit data width, w test patterns are packed

into a word and simulated for the fault-free or

faulty circuit

� Single fault

� First, fault-free simulation

� Next, for each fault, fault injection and faulty circuit

simulation

Page 61: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

61

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 61

Algorithm FlowAlgorithm Flowstart

F ← collapsed fault list

yes

no new w

patterns?

1. apply next w patterns

2. Ogood ← good circuit outputs

delete f from F

1. remove last fault

2. inject fault f

Of == Ogood?

end

next

fault?

F

empty?

endget next fault f from F

Of ← faulty circuit outputs of w patterns

yes yes

yes

no

no

Page 62: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

62

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 62

ExampleExample

100000001P3

100111100P2

100111010P1

g

001000001P3

010111101P2

010111011P1

f

001000001P3

100111100P2

100111010P1

Fault

Free

KHJLFECBA

OutputInternalInput

A

B

C E F J

L

H

K

G2

G4

G3G1

g: J stuck-at 0

f: A stuck-at 1

Page 63: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

63

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 63

Pro and ConPro and Con

� Advantages

� Fault is dropped as soon as detected

� Best for simulating test patterns that come later,

where fault dropping rate per pattern is lower

� Disadvantages

� Not suitable for sequential circuits

Page 64: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

64

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 64

Deductive Fault SimulationDeductive Fault Simulation

� [Armstrong 1972]

� Based on logic reasoning rather than

simulation

� Fault list attached with signal x denoted as Lx

� Set of faults causing x to differ from its fault-free

value

� Fault list propagation

� Derive the fault list of a gate output from those of

the gate inputs based on logic reasoning

Page 65: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

65

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 65

Fault List Propagation RulesFault List Propagation Rules

� All gate inputs hold non-controlling value

� At least one input holds controlling value

Lz = ∪j ∈I

L j

∪{z /(c ⊕ i) }

Lz = [( ∩j ∈S

L j ) − ( ∪j ∈I −S

L j )]∪{z /c ⊕ i'}

11NOR

10NAND

01OR

00AND

ic

c : controlling value

i : inversion value

I : set of gate inputs

z : gate output

S : inputs holding controlling value

(3.1)

(3.2)

Page 66: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

66

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 66

Algorithm FlowAlgorithm Flow

start

F ← collapsed fault list

yes

no next

pattern?end

apply next pattern

1. fault-free simulation

2. propagate fault list

delete detected faults

from FF empty? end

yes

no

Page 67: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

67

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 67

ExampleExample

� P1

{ }0/KLLL JHK ∪∪= by Eq. (3.1)

A

B

C E F J

L

H

K

G2

G4

G3G1

LA = {A/1}

0

1

0

LB = {B/0}

LC = {C/1}

1 1 0

0 1

{B/0, E/0, L/0}

1

{B/0, E/0} {B/0, E/0, F/0} {B/0, E/0, F/0, J/1}

{A/1, H/1}

{A/1, H/1, B/0,

E/0, F/0, J/1, K/0}

Page 68: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

68

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 68

Example (contExample (cont’’d)d)

� P2

A

B

C E F J

L

H

K

G2

G4

G3G1

0

0

1

LB = {B/1}

LC = {C/0}

1 1 0

0 1

{C/0}

1

{C/0} {C/0} {C/0}

{C/0}

Page 69: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

69

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 69

Example (contExample (cont’’d)d)

� P3

LK = (LJ − LH ) ∪ K /1{ } by Eq. (3.2)

LC = {C/1}

A

B

C E F J

L

H

K

G2

G4

G3G1

LA = {A/0}

1

0

0

LB = {B/1}

0 0 1

0 0

{B/1, E/1, L/1}

0

{B/1, C/1, E/1} {B/1, C/1, E/1, F/1} {B/1, C/1, E/1, F/0, J/0}

{B/1, C/1, E/1, L/1}

{F/1, J/0, K/1}

Page 70: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

70

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 70

Pro and ConPro and Con

� Advantages

� Very efficient

� Simulate all faults in one pass

� Disadvantages

� Not easy to handle unknowns

� Only for zero-delay timing model

� Potential memory management problem

Page 71: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

71

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 71

Concurrent Fault SimulationConcurrent Fault Simulation

� [Ulrich 1974]

� Simulate only differential parts of whole circuit

� Event-driven simulation with fault-free and

faulty circuits simulated altogether

� Concurrent fault list for each gate

� Consist of a set of bad gates

– Fault index & associated gate I/O values

� Initially only contains local faults

� Fault propagate from previous stage

Page 72: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

72

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 72

Good Event and Bad EventGood Event and Bad Event

� Good event� Events that happen in good circuit

� Affect both good gates and bad gates

� Bad event� Events that occur in the faulty circuit of

corresponding fault

� Affect only bad gates

� Diverge� Addition of new bad gates

� Converge� Removal of bad gates whose I/O signals are the

same as corresponding good gates

Page 73: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

73

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 73

Algorithm FlowAlgorithm Flow start

F ← collapsed fault list

yes

nonext

pattern?end

apply next pattern

1. analyze events at gate inputs

2. execute events

3. compute events at gate outputs

delete detected faults

from F

F

empty?end

yes

no

more

events?

yes

no

Page 74: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

74

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 74

ExampleExample

� P1

Page 75: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

75

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 75

Example (contExample (cont’’d)d)

� P2

Page 76: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

76

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 76

Example (contExample (cont’’d)d)

� P3

Page 77: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

77

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 77

Pro and ConPro and Con

� Advantages

� Efficient

� Disadvantages

� Potential memory problem

– Size of the concurrent fault list changes at run time

Page 78: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

78

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 78

Differential Fault SimulationDifferential Fault Simulation

� [Cheng 1989]

� Combines the merits of two techniques

� Concurrent fault simulation

� PPSFP

� Idea

� Simulate in turn every fault circuit

� Track only difference between faulty circuit and

last simulated one

� Inject differences as events

� Easily implemented by event-driven simulator

Page 79: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

79

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 79

Simulation SequenceSimulation Sequence

Fm,n…Fm,i+1Fm,i…Fm,2Fm,1fm

.…..…...

Fk+1,n…Fk+1,i+1Fk+1,i…Fk+1,2Fk+1,1fk+1

Fk,n…Fk,i+1Fk,i…Fk,2Fk,1fk

.…..…...

F2,n…F2,i+1F2,i…F2,2F2,1f2

F1,n…F1,i+1F1,i…F1,2F1,1f1

Gn…Gi+1Gi…G2G1Good

Pn…Pi+1Pi…P2P1

Page 80: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

80

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 80

Algorithm FlowAlgorithm Flowstart

F ← collapsed fault list

yes

no next

pattern?end

restore good circuit state

1. apply next pattern

2. Ogood ← good circuit outputs

next

fault?F empty?

end

1. restore faulty circuit state

2. remove last fault

3. inject fault f

4. Of ← fault circuit outputs5. store gate difference

get next fault f

Of == Ogood?

delete f from F

yes yes

yes

no

no

no

Page 81: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

81

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 81

Pro and ConPro and Con

� Advantages

� Suitable for sequential fault simulation

� Disadvantages

� Order of events caused by faulty sites is NOT the

same as the order of the timing of their occurrence

Page 82: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

82

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 82

Fault DetectionFault Detection

� Hard detected fault

� Outputs of fault-free and faulty circuit are different

– 1/0 or 0/1

– No unknowns, no Z

� Potentially detected fault

� Whether the fault is detected is unclear

� Example: stuck-at-0 on enable signal of tri-state

buffer

Page 83: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

83

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 83

Fault Detection (contFault Detection (cont’’d)d)

� Oscillation faults

� Cause circuit to oscillate

� Impossible to predict faulty circuit outputs

� Hyperactive faults

� Catastrophic fault effect

– Fault simulation is time and memory consuming

� Example: stuck-at fault on clock

� Usually counted as detected

– Save fault simulation time

Page 84: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

84

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 84

Comparison of Fault Simulation Techniques (1)Comparison of Fault Simulation Techniques (1)

� Speed� Serial fault simulation: slowest

� Parallel fault simulation: O(n3), n: num of gates

� Deductive fault simulation: O(n2)

� Concurrent fault is faster than deductive fault simulation

� Differential fault simulation: even faster than concurrent faultsimulation and PPSFP

� Memory usage� Serial fault simulation, parallel fault simulation: no problem

� Deductive fault simulation: dynamic allocate memory and hard to predict size

� Concurrent fault simulation: more severe than deductive fault simulation

� Differential fault simulation: less memory problem than concurrent fault simulation

Page 85: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

85

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 85

Comparison of Fault Simulation Techniques (2)Comparison of Fault Simulation Techniques (2)

� Multi-valued fault simulation to handle

unknown (X) and/or high-impedance (Z)

� Serial fault simulation, concurrent fault simulation,

differential fault simulation: easy to handle

� Parallel fault simulation: difficult

� Delay and functional modeling capability

� Serial fault simulation: no problem

� Parallel fault simulation, deductive fault simulation: not capable

� Concurrent fault simulation: capable

� Differential fault simulation: capable

Page 86: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

86

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 86

Comparison of Fault Simulation Techniques (3)Comparison of Fault Simulation Techniques (3)

� Sequential circuit

� Serial fault simulation, parallel fault simulation,

concurrent fault simulation, differential fault

simulation: no problem

� PPSFP: difficult

� Deductive fault simulation: difficult due to many

unknowns

Page 87: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

87

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 87

Comparison of Fault Simulation Techniques (4)Comparison of Fault Simulation Techniques (4)

� PPSFP and concurrent fault simulation are

popular for combinational (full-scan) circuits

� Differential fault simulation and concurrent

fault simulation is popular for sequential

circuits

� Multiple-pass fault simulation

� Prevent memory explosion problem

� Distributed fault simulation

� Reduce fault simulation time

Page 88: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

88

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 88

Alternative to Fault SimulationAlternative to Fault Simulation

� Toggle Coverage

� Fault Sampling

� Critical Path Tracing

� Statistical Fault Analysis

Page 89: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

89

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 89

Toggle CoverageToggle Coverage

� Popular for estimating fault grading

� Only one single fault-free simulation

� A net is toggled if� Relaxed def: its value has been set to zero and

one during fault-free simulation

� Stringent def: it has both a zero-to-one transition and a one-to-zero transition during fault-free simulation

� Toggle coverage

number of toggled nets

number of total nets in the circuit

Page 90: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

90

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 90

Fault SamplingFault Sampling

� [Butler 1974]

� Simulate only a sampled group of faults

� Error depends on two factors

� Sample size

� The sample is biased or not

Page 91: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

91

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 91

Critical Path TracingCritical Path Tracing

� [Abramovici 1984]

� Critical value

� For net x, stuck-at v’ can be detected by test

pattern t ↔ Net x has critical value v

� Critical path

� Path consisting of nets with critical value

� Special attention required for fanout

reconvergence

Page 92: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

92

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 92

ExampleExample

� P1

A

B

C E F J

L

H

K

G2

G4

G3G1

0

1

0

1 1

1

0

0

1

Page 93: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

93

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 93

Example (contExample (cont’’d)d)

� P3

A

B

C E F J

L

H

K

G2

G4

G3G1

1

0

0

0 0

0

0

1

0

Page 94: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

94

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 94

Statistical Fault Analysis (STAFAN)Statistical Fault Analysis (STAFAN)

� [Jain 1985]

� Use probability theory to estimate expected

value of fault coverage

� Detectability of fault f (df)

� 1-controllability, C1(x)

� 0-controllability, C0(x)

� Observability, O(x)

� Sensitization probability, S(x)

Page 95: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

95

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 95

SummarySummary

� Fault simulation is very important for

� ATPG

� Diagnosis

� Fault grading

� Popular techniques

� Serial, Parallel, Deductive, Concurrent, Differential

� Requirements for fault simulation

� Fast speed, efficient memory usage, modeling

functional blocks, sequential circuits

Page 96: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

96

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 96

Logic and Fault SimulationLogic and Fault Simulation

� Introduction

� Simulation models

� Logic simulation

� Fault simulation

� Concluding remarks

Page 97: Chapter 3 Logic and Fault Simulation - UBCcourses.ece.ubc.ca/578/notes3.pdf · EE141 2 VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 2 About the Chapter

EE141

97

VLSI Test Principles and Architectures Ch. 3 - Logic & Fault Simulation - P. 97

ConclusionsConclusions

� Logic and fault simulations, two fundamental

subjects in testing, are presented

� Into the nanometer age, advanced

techniques are required to address new

issues

� High performance

� High capacity

� New fault models