78
EE141 1 VLSI Test Principles and Architectures Logic & Fault Simulati 1 中中中中中中中中中VLSI 中中中中中中中中中 中4中 中中中中中中中 中中中 中中中中中中中中中中 Email: [email protected] http://test.ict.ac.cn

中科院研究生院课程: VLSI 测试与可 测试 性设计

  • Upload
    tuan

  • View
    216

  • Download
    7

Embed Size (px)

DESCRIPTION

中科院研究生院课程: VLSI 测试与可 测试 性设计. 第 4 讲 逻辑与故障模拟 李晓维 中科院计算技术研究所 Email: [email protected] http://test.ict.ac.cn. Chapter 3. Logic and Fault Simulation. About the Chapter. Circuit simulation models Logic simulation techniques Fault simulation techniques. Logic and Fault Simulation. Introduction - PowerPoint PPT Presentation

Citation preview

Page 1: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE1411

VLSI Test Principles and Architectures Logic & Fault Simulation1

中科院研究生院课程: VLSI测试与可测试性设计

第 4讲 逻辑与故障模拟李晓维

中科院计算技术研究所Email: [email protected]

http://test.ict.ac.cn

Page 2: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE1412

VLSI Test Principles and Architectures Logic & Fault Simulation2

Chapter 3Chapter 3

Logic and Fault SimulationLogic and Fault Simulation

Page 3: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE1413

VLSI Test Principles and Architectures Logic & Fault Simulation3

About the ChapterAbout the Chapter

Circuit simulation models

Logic simulation techniques

Fault simulation techniques

Page 4: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE1414

VLSI Test Principles and Architectures Logic & Fault Simulation4

Logic and Fault SimulationLogic and Fault Simulation Introduction Simulation models Logic simulation Fault simulation Concluding remarks

Page 5: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE1415

VLSI Test Principles and Architectures Logic & Fault Simulation5

Predict the behavior of a design prior to its physical realization

Design verification

Logic SimulationLogic Simulation

Specification

Circuit Description

Simulated Responses

Input Stimuli Expected Responses

Manual design or via Synthesis

Testbench Development

Response Analysis

Bug?

Next Design Stage

yes

no

Page 6: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE1416

VLSI Test Principles and Architectures Logic & Fault Simulation6

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 7: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE1417

VLSI Test Principles and Architectures Logic & Fault Simulation7

Logic and Fault SimulationLogic and Fault Simulation Introduction Simulation models Logic simulation Fault simulation Concluding remarks

Page 8: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE1418

VLSI Test Principles and Architectures Logic & Fault Simulation8

Gate-Level NetworkGate-Level Network The interconnections of logic gates

A

BC E F

J

L

H

K

G2

G4

G3G1

Page 9: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE1419

VLSI Test Principles and Architectures Logic & Fault Simulation9

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

clockFl

ip-F

lops

Page 10: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14110

VLSI Test Principles and Architectures Logic & Fault Simulation10

A Positive Edge-Triggered D-FFA Positive Edge-Triggered D-FF

PresetB

Clock

D

ClearB

Q

QB

PresetB

Clock

D

ClearB

Q

QBDFF

Page 11: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14111

VLSI Test Principles and Architectures Logic & Fault Simulation11

Example: A Full-AdderExample: A Full-Adder

HA; inputs: a, b;outputs: c, f;AND: A1, (a, b), (c);AND: A2, (d, e), (f);OR: O1, (a, b), (d);NOT: N1, (c), (e);

a

b

c

d

e

f HA

a

b

c

d

e

f HA

FA;inputs: A, B, C;outputs: Carry, Sum;HA: HA1, (A, B), (D, E);HA: HA2, (E, C), (F, Sum);OR: O2, (D, F), (Carry);

HA1HA2

AB C

D E F

Sum

Carry HA1HA2

AB C

D E F

Sum

Carry

Page 12: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14112

VLSI Test Principles and Architectures Logic & Fault Simulation12

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 13: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14113

VLSI Test Principles and Architectures Logic & Fault Simulation13

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 14: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14114

VLSI Test Principles and Architectures Logic & Fault Simulation14

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

BC u

u

uu

uK

G2 G4

G3G1

0

1

A

BC 0 or 1

0

1 or 00 or 1

0 or 1K

G2 G4

G3G1

0

1

Page 15: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14115

VLSI Test Principles and Architectures Logic & Fault Simulation15

High-Impedance State ZHigh-Impedance 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 1Z if ei 0

G1x1

e1

G2x2

e2

G3x3

e3

DFF

o1

o2

o3

pull-upor down

ResolutionFunction

y

Page 16: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14116

VLSI Test Principles and Architectures Logic & Fault Simulation16

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 17: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14117

VLSI Test Principles and Architectures Logic & Fault Simulation17

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 18: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14118

VLSI Test Principles and Architectures Logic & Fault Simulation18

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

BC

E J

H

K

G2

G4

G3G1

0 1 1 0

1 0 0 0

1 1 1 00 0 1 0

1 1 1 0

0 0 0 1

1 0 0 1

Page 19: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14119

VLSI Test Principles and Architectures Logic & Fault Simulation19

Timing ModelsTiming Models Transport delay Inertial delay Wire delay Function element delay model

Page 20: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14120

VLSI Test Principles and Architectures Logic & Fault Simulation20

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 delaydN = 2 ns

(b) Rise/fall delaydr = 2 nsdf = 1.5 ns

(c) Min-max delaydmin = 1 nsdmax = 2 ns

Page 21: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14121

VLSI Test Principles and Architectures Logic & Fault Simulation21

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 22: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14122

VLSI Test Principles and Architectures Logic & Fault Simulation22

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 23: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14123

VLSI Test Principles and Architectures Logic & Fault Simulation23

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 24: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14124

VLSI Test Principles and Architectures Logic & Fault Simulation24

Modeling LevelsModeling LevelsCircuitdescription

Programminglanguage-like HDL

Connectivity ofBoolean gates,flip-flops andtransistorsTransistor sizeand connectivity,node capacitances

Transistor technologydata, connectivity,node capacitances

Tech. Data, active/passive componentconnectivity

Signalvalues

0, 1

0, 1, Xand Z

0, 1and X

Analogvoltage

Analogvoltage,current

Timing

Clockboundary

Zero-delayunit-delay,multiple-delay

Zero-delay

Fine-graintiming

Continuoustime

Modelinglevel

Function,behavior, RTL

Logic

Switch

Timing

Circuit

Application

Architecturaland functionalverificationLogicverificationand test

Logicverification

Timingverification

Digital timingand analogcircuitverification

Page 25: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14125

VLSI Test Principles and Architectures Logic & Fault Simulation25

Logic and Fault SimulationLogic and Fault Simulation Introduction Simulation models Logic simulation Fault simulation Concluding remarks

Page 26: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14126

VLSI Test Principles and Architectures Logic & Fault Simulation26

Compiled Code SimulationCompiled Code Simulation

Translate the logic

network into a series of

machine instructions that

model the gate functions

and interconnectionsyes

no

start

read in next input vector v

next vector

?

run compiled code with input v in host

machine

output simulation results

end

Page 27: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14127

VLSI Test Principles and Architectures Logic & Fault Simulation27

Logic OptimizationLogic Optimization Enhance the simulation efficiency

AB

1 AB

A

A1

A

0

A A

AA

before optimization after optimization

(a)

(b)

(c)

(d)

(e)

Page 28: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14128

VLSI Test Principles and Architectures Logic & Fault Simulation28

Event-Driven SimulationEvent-Driven 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

BC E: 1 J: 0

H: 0 1

K: 1 0

G2

G4

G3G1

0 1

0 1

1

Page 29: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14129

VLSI Test Principles and Architectures Logic & Fault Simulation29

Zero-Delay Event-Driven SimulationZero-Delay Event-Driven Simulation Gates with events at their inputs are places in the

event queue Qstart

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

noyes

no

Page 30: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14130

VLSI Test Principles and Architectures Logic & Fault Simulation30

Nominal-Delay Event-Driven SimulationNominal-Delay Event-Driven 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 31: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14131

VLSI Test Principles and Architectures Logic & Fault Simulation31

Two-Pass Event-Driven SimulationTwo-Pass Event-Driven Simulationstart

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 32: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14132

VLSI Test Principles and Architectures Logic & Fault Simulation32

Event-Driven Algorithm (Example)Event-Driven Algorithm (Example)

2

2

4

2

a =1

b =1

c =1 0

d = 0

e =1

f =0

g =1

Time, t0 4 8g

t = 0

1

2

3

4

5

6

7

8

Scheduledevents

c = 0

d = 1, e = 0

g = 0

f = 1

g = 1

Activitylist

d, e

f, g

g

Tim

e st

ack

Page 33: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14133

VLSI Test Principles and Architectures Logic & Fault Simulation33

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

BC

KG2 G4

G3G1E J

H

Page 34: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14134

VLSI Test Principles and Architectures Logic & Fault Simulation34

Compiled-Code vs. Event-Driven SimulationCompiled-Code vs. Event-Driven 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 35: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14135

VLSI Test Principles and Architectures Logic & Fault Simulation35

Logic and Fault SimulationLogic and Fault Simulation Introduction Simulation models Logic simulation Fault simulation Concluding remarks

Page 36: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14136

VLSI Test Principles and Architectures Logic & Fault Simulation36

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 37: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14137

VLSI Test Principles and Architectures Logic & Fault Simulation37

IntroductionIntroduction What is fault simulation?

Given– A circuit– A set of test patterns– A fault model

Determine– Faulty outputs– Undetected faults– Fault coverage

Page 38: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14138

VLSI Test Principles and Architectures Logic & Fault Simulation38

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 39: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14139

VLSI Test Principles and Architectures Logic & Fault Simulation39

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 40: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14140

VLSI Test Principles and Architectures Logic & Fault Simulation40

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?

Serial Fault SimulationSerial Fault Simulation

Page 41: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14141

VLSI Test Principles and Architectures Logic & Fault Simulation41

Algorithm FlowAlgorithm Flowstart

F collapsed fault list

yes

no next fault?

fault-free simulation for all patterns

1. get next fault f from F2. reset pattern counter

delete f from F

1. get next pattern p2. fault simulation for p

mis-match

?

end

next pattern

? yes

no

yesno

Page 42: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14142

VLSI Test Principles and Architectures Logic & Fault Simulation42

ExampleExample

Pat. # Input Internal Output

A B C E F L J H Kgood Kf Kg

P1 0 1 0 1 1 1 0 0 1 0 1P2 0 0 1 1 1 1 0 0 1 0 1

P3 1 0 0 0 0 0 1 0 0 0 1

A

BC E F J

L

H

K

G2

G4

G3G1

g: J stuck-at 0

f: A stuck-at 1

Page 43: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14143

VLSI Test Principles and Architectures Logic & Fault Simulation43

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 44: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14144

VLSI Test Principles and Architectures Logic & Fault Simulation44

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 45: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14145

VLSI Test Principles and Architectures Logic & Fault Simulation45

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 46: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14146

VLSI Test Principles and Architectures Logic & Fault Simulation46

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 47: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14147

VLSI Test Principles and Architectures Logic & Fault Simulation47

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 circuitBit 1: circuit with c s-a-0

Bit 2: circuit with f s-a-1

Parallel Fault SimulationParallel Fault Simulation

Page 48: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14148

VLSI Test Principles and Architectures Logic & Fault Simulation48

Fault InjectionFault InjectionA

BC E F J

L

H

K

G2

G4

G3G1

g: J stuck-at 0

f: A stuck-at 1

A

BC E F

J

L

H

K

G2

G4

G3G1 Gg

Gf0 1 0

0 1 0

Page 49: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14149

VLSI Test Principles and Architectures Logic & Fault Simulation49

ExampleExample

Pat #Input Internal Output

A Af B C E F L J Jg H K

P1

FF 0 0 1 0 1 1 1 0 0 0 1

f 0 1 1 0 1 1 1 0 0 1 0

g 0 0 1 0 1 1 1 0 0 0 1

P2

FF 0 0 0 1 1 1 1 0 0 0 1

f 0 1 0 1 1 1 1 0 0 1 0

g 0 0 0 1 1 1 1 0 0 0 1

P3

FF 1 1 0 0 0 0 0 1 1 0 0

f 1 1 0 0 0 0 0 1 1 0 0

g 1 1 0 0 0 0 0 1 0 0 1

Page 50: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14150

VLSI Test Principles and Architectures Logic & Fault Simulation50

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 51: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14151

VLSI Test Principles and Architectures Logic & Fault Simulation51

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 52: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14152

VLSI Test Principles and Architectures Logic & Fault Simulation52

Algorithm FlowAlgorithm Flowstart

F collapsed fault list

yes

no new w patterns

?

1. apply next w patterns2. Ogood good circuit outputs

delete f from F1. remove last fault2. 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 53: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14153

VLSI Test Principles and Architectures Logic & Fault Simulation53

ExampleExample

Input Internal Output

A B C E F L J H K

Fault Free

P1 0 1 0 1 1 1 0 0 1

P2 0 0 1 1 1 1 0 0 1

P3 1 0 0 0 0 0 1 0 0

f

P1 1 1 0 1 1 1 0 1 0

P2 1 0 1 1 1 1 0 1 0

P3 1 0 0 0 0 0 1 0 0

g

P1 0 1 0 1 1 1 0 0 1

P2 0 0 1 1 1 1 0 0 1

P3 1 0 0 0 0 0 0 0 1

A

BC E F J

L

H

K

G2

G4

G3G1

g: J stuck-at 0

f: A stuck-at 1

Page 54: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14154

VLSI Test Principles and Architectures Logic & Fault Simulation54

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 55: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14155

VLSI Test Principles and Architectures Logic & Fault Simulation55

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 56: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14156

VLSI Test Principles and Architectures Logic & Fault Simulation56

Fault List Propagation RulesFault List Propagation Rules

All gate inputs hold non-controlling value

At least one input holds controlling value

Lz jI

L j

{z /(c i) }

Lz [( jS

L j ) ( jI S

L j )]{z /c i'}

c i

AND 0 0

OR 1 0

NAND 0 1

NOR 1 1

c : controlling valuei : inversion valueI : set of gate inputsz : gate outputS : inputs holding controlling value

(3.1)

(3.2)

Page 57: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14157

VLSI Test Principles and Architectures Logic & Fault Simulation57

Algorithm FlowAlgorithm Flow

start

F collapsed fault list

yes

no next pattern?end

apply next pattern

1. fault-free simulation2. propagate fault list

delete detected faults from F

F empty? end

yesno

Page 58: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14158

VLSI Test Principles and Architectures Logic & Fault Simulation58

ExampleExample P1

0/KLLL JHK by Eq. (3.1)

A

BC 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 59: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14159

VLSI Test Principles and Architectures Logic & Fault Simulation59

Example (cont’d)Example (cont’d) P2

A

BC 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 60: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14160

VLSI Test Principles and Architectures Logic & Fault Simulation60

Example (cont’d)Example (cont’d) P3

LK (LJ LH ) K /1 by Eq. (3.2)

LC = {C/1}

A

BC 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 61: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14161

VLSI Test Principles and Architectures Logic & Fault Simulation61

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 62: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14162

VLSI Test Principles and Architectures Logic & Fault Simulation62

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 63: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14163

VLSI Test Principles and Architectures Logic & Fault Simulation63

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 64: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14164

VLSI Test Principles and Architectures Logic & Fault Simulation64

Algorithm FlowAlgorithm Flow start

F collapsed fault list

yes

nonext pattern? end

apply next pattern

1. analyze events at gate inputs2. execute events3. compute events at gate outputs

delete detected faults from F

F empty?end

yes

no

more events?

yes

no

Page 65: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14165

VLSI Test Principles and Architectures Logic & Fault Simulation65

ExampleExample P1

Page 66: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14166

VLSI Test Principles and Architectures Logic & Fault Simulation66

Example (cont’d)Example (cont’d) P2

Page 67: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14167

VLSI Test Principles and Architectures Logic & Fault Simulation67

Example (cont’d)Example (cont’d) P3

Page 68: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14168

VLSI Test Principles and Architectures Logic & Fault Simulation68

Pro and ConPro and Con

Advantages Efficient

Disadvantages Potential memory problem

– Size of the concurrent fault list changes at run time

Page 69: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14169

VLSI Test Principles and Architectures Logic & Fault Simulation69

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 70: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14170

VLSI Test Principles and Architectures Logic & Fault Simulation70

Fault Detection (cont’d)Fault Detection (cont’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 71: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14171

VLSI Test Principles and Architectures Logic & Fault Simulation71

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 fault

simulation 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 72: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14172

VLSI Test Principles and Architectures Logic & Fault Simulation72

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 73: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14173

VLSI Test Principles and Architectures Logic & Fault Simulation73

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 74: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14174

VLSI Test Principles and Architectures Logic & Fault Simulation74

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 75: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14175

VLSI Test Principles and Architectures Logic & Fault Simulation75

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 76: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14176

VLSI Test Principles and Architectures Logic & Fault Simulation76

Logic and Fault SimulationLogic and Fault Simulation Introduction Simulation models Logic simulation Fault simulation Concluding remarks

Page 77: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14177

VLSI Test Principles and Architectures Logic & Fault Simulation77

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

Page 78: 中科院研究生院课程: VLSI 测试与可 测试 性设计

EE14178

VLSI Test Principles and Architectures Logic & Fault Simulation78

中科院研究生院课程: VLSI测试与可测试性设计

下次课预告时间: 2007 年 10 月 15 日(周一 7:00pm )

地点: S106 室内容:测试生成 (1)

教材: VLSI TEST PRINCIPLES AND ARCHITECTURES

Chapter 4 Test Generation