0% found this document useful (0 votes)
65 views

Lecture8 PDF

This document discusses fault simulation techniques for verifying VLSI chip designs. It describes how fault simulation uses a circuit model and test vectors to determine fault coverage and identify undetected faults. Two common fault simulation algorithms are described: compiled-code simulation for combinational logic and event-driven simulation for timing verification. The document explains how fault simulation fits into the overall VLSI design verification process.

Uploaded by

Analog Layout
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views

Lecture8 PDF

This document discusses fault simulation techniques for verifying VLSI chip designs. It describes how fault simulation uses a circuit model and test vectors to determine fault coverage and identify undetected faults. Two common fault simulation algorithms are described: compiled-code simulation for combinational logic and event-driven simulation for timing verification. The document explains how fault simulation fits into the overall VLSI design verification process.

Uploaded by

Analog Layout
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

VLSI Testing

Fault
F lt Simulation
Si l ti

Virendra Singh
I di Institute
Indian I tit t off Science
S i
Bangalore
[email protected]

E0 286: Test & Verification of SoC Design


Lecture - 7
Jan 27, 2010 E0-286@SERC 1
Fault Simulation

Jan 27, 2010 E0-286@SERC 2


Simulation Defined
„ Definition: Simulation refers to modeling of a
design, its function and performance.
„ A software simulator is a computer program;
an emulator is a hardware simulator.
„ Simulation is used for design verification:
„ Validate assumptions
„ Verify logic
„ Verify performance (timing)
„ Types of simulation:
„ Logic or switch level
„ Timing
„ Circuit
„ Fault

Jan 27, 2010 E0-286@SERC 3


Simulation for Verification

Specification

Synthesis

Response Design Design


analysis
y changes
g ((netlist))

Computed True-value
Input stimuli
responses simulation

Jan 27, 2010 E0-286@SERC 4


Modeling Levels
Modeling Circuit Signal Timing Application
level description values
Architectural
Function, Programming 0, 1 Clock and functional
behavior, RTL language-like HDL boundary verification

Logic Connectivity of 0, 1,
0 1 X Zero delay
Zero-delay Logic
Boolean gates, unit-delay, verification
and Z multiple-
flip-flops and and test
transistors delay

S it h
Switch Transistor size 0, 1
0 Zero-delay Logic
and connectivity, and X verification
node capacitances

Timing gy Analog
Transistor technology g Fine-grain
g Timingg
data, connectivity, voltage timing verification
node capacitances
Circuit Continuous Digital timing
Tech. Data, active/ Analog
time and analog g
passive component voltage
voltage,
circuit
connectivity current
verification
Jan 27, 2010 E0-286@SERC 5
True-Value Simulation
Al
Algorithms
ith
™ Compiled-code
p simulation
¾ Applicable to zero-delay combinational logic
¾ Also used for cycle-accurate synchronous sequential
g verification
circuits for logic
¾ Efficient for highly active circuits, but inefficient for
low-activity circuits
¾ High-level (e.g., C language) models can be used
™ Event-driven simulation
¾ Only gates or modules with input events are
evaluated (event means a signalg change
g )
¾ Delays can be accurately simulated for timing
verification
¾ Efficient for low-activity circuits
¾ Can be extended for fault simulation
Jan 27, 2010 E0-286@SERC 6
Compiled-Code Algorithm

™ Step 1: Levelize combinational logic and


encode in a compilable programming language
™ Stepp 2: Initialize internal state variables ((flip-
p
flops)
™ Step 3: For each input vector
S t primary
Set i iinputt variables
i bl
Repeat (until steady-state or max. iterations)
¾ Execute compiled code
Report or save computed variables

Jan 27, 2010 E0-286@SERC 7


Event-Driven Algorithm
Scheduled Activity
events list
a =1 e =1 t=0 c=0 d, e
c =1 0 2
1
g =1
2
2 2 d = 1, e = 0 f, g
d=0

ack
3
4 f =0
0

Time sta
b =1 4 g=0

T
g 6 f=1 g
0 4 8
Time, t 7

8 g=1
Jan 27, 2010 E0-286@SERC 8
Time Wheel (Circular Stack)

Current max
time t=0
pointer Event link-list
1
2

4
5
6
7

Jan 27, 2010 E0-286@SERC 9


Efficiency of Event-
driven Simulator
Simulates events (value changes) only
Speed up over compiled-code can be ten
times or more; in large
g logic
g circuits about
0.1 to 10% gates become active for an input
change

Steady 0
Steady 0 Large logic
block without
(
(no event)
t)
0 to 1 event activity

Jan 27, 2010 E0-286@SERC 10


Problem and Motivation
Fault simulation Problem: Given
¾ A circuit
¾ A sequence of test vectors
¾ A fault model
Determine
¾ Fault coverage - fraction (or percentage) of
modeled faults detected by y test vectors
¾ Set of undetected faults
Motivation
¾ Determine test quality and in turn product quality
¾ Find undetected fault targets to improve tests

Jan 27, 2010 E0-286@SERC 11


Fault simulator in a VLSI
Design Process
Verified design Verification
netlist input stimuli

Fault simulator Test vectors

Modeled Remove Test Delete


fa lt list ttested
fault t d faults
f lt compactor vectors

Fault Low Test


coverage generator Add vectors
?
Adequate
q
Stop
Jan 27, 2010 E0-286@SERC 12
Fault Simulation Scenario
Circuit model: mixed-level
™ Mostly logic with some switch-level
switch level for high-
high
impedance (Z) and bidirectional signals
™ High-level models (memory, etc.) with pin faults

Si
Signal
l states:
t t llogic
i
™ Two (0, 1) or three (0, 1, X) states for purely
Boolean logic circuits
™ Four states (0, 1, X, Z) for sequential MOS circuits

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

Jan 27, 2010 E0-286@SERC 13


Fault Simulation 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
fault dropping may be suppressed for diagnosis
™ Fault sampling -- a random sample of faults is
simulated when the circuit is large

Jan 27, 2010 E0-286@SERC 14


Fault Simulation Algorithms
™ Serial

™ Parallel

™ Deductive

™ Concurrent

Jan 27, 2010 E0-286@SERC 15


Serial Algorithm
Algorithm: Simulate fault-free circuit and save
responses.
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

Jan 27, 2010 E0-286@SERC 16


Serial Algorithm
¾ Disadvantage: Much repeated computation;
CPU time prohibitive for VLSI circuits
¾ Alternative: Simulate many faults together

Test vectors Fault-free circuit Comparator f1 detected?

Circuit with fault f1


Comparator f2 detected?
Circuit with fault f2

Comparator fn detected?
Circuit with fault fn

Jan 27, 2010 E0-286@SERC 17


Parallel Fault Simulation
™ Compiled-code method; best with two-
states (0,1)
(0 1)
™ Exploits inherent bit-parallelism of logic
operations on computer words
™ Storage: one word per line for two-state
simulation
™ Multi-pass
p simulation: Each pass
p 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 27, 2010 E0-286@SERC 18


Parallel Fault Simulation
Bit 0: fault-free circuit
Bit 1: circuit with c s-a-0
Bit 2: circuit with f s-a-1

1 1 1
c s-a-0 detected
a 1 0 1
1 1 1 1 0 1
b e 1 0 1
c s-a-0
g
0 0 0

d f s-a-1 0 0 1

Jan 27, 2010 E0-286@SERC 19


Deductive Fault Simulation
™ One-pass simulation
™ Each line k contains a list Lk of faults
detectable on k
™ Following true-value simulation of each
vector,
t fault
f lt lists
li t off all
ll gate
t output
t t li
lines
are updated using set-theoretic rules,
signal values, and gate input fault lists
™ PO fault lists provide detection data
™ Limitations:
„ Set theoretic rules difficult to derive for non
Set-theoretic non-
Boolean gates
„ Gate delays are difficult to use

Jan 27, 2010 E0-286@SERC 20


Deductive Fault Simulation

Notation: Lk is fault list for line k


kn is s-a-n fault on line k

1 {a0} Le = La U Lc U {e0}
a = {a0 , b0 , c0 , e0}

1 {b0 , c0}
b e 1
{b0} c 1
g
d f 0
Lg = (Le Lf ) U {g0}
U
{b0 , d0}
{b0 , d0 , f1} = {a0 , c0 , e0 , g0}
Faults detected by
the input vector

Jan 27, 2010 E0-286@SERC 21


Concurrent Fault Simulation
™ Event-driven simulation of fault-free circuit and
only those parts of the faulty circuit that differ in
signal states from the fault-free
fault free circuit.
circuit
™ A list per gate containing copies of the gate from
all faulty circuits in which this gate differs. List
element contains fault
f ID, gate input and output
values and internal states, if any.
™ All events of fault-free and all faulty y circuits are
implicitly simulated.
™ Faults can be simulated in any modeling style or
detail supported in true
true-value
value simulation (offers
most flexibility.)
™ Faster than other methods, but uses most
memory
memory.
Jan 27, 2010 E0-286@SERC 22
Conc. Fault Simulation
a0 b0 c0 e0
0 1 1 1
0 0 0 0
1 0 0 1
1
a 1 1
1 1
b 1 e 1
c 1
1 g
0
0

d
1 0
f a0 b c0 e0
0 0 0 0 0
0 1 0 0
0 1 0 0

1 1 1
0 1 1
b0 d0 f1 0
g 1 1
d0
0 1
f1
0 1 1 1
0
Jan 27, 2010 E0-286@SERC 23
Thank You

Jan 27, 2010 E0-286@SERC 24

You might also like