Notes3 PDF
Notes3 PDF
1
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 1
About the Chapter
2
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 2
Logic and Fault Simulation
Introduction
Simulation models
Logic simulation
Fault simulation
Concluding remarks
3
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 3
Logic Simulation
Predict the behavior of a design prior to its physical
realization
Specification
Design verification
Circuit Expected
Input Stimuli
Description Responses
yes Simulated
Responses
Bug?
no Response
Analysis
Next Design
Stage
4
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 4
Fault Simulation
Predicts the behavior of faulty circuits
As a consequence of inevitable fabrication
process imperfections
5
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 5
Logic and Fault Simulation
Introduction
Simulation models
Logic simulation
Fault simulation
Concluding remarks
6
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 6
Gate-Level Network
The interconnections of logic gates
A H
G2
G4 K
L
B J
G1 G3
C E F
7
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 7
Sequential Circuits
x1 z1
The outputs depend on x2 z2
both the current and Combinational
past input values xn Logic zm
y1 Y1
y2 Y2
xi: primary input (PI)
Flip-Flops
Yi: pseudo primary output (PPO)
clock
8
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 8
A Positive Edge-Triggered D-FF
PresetB
PresetB
Q
D Q
DFF
Clock QB
Clock QB
ClearB
ClearB
9
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 9
Logic 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
10
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 10
Ternary 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
11
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 11
Information 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
1
A u
G2 u
G4 K
u
B u
G1 G3
C u
0
1
A 0 or 1
G2 0
G4 K
0 or 1
B 1 or 0
G1 G3
C 0 or 1
0
12
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 12
High-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
xi if ei = 1
oi =
Z if ei = 0
e1
o1
x1 G1
pull-up
or down
e2
o2 y
x2 G2
DFF
Resolution
e3 Function
o3
x3 G3
13
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 13
Resolving 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)
14
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 14
Logic Element Evaluation Methods
Choice of evaluation technique depends on
Considered logic symbols
Types and models of logic elements
15
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 15
Truth 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
16
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 16
Input 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
17
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 17
Input Scanning - cont’d
Start
u_in ← false
Next no u_in is no
return c’⊕i
input? true?
yes yes
yes
no no yes
v == u? v == c? return c⊕i
18
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 18
Input 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
19
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 19
Parallel Gate Evaluation
Exploit the inherent concurrency in the host computer
A 32-bit computer can perform 32 logic operations in parallel
1 0 0 1
A 1 0 0 0
G2
H
G4 K
0 1 1 0
1 1 1 0
B E J
G1 G3
C 1 1 1 0 0 0 0 1
0 0 1 0
20
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 20
Multi-Valued 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 w
copies 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)
21
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 21
Timing Models
Transport delay
Inertial delay
Wire delay
Function element delay model
22
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 22
Transport Delay
The time duration it takes for the effect of gate input
changes to appear at gate outputs
A
G F
B=1
2
(c) Min-max delay A 1.5 1
dmin = 1 ns
F
dmax = 2 ns
1
2 23
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 23
Inertial Delay
The minimum input pulse duration necessary for the
output to switch states
A
G F dI = 1.5 ns, dN = 3 ns
B=1
A 1
F
A 2 3
F 3 2
24
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 24
Wire Delay
Wires are inherently resistive and capacitive
It takes finite time for a signal to propagate along a
wire
p q
b
da-b
a c
da-c
d
da-d
25
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 25
Functional Element Delay Model
For more complicated functional elements like flip-
flops
Present
Input condition Outputs Delays (ns)
state
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Õtcare
26
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 26
Logic and Fault Simulation
Introduction
Simulation models
Logic simulation
Fault simulation
Concluding remarks
27
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 27
Compiled Code Simulation
Translate the logic start
output simulation
results
28
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 28
Compiled Code Generation Flow
gate-level
description
logic optimization
logic levelization
code generation
compiled
code
29
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 29
Logic Optimization
Enhance the simulation efficiency
1 A
(a) A
B B
(b) A A
A
(c) 0
1
(d) A A
(e) A A
30
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 30
Logic Levelization
Determine the order of gate evaluations
start
assign level 0 to
all PI’s
32
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 32
Code 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
33
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 33
Code Generation - cont’d
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
34
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 34
Event-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
0→1
A H: 0 → 1
G2
G4 K: 1 → 0
0→1
B
G1 G3
C E: 1 J: 0
1
35
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 35
Zero-Delay Event-Driven Simulation
Gates with events at their inputs are places in the
event queue Q
start
read in initial
condition
no Q yes
empty?
evaluate next gate next no
end
g from Q vector?
yes
output no read in new input
change? vector
yes
put g’s fanout put active Pis’
gates in Q fanout gates in Q
36
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 36
Nominal-Delay Event-Driven Simulation
Need a smarter scheduler than the event queue
Not only which gates but also when to evaluate
t0 p, vp+
ti w, vw+
37
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 37
Two-Pass Event-Driven Simulation
start
yes
no Next time LE yes LA
end
stamp? empty? empty?
yes no no
get next time get next event get next gate g
stamp t (g, vg+) from LE from LA
1. vg ← vg+
2. append g’s
fanout gates to
activity list LA
38
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 38
Example A
G2
H
G4 K
B E J
G1 G3
C
0 2 4 6 8 10 12 14 16 18 20 22 24
40
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 40
Compiled-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
41
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 41
A H
Hazards G2
G4 K
Unwanted transient B E J
pulses or glitches G1 G3
C
0 1 2 3 4 5 6 7 8 9 10 11
42
12
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 42
Types 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
43
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 43
Static Hazard Detection
Let V 1 = v11v12 Lv1n and V 2 = v12v 22 Lv n2 be two
consecutive input vectors
+ + + +
Add a new vector V = v1 v 2 Lv n according to
the following rule
v 1
if v 1
= v 2
v i+ = i i
1
i
2
u if v i ≠ v i
Simulate the V1V+V2 sequence using ternary
logic
Any signal that is 1u1 or 0u0 indicates the
possibility of a static hazard.
44
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 44
Multi-Valued 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}
45
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 45
Logic and Fault Simulation
Introduction
Simulation models
Logic simulation
Fault simulation
Concluding remarks
46
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 46
Fault 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
47
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 47
Introduction
What is fault simulation?
Given
– A circuit
– A set of test patterns
– A fault model
Determine
– Faulty outputs
– Undetected faults
– Fault coverage
48
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 48
Time Complexity
Proportional to
n: Circuit size, number of logic gates
p: Number of test patterns
f : Number of modeled faults
49
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 49
Serial Fault Simulation
First, perform fault-free logic simulation on the
original circuit
Good (fault-free) response
50
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 50
start
Algorithm Flow
F ← collapsed fault list
no next
end
fault?
yes
1. get next fault f from F
2. reset pattern counter
next no
pattern?
yes
1. get next pattern p
2. fault simulation for p
no mis- yes
delete f from F
match? 51
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 51
Example
A H
f: A stuck-at 1 G2
G4 K
L
B g: J stuck-at 0
G1 G3
C E F J
P1 0 1 0 1 1 1 0 0 1 0 1
P2 0 0 1 1 1 1 0 0 1 0 1
P3 1 0 0 0 0 0 1 0 0 0 1
52
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 52
Fault 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
53
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 53
Pro and Con
Advantages
Easy to implement
Ability to handle a wide range of fault models
(stuck-at, delay, Br, …)
Disadvantages
Very slow
54
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 54
Parallel 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
55
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 55
Parallel 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
56
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 56
Fault Injection
A H
f: A stuck-at 1 G2
G4 K
L
B g: J stuck-at 0
G1 G3
C E F J
A
Gf H
0 1 0 G2
G4 K
L
B J
G1 G3
C E F Gg
0 1 0
57
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 57
Example
Input Internal Output
Pat #
A Af B C E F L J Jg H K
FF 0 0 1 0 1 1 1 0 0 0 1
P1 f 0 1 1 0 1 1 1 0 0 1 0
g 0 0 1 0 1 1 1 0 0 0 1
FF 0 0 0 1 1 1 1 0 0 0 1
P2 f 0 1 0 1 1 1 1 0 0 1 0
g 0 0 0 1 1 1 1 0 0 0 1
FF 1 1 0 0 0 0 0 1 1 0 0
P3 f 1 1 0 0 0 0 0 1 1 0 0
g 1 1 0 0 0 0 0 1 0 0 1
58
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 58
Pro 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
59
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 59
Parallel 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
60
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 60
start
Algorithm Flow
F ← collapsed fault list
no new w
end
patterns?
yes
1. apply next w patterns
2. Ogood ← good circuit outputs
next no F
fault? empty?
yes yes
get next fault f from F end
delete f from F
1. remove last fault
2. inject fault f
no
yes Of ← faulty circuit outputs
Of == Ogood? 61
of w patterns
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 61
Example
A H
f: A stuck-at 1 G2
G4 K
L
B g: J stuck-at 0
G1 G3
C E F J
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
63
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 63
Deductive 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
64
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 64
Fault List Propagation Rules
c i
c : controlling value
AND 0 0
i : inversion value
OR 1 0
I : set of gate inputs
NAND 0 1
z : gate output
S : inputs holding controlling value NOR 1 1
65
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 65
Algorithm Flow
start
no next
end
pattern?
yes
apply next pattern
1. fault-free simulation
2. propagate fault list
no
delete detected faults yes
F empty? end
from F
66
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 66
Example
P1
LK = LH ∪ LJ ∪ {K / 0} by Eq. (3.1)
67
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 67
Example (cont’d)
P2
0
A H
G2
0 1
G4 K
1 L {C/0}
{C/0}
LB = {B/1}
0
B 1 1 0
G1 G3
C E F J
1 {C/0} {C/0} {C/0}
LC = {C/0}
68
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 68
Example (cont’d)
P3
LK = (LJ − L H ) ∪ {K /1} by Eq. (3.2)
69
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 69
Pro 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
70
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 70
Concurrent 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
71
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 71
Good 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
72
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 72
Algorithm Flow start
next no
end
pattern?
yes
apply next pattern
yes more
events?
yes no
no F delete detected faults
end
empty? from F
73
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 73
Example
P1
74
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 74
Example (cont’d)
P2
75
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 75
Example (cont’d)
P3
76
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 76
Pro and Con
Advantages
Efficient
Disadvantages
Potential memory problem
– Size of the concurrent fault list changes at run time
77
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 77
Differential 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
78
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 78
Simulation Sequence
P1 P2 … Pi Pi+1 … Pn
Good G1 G2 … Gi Gi+1 … Gn
. . . … . . … .
. . . … . . … .
79
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 79
start
no next
end
pattern?
yes
restore good circuit state
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
81
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 81
Fault Detection
Hard detected fault
Outputs of fault-free and faulty circuit are different
– 1/0 or 0/1
– No unknowns, no Z
82
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 82
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
83
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 83
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
84
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 84
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
85
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 85
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
86
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 86
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
87
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 87
Alternative to Fault Simulation
Toggle Coverage
Fault Sampling
88
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 88
Toggle 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
89
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 89
Fault Sampling
[Butler 1974]
Simulate only a sampled group of faults
Error depends on two factors
Sample size
The sample is biased or not
90
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 90
Critical 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
91
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 91
Example
P1
0
A H
G2
0
1 1
L
G4 K
1
1 1 0
B
G1 G3
C E F J
0
92
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 92
Example (cont’d)
P3
1
A H
G2
0
0 0
L
G4 K
0
0 0 1
B
G1 G3
C E F J
0
93
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 93
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)
94
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 94
Summary
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
95
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 95
Logic and Fault Simulation
Introduction
Simulation models
Logic simulation
Fault simulation
Concluding remarks
96
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 96
Conclusions
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
97
VLSI Test Principles and Architectures
EE141 Ch. 3 - Logic & Fault Simulation - P. 97