VLSI Testing F lt Si l ti VLSI Testing F lt Si l ti Fault Simulation Fault Simulation Virendra Singh I di I tit t fS i Indian Institute of Science Bangalore [email protected]E0 286: Test & Verification of SoC Design Jan 27, 2010 E0-286@SERC 1 Lecture - 7
24
Embed
VLSI Testing - Supercomputer Education Research Centreviren/Courses/2010/E0286/Lecture8.pdf · VLSI Testing F lt Si l tiFault Simulation Virendra Singh ... Parallel Fault Simulation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
VLSI TestingF lt Si l ti
VLSI TestingF lt Si l tiFault SimulationFault Simulation
Virendra SinghI di I tit t f S iIndian Institute of Science
Simulation DefinedSimulation DefinedDefinition: 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:Simulation is used for design verification:
Compiled-code simulationpApplicable to zero-delay combinational logicAlso used for cycle-accurate synchronous sequential circuits for logic verificationgEfficient for highly active circuits, but inefficient for low-activity circuitsHigh-level (e.g., C language) models can be used
Event-driven simulationOnly gates or modules with input events are evaluated (event means a signal change)( g g )Delays can be accurately simulated for timing verificationEfficient for low-activity circuits
Jan 27, 2010 E0-286@SERC 6
Can be extended for fault simulation
Compiled-Code AlgorithmCompiled-Code Algorithm
Step 1: Levelize combinational logic and Step 1: Levelize combinational logic and encode in a compilable programming languageStep 2: Initialize internal state variables (flip-p ( pflops)Step 3: For each input vector
S t i i t i blSet primary input variablesRepeat (until steady-state or max. iterations)
Execute compiled codeExecute compiled codeReport or save computed variables
Time Wheel (Circular Stack)Time Wheel (Circular Stack)
t=01
maxCurrenttimepointer Event link-list
2
3
4
56
7
Jan 27, 2010 E0-286@SERC 9
Efficiency of Event-driven Simulator
Efficiency of Event-driven Simulatordriven Simulatordriven Simulator
Simulates events (value changes) onlySimulates events (value changes) onlySpeed up over compiled-code can be ten times or more; in large logic circuits about g g0.1 to 10% gates become active for an input change
Large logicblock without
Steady 0Steady 0
( t) block withoutactivity0 to 1 event
(no event)
Jan 27, 2010 E0-286@SERC 10
Problem and MotivationProblem and Motivation
Fault simulation Problem: GivenA circuitA sequence of test vectorsA fault model
DetermineFault coverage - fraction (or percentage) of modeled faults detected by test vectorsySet of undetected faults
MotivationDetermine test quality and in turn product qualityDetermine test quality and in turn product qualityFind undetected fault targets to improve tests
Jan 27, 2010 E0-286@SERC 11
Fault simulator in a VLSI Design Process
Fault simulator in a VLSI Design ProcessDesign ProcessDesign Process
Circuit model: mixed-levelMostly logic with some switch level for highMostly logic with some switch-level for high-impedance (Z) and bidirectional signalsHigh-level models (memory, etc.) with pin faults
Si l t t l iSignal states: logicTwo (0, 1) or three (0, 1, X) states for purely Boolean logic circuitsFour states (0, 1, X, Z) for sequential MOS circuits
TimingZero delay for combinational and synchronous Zero-delay for combinational and synchronous circuitsMostly unit-delay for circuits with feedback
FaultsMostly single stuck-at faultsSometimes stuck-open, transition, and path-delay faults; analog circuit fault simulators are not yet in faults; analog circuit fault simulators are not yet in common useEquivalence fault collapsing of single stuck-at faultsfaultsFault-dropping -- a fault once detected is dropped from consideration as more vectors are simulated; fault-dropping may be suppressed for diagnosisfault dropping may be suppressed for diagnosisFault sampling -- a random sample of faults is simulated when the circuit is large
Serial AlgorithmSerial AlgorithmAlgorithm: Simulate fault-free circuit and save responses Repeat following steps for each responses. Repeat following steps for each fault in the fault list:
Modify netlist by injecting one faultSimulate modified netlist, vector by vector, comparing responses with saved responsesIf response differs, report fault detection and suspend simulation of remaining vectors
Advantages:Easy to implement; needs only a true-value Easy to implement; needs only a true-value simulator, less memoryMost faults, including analog faults, can be simulated
Jan 27, 2010 E0-286@SERC 16
simulated
Serial AlgorithmSerial Algorithm
Disadvantage: Much repeated computation; CPU time prohibitive for VLSI circuitsCPU time prohibitive for VLSI circuitsAlternative: Simulate many faults together
Compiled-code method; best with two-states (0 1)states (0,1)Exploits inherent bit-parallelism of logic operations on computer wordsStorage: one word per line for two-state simulationMulti-pass simulation: Each pass simulates p pw-1 new faults, where w is the machine word lengthSpeed up over serial method ~ w-1Speed up over serial method ~ w-1Not suitable for circuits with timing-critical and non-Boolean logic
One-pass simulationEach line k contains a list L of faults Each line k contains a list Lk of faults detectable on kFollowing true-value simulation of each
t f lt li t f ll t t t li vector, fault lists of all gate output lines are updated using set-theoretic rules, signal values, and gate input fault listsPO fault lists provide detection dataLimitations:
Set-theoretic rules difficult to derive for non-Set theoretic rules difficult to derive for nonBoolean gatesGate delays are difficult to use
Notation: Lk is fault list for line kkn is s-a-n fault on line k
a
b e
1
1 11
{a0}
{b0 , c0}
Le = La U Lc U {e0}= {a0 , b0 , c0 , e0}
c
d f g
0
1{b0}
L = (L Lf ) U {g0}U
{b0 , d0}Lg = (Le Lf ) U {g0}
= {a0 , c0 , e0 , g0}
U
{b0 , d0 , f1}Faults detected by
the input vector
Jan 27, 2010 E0-286@SERC 21
the input vector
Concurrent Fault SimulationConcurrent Fault SimulationEvent-driven simulation of fault-free circuit and only those parts of the faulty circuit that differ in signal states from the fault free circuitsignal states from the fault-free circuit.A list per gate containing copies of the gate from all faulty circuits in which this gate differs. List
felement contains fault ID, gate input and output values and internal states, if any.All events of fault-free and all faulty circuits are yimplicitly simulated.Faults can be simulated in any modeling style or detail supported in true-value simulation (offers detail supported in true value simulation (offers most flexibility.)Faster than other methods, but uses most memory