Testing4 PDF
Testing4 PDF
VLSI Testing
Testing
Fault
Fault Simulation
Simulation
Virendra Singh
Indian Institute of Science
Bangalore
[email protected]
E0 286: Test & Verification of SoC Design
Lecture - 4
Jan 25, 2008
E0-286@SERC
Fault
Fault Model
Model -- Summary
Summary
Fault models are analyzable approximations of
defects and are essential for a test
methodology.
For digital logic single stuck-at fault model
offers best advantage of tools and experience.
Many other faults (bridging, stuck-open and
multiple stuck-at) are largely covered by
stuck-at fault tests.
Stuck-short and delay faults and technologydependent faults require special tests.
Memory and analog circuits need other
specialized fault models and tests.
Jan 25, 2008
E0-286@SERC
Fault Simulation
E0-286@SERC
Simulation
Simulation Defined
Defined
Validate assumptions
Verify logic
Verify performance (timing)
Types of simulation:
E0-286@SERC
Simulation
Simulation for
for Verification
Verification
Specification
Synthesis
Response
analysis
Computed
responses
Design
changes
Design
(netlist)
True-value
simulation
E0-286@SERC
Input stimuli
Modeling
Modeling Levels
Levels
Modeling
level
Signal
values
Circuit
description
Programming
Function,
behavior, RTL language-like HDL
0, 1
Timing
Application
Clock
boundary
Architectural
and functional
verification
Logic
Connectivity of
Boolean gates,
flip-flops and
transistors
0, 1, X
and Z
Zero-delay
unit-delay,
multipledelay
Logic
verification
and test
Switch
Transistor size
and connectivity,
node capacitances
0, 1
and X
Zero-delay
Logic
verification
Timing
Fine-grain
timing
Timing
verification
Circuit
Continuous
time
Digital timing
and analog
circuit
verification
Analog
voltage,
current
E0-286@SERC
True-Value
True-Value Simulation
Simulation
Algorithms
Algorithms
Compiled-code simulation
Event-driven simulation
Compiled-Code
Compiled-Code Algorithm
Algorithm
Step 1: Levelize combinational logic and
E0-286@SERC
Event-Driven
Event-Driven Algorithm
Algorithm
Scheduled
events
e =1
d=0
4
b =1
t=0
f =0
g
0
E0-286@SERC
d = 1, e = 0
f, g
g=0
f=1
7
8
d, e
Time, t
c=0
g =1
Time stack
a =1
c =1
Activity
list
g=1
9
Time
Time Wheel
Wheel ((Circular
Circular Stack
Stack))
Current
time
pointer
max
t=0
1
Event link-list
2
3
4
5
6
7
E0-286@SERC
10
Efficiency
Efficiency of
of EventEventdriven
driven Simulator
Simulator
Simulates events (value changes) only
Speed up over compiled-code can be ten
times or more; in large logic circuits about
0.1 to 10% gates become active for an input
change
Steady 0
0 to 1 event
Steady 0
(no event)
E0-286@SERC
Large logic
block without
activity
11
Problem
Problem and
and Motivation
Motivation
Fault simulation Problem: Given
A circuit
A sequence of test vectors
A fault model
Determine
Fault coverage - fraction (or percentage) of
modeled faults detected by test vectors
Set of undetected faults
Motivation
Determine test quality and in turn product quality
Find undetected fault targets to improve tests
E0-286@SERC
12
Fault
Fault simulator
simulator in
in a
a VLSI
VLSI
Design
Design Process
Process
Verified design
netlist
Verification
input stimuli
Fault simulator
Test vectors
Remove
Modeled
fault list tested faults
Fault
coverage
?
Low
Test
Delete
compactor vectors
Test
generator
Add vectors
Adequate
Stop
E0-286@SERC
13
Fault
Fault Simulation
Simulation Scenario
Scenario
Circuit model: mixed-level
Mostly logic with some switch-level for highimpedance (Z) and bidirectional signals
High-level models (memory, etc.) with pin faults
Timing
Zero-delay for combinational and synchronous
circuits
Mostly unit-delay for circuits with feedback
E0-286@SERC
14
Fault
Fault Simulation
Simulation Scenario
Scenario
Faults
Mostly single stuck-at faults
Sometimes stuck-open, transition, and path-delay
faults; analog circuit fault simulators are not yet in
common use
Equivalence fault collapsing of single stuck-at
faults
Fault-dropping -- a fault once detected is dropped
from consideration as more vectors are simulated;
fault-dropping may be suppressed for diagnosis
Fault sampling -- a random sample of faults is
simulated when the circuit is large
E0-286@SERC
15
Fault
Fault Simulation
Simulation Algorithms
Algorithms
Serial
Parallel
Deductive
Concurrent
E0-286@SERC
16
Serial
Serial Algorithm
Algorithm
Algorithm: Simulate fault-free circuit and save
responses. Repeat following steps for each
fault in the fault list:
Modify netlist by injecting one fault
Simulate modified netlist, vector by vector,
comparing responses with saved responses
If response differs, report fault detection and
suspend simulation of remaining vectors
Advantages:
Easy to implement; needs only a true-value
simulator, less memory
Most faults, including analog faults, can be
simulated
E0-286@SERC
17
Serial
Serial Algorithm
Algorithm
Test vectors
Fault-free circuit
Comparator
f1 detected?
Comparator
f2 detected?
Comparator
fn detected?
E0-286@SERC
18
Parallel
Parallel Fault
Fault Simulation
Simulation
Compiled-code method; best with twostates (0,1)
Exploits inherent bit-parallelism of logic
operations on computer words
Storage: one word per line for two-state
simulation
Multi-pass simulation: Each pass simulates
w-1 new faults, where w is the machine
word length
Speed up over serial method ~ w-1
Not suitable for circuits with timing-critical
and non-Boolean logic
Jan 25, 2008
E0-286@SERC
19
Parallel
Parallel Fault
Fault Simulation
Simulation
Bit 0: fault-free circuit
Bit 1: circuit with c s-a-0
Bit 2: circuit with f s-a-1
1
a
b
1
1
s-a-0
0
c s-a-0 detected
0
s-a-1
E0-286@SERC
20
Thank You
Jan 25, 2008
E0-286@SERC
21