SlideShare a Scribd company logo
Fault Simulator
Testing of VLSI Design
Usha Mehta
Acknowledge
• This presentation has been summarized from
various books, papers, websites and presentations
on VLSI Design and its various topics all over the
world. I couldn’t itemwise mention from where
these large pull of hints and work come. However,
I’d like to thank all professors and scientists who
created such a good work on this emerging field.
Without those efforts in this very emerging
technology, these notes and slides can’t be
finished.
03-12-2019 Dr Usha Mehta 2
Introduction
• Applying
Deterministic TPG:
• For given fault
– Fault sensitization
– Fault Propagation
– Justification
• It will generate 31
possible patterns
for given fault
03-12-2019 Dr Usha Mehta 3
• TPG generates “Many patterns for one fault”
• Do we really need this many patterns for one fault?
• TPG is the time consuming iterative process.
• As the number of fault is large, the TPG is to be
executed for each of the fault.
• Why not to have “One pattern for many faults”?
• Fault simulation
Comparatively fault simulation is easy and fast
03-12-2019 Dr Usha Mehta 4
03-12-2019 Dr Usha Mehta 5
• Randomly selecting
any pattern
– 1 0 0 0 1-----11111
– This pattern generates
0 on o/p of G1, 1 on
G2 to G5 and 0 on G6
– Hence it can detect sa1
on G
– 1 1-----11111
– This pattern can detect
sa0 on any net
• Two pattern can
detect 33 faults!
Fault Simulation process
1. Generate a random pattern
2. Determine the output of the circuit for that random pattern as
input
3. Take fault from the fault list and modify the Boolean
functionally of the gate whose input has the fault.
4. Determine output of the circuit with fault for that random
pattern as input.
5. If the output of normal circuit varies from the one with fault,
then the random pattern detects the fault under consideration.
6. f the fault is detected, it is removed from the fault list.
7. Steps 3 to 6 are repeated for another fault in the list. This
continues till all faults are considered.
8. Steps 1 to 7 are repeated for another random pattern. This
continues till all faults are detected.
03-12-2019 Dr Usha Mehta 6
Major Steps of Fault Simulation
1. Generate random pattern
2. For given pattern, find the golden output of the
fault free circuit (Circuit/Logic Simulation)
3. Insert the intended fault in the fault free circuit
4. Again apply the generated pattern and find the
output of the circuit in presence of fault (Fault
Simulation)
03-12-2019 Dr Usha Mehta 7
Circuit (Logic)
Simulators
03-12-2019 Dr Usha Mehta 8
Simulator
• Definition
– Simulation refers to modelling of a design, eg. its function
and performance.
• A software simulator is a computer program
• An emulator is a hardware simulator
• Simulator is used for design verification
– Validate assumptions
– Verify logic
– Verify performance (timing)
03-12-2019 Dr Usha Mehta 9
Simulator-Block Diagram
03-12-2019 Dr Usha Mehta 10
Specification
Circuit
Description
Simulated
Responses
Input Stimuli
Expected
Responses
Manual design
or via Synthesis
Testbench
Development
Response
Analysis
Bug?
Next Design
Stage
yes
no
Simulation Process
03-12-2019 Dr Usha Mehta 11
Abstraction Level for Simulator
• System level
• Architecture level
• Functional level/RTL level
• Gate/structural level
• Switch/transistor/circuit level
• Mixed level
03-12-2019 Dr Usha Mehta 12
Modelling
• Modules, blocks or components described by
– Input/output (I/O) function
– Delays associated with I/y /O signals
– Examples: binary adder, Boolean gate, etc.
• Interconnects represent
– Ideal signal carriers or ideal electrical conductors
• Netlist
– A format (or language) that describes a design as an
interconnection of modules. Netlist may use hierarchy.
03-12-2019 Dr Usha Mehta 13
Signal States
• Two-states (0, 1) can be used for purely
combinational logic with zero-delay.
• Three-states (0, 1, X) are essential for timing
hazards and for sequential logic initialization.
• Four-states (0, 1, X, Z) are essential for MOS
devices. See example below.
• Analog signals are used for exact timing of digital
logic and for analog circuits.
03-12-2019 Dr Usha Mehta 14
Information Loss in 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
03-12-2019 Dr Usha Mehta 15
A
B
C u
u
u
u
u
K
G2
G4
G3G1
0
1
A
B
C 0 or 1
0
1 or 0
0 or 1
0 or 1
K
G2
G4
G3G1
0
1
Gate Evaluation Method
• 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
03-12-2019 Dr Usha Mehta 16
Truth Table Based
Gate Evaluation Method
• 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
03-12-2019 Dr Usha Mehta 17
Input Scanning Based
Gate Evaluation Method
• 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
03-12-2019 Dr Usha Mehta 18
Table 3.2: Thec (controlling)and
i (inversion) values of basic gates
c i
AND 0 0
OR 1 0
NAND 0 1
NOR 1 1
Input Scanning
03-12-2019 Dr Usha Mehta 19
Input Counting Based
Gate Evaluation Method
• Knowing the number of unknown and controlling
inputs is sufficient to evaluate the AND, OR, NAND
and NOR gates
• c_count, u_count
• When any gate input is changed, these two
variables are updated.
• Suppose, for NOR, one of the input changes from 1
to u, then c_count is decreased and u_count is
increases.
• Then similar to input scanning…
03-12-2019 Dr Usha Mehta 20
Simulator
• Event driven
• Cycle Based
• Compiled Code
03-12-2019 Dr Usha Mehta 21
Event Driven Simulator
• Event: change in logic value at a node, at a certain instant of
time ® (V,T)
• Performs both timing and functional verification
– All nodes are visible
– Glitches are detected
• Most heavily used and well-suited for all types of designs
• Uses a time wheel to manage the relationship between
components
• Time wheel = list of all events not processed yet, sorted in
time (complete ordering)
• When event is generated, it is put in the appropriate point in
the time wheel to ensure causality
• Faster compared to cycle based simulator because in large
logic circuits about 0.1 to 10% gates become active for an
input change
03-12-2019 Dr Usha Mehta 22
Event Driven Simulation
03-12-2019 Dr Usha Mehta 23
Event Driven Simulation FlowChart
03-12-2019 Dr Usha Mehta 24
Efficiency of Event Based 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
03-12-2019 Dr Usha Mehta 25
Large logic
block without
activity
Steady 0
0 to 1 event
Steady 0
(no event)
Cycle Based Simulator
• Take advantage of the fact that most digital designs
are largely synchronous (state elements change
value on active edge of clock)
• Compute steady-state response of the circuit
• at each clock cycle
• at each boundary node
• Only boundary nodes are evaluated
03-12-2019 Dr Usha Mehta 26
Compiled Code Simulation
• To translate the logic network into series of
machine instruction
• Logic Optimization and Levelization is performed
before actual code generation process
03-12-2019 Dr Usha Mehta 27
Logic Optimization
03-12-2019 Dr Usha Mehta 28
Levelization
03-12-2019 Dr Usha Mehta 29
Levelization
03-12-2019 Dr Usha Mehta 30
Code generation and Simulation
03-12-2019 Dr Usha Mehta 31
Compiled Code Simulation
• Applicable to zero-delay combinational logic
• Also used for cycle-accurate synchronous sequential circuits
for logic verification
• Efficient for highly active circuits, but inefficient for low-
activity circuits
• High-level (e.g., C language) models can be used
03-12-2019 Dr Usha Mehta 32
Fault Simulation
• Fault simulation
– In general, simulating a circuit in the presence
of faults is known as fault simulation
– Predicts the behavior of faulty circuits As a
consequence of inevitable fabrication process
imperfections
• The main goals of fault simulation
– Measuring the effectiveness of the test patterns
– Guiding the test pattern generator program
– Generating fault dictionaries
03-12-2019 Dr Usha Mehta 33
Fault Simulation…..
• Outputs of fault simulation
– Fault coverage - fraction (or percentage) of
modeled faults detected by test vectors
– Set of undetected faults
• An important tool for test and diagnosis
– Estimate fault coverage
– Fault simulator
– Test compaction
– Fault diagnosis
03-12-2019 Dr Usha Mehta 34
Fault Simulation Tasks
• What is fault simulation?
– Given
• A circuit
• A set of test patterns
• A fault model
– Determine
• Faulty outputs
• Undetected faults
• Fault coverage
03-12-2019 Dr Usha Mehta 35
Time Complexity
of Fault Simulator
• 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)
03-12-2019 Dr Usha Mehta 36
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
03-12-2019 Dr Usha Mehta 37
Fault Simulator (in detail)
03-12-2019 Dr Usha Mehta 38
Serial 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
– 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
03-12-2019 Dr Usha Mehta 39
Serial Fault Simulator (cont.)
• Disadvantage: Much repeated computation; CPU
time prohibitive for VLSI circuits
• Alternative: Simulate many faults together
03-12-2019 Dr Usha Mehta 40Courtesy: Agrawal & Bushnell
Parallel Simulators
• To speed up the logic simulation
• To simulate the concurrency on host computer
where there is 32-64 bit wide processor available
• For four bit data word, parallelism of four input
combinations are possible, e.g.
• abc = {110, 010, 011, 100}
03-12-2019 Dr Usha Mehta 41
Parallel Fault Simulation
• Compiled-code method; best with two-states (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
03-12-2019 Dr Usha Mehta 42
03-12-2019 Dr Usha Mehta 43
Courtesy: Agrawal & Bushnell
Parallel Simulation of
Multivalued Logic
03-12-2019 Dr Usha Mehta 44
• For three valued logic
• For w bit data words, two words denoted by X1 and X2
are used for signal X
• AND and OR are still same
• The compliment operation is :
• Note that the compliment of u is still unknown i.e. u
Limitations of Parallel Fault
Simulation
• Useful for two (1,0) or three (0,1,X) logic values, not
suitable for multiple logic values, e.g. (0,1,U,R,F,…)
– Multiple logic values can be handled but operations are
complex
• Wasted computations
– Fault dropping not carried out effectively
– Not possible to discard faults that are in the same word
03-12-2019 Dr Usha Mehta 45

More Related Content

What's hot (20)

PPTX
Dft (design for testability)
shaik sharief
 
PDF
2019 2 testing and verification of vlsi design_verification
Usha Mehta
 
PDF
ATPG Methods and Algorithms
Deiptii Das
 
PDF
Design for Testability
kumar gavanurmath
 
PPTX
Scan insertion
kumar gavanurmath
 
PDF
BUilt-In-Self-Test for VLSI Design
Usha Mehta
 
PDF
Introduction of testing and verification of vlsi design
Usha Mehta
 
PPTX
ATPG flow chart
Minh Anh Nguyen
 
PPTX
Design for testability and automatic test pattern generation
Dilip Mathuria
 
PDF
12 static timing_analysis_3_clocked_design
Usha Mehta
 
PDF
Combinational & Sequential ATPG.pdf
MoinPasha12
 
PPTX
DRCs.pptx
ssuserd05d591
 
PDF
Design for Test [DFT]-1 (1).pdf DESIGN DFT
jayasreenimmakuri777
 
PDF
5 verification methods
Usha Mehta
 
PDF
Loc, los and loes at speed testing methodologies for automatic test pattern g...
eSAT Journals
 
PDF
6 verification tools
Usha Mehta
 
PDF
Sta by usha_mehta
Usha Mehta
 
ODP
Scan chain operation
kumar gavanurmath
 
PPTX
1.Week1.pptx
sathisha36
 
Dft (design for testability)
shaik sharief
 
2019 2 testing and verification of vlsi design_verification
Usha Mehta
 
ATPG Methods and Algorithms
Deiptii Das
 
Design for Testability
kumar gavanurmath
 
Scan insertion
kumar gavanurmath
 
BUilt-In-Self-Test for VLSI Design
Usha Mehta
 
Introduction of testing and verification of vlsi design
Usha Mehta
 
ATPG flow chart
Minh Anh Nguyen
 
Design for testability and automatic test pattern generation
Dilip Mathuria
 
12 static timing_analysis_3_clocked_design
Usha Mehta
 
Combinational & Sequential ATPG.pdf
MoinPasha12
 
DRCs.pptx
ssuserd05d591
 
Design for Test [DFT]-1 (1).pdf DESIGN DFT
jayasreenimmakuri777
 
5 verification methods
Usha Mehta
 
Loc, los and loes at speed testing methodologies for automatic test pattern g...
eSAT Journals
 
6 verification tools
Usha Mehta
 
Sta by usha_mehta
Usha Mehta
 
Scan chain operation
kumar gavanurmath
 
1.Week1.pptx
sathisha36
 

Similar to Fault Simulation (Testing of VLSI Design) (20)

PPTX
Logic Simulation, Modeling, and Testing
Aksum Institute of Technology(AIT, @Letsgo)
 
PPTX
VLSI Testing : Logic Simulation Part 1.pptx
Varsha506533
 
PPTX
Test pattern Generation for 4:1 MUX
UrmilasSrinivasan
 
PPT
Fault simulation
Juhi Khandelwal
 
PDF
ASIC SoC Verification Challenges and Methodologies
Dr. Shivananda Koteshwar
 
PDF
faults.pdf
kabsmedy14
 
PPT
Dill may-2008
Obsidian Software
 
PPTX
Module 2 -Test Generation VLSI DESIGN .pptx
saranyas493379
 
PPT
4366 chapter7
Sai Kumar
 
PDF
An application specific reconfigurable architecture for fault testing and dia...
eSAT Journals
 
PDF
An application specific reconfigurable architecture
eSAT Publishing House
 
PPT
fpga 3D
Jagathi Velpuri
 
PDF
Faults in Digital VLSI Circuits
ijsrd.com
 
PPTX
ASIC design verification
Gireesh Kallihal
 
PDF
C044061518
IJERA Editor
 
PDF
Wavelet Based on the Finding of Hard and Soft Faults in Analog and Digital Si...
ijcisjournal
 
PPT
Event driven simulator
Sahil Abrol
 
PPTX
Unit 3 testing of logic circuits
swagatkarve
 
PDF
Gy2412371242
IJERA Editor
 
PDF
Module5 Testing and Verification.pdf
BhavanaHN5
 
Logic Simulation, Modeling, and Testing
Aksum Institute of Technology(AIT, @Letsgo)
 
VLSI Testing : Logic Simulation Part 1.pptx
Varsha506533
 
Test pattern Generation for 4:1 MUX
UrmilasSrinivasan
 
Fault simulation
Juhi Khandelwal
 
ASIC SoC Verification Challenges and Methodologies
Dr. Shivananda Koteshwar
 
faults.pdf
kabsmedy14
 
Dill may-2008
Obsidian Software
 
Module 2 -Test Generation VLSI DESIGN .pptx
saranyas493379
 
4366 chapter7
Sai Kumar
 
An application specific reconfigurable architecture for fault testing and dia...
eSAT Journals
 
An application specific reconfigurable architecture
eSAT Publishing House
 
Faults in Digital VLSI Circuits
ijsrd.com
 
ASIC design verification
Gireesh Kallihal
 
C044061518
IJERA Editor
 
Wavelet Based on the Finding of Hard and Soft Faults in Analog and Digital Si...
ijcisjournal
 
Event driven simulator
Sahil Abrol
 
Unit 3 testing of logic circuits
swagatkarve
 
Gy2412371242
IJERA Editor
 
Module5 Testing and Verification.pdf
BhavanaHN5
 
Ad

More from Usha Mehta (20)

PDF
Basic Design Flow for Field Programmable Gate Arrays
Usha Mehta
 
PDF
Field Programmable Gate Arrays : Architecture
Usha Mehta
 
PDF
Programmable Logic Devices : SPLD and CPLD
Usha Mehta
 
PDF
Programmable Switches for Programmable Logic Devices
Usha Mehta
 
PDF
2_DVD_ASIC_Design_FLow.pdf
Usha Mehta
 
PDF
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
Usha Mehta
 
PDF
7_DVD_Combinational_MOS_Logic_Circuits.pdf
Usha Mehta
 
PDF
5_DVD_VLSI Technology Trends.pdf
Usha Mehta
 
PDF
8_DVD_Sequential_MOS_logic_circuits.pdf
Usha Mehta
 
PDF
9_DVD_Dynamic_logic_circuits.pdf
Usha Mehta
 
PDF
13_DVD_Latch-up_prevention.pdf
Usha Mehta
 
PDF
Static_Timing_Analysis_in_detail.pdf
Usha Mehta
 
PDF
14 static timing_analysis_5_clock_domain_crossing
Usha Mehta
 
PDF
9 semiconductor memory
Usha Mehta
 
PDF
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
Usha Mehta
 
PDF
11 static timing_analysis_2_combinational_design
Usha Mehta
 
PDF
10 static timing_analysis_1_concept_of_timing_analysis
Usha Mehta
 
PDF
4 verification flow_planning
Usha Mehta
 
PDF
3 test economic_test_equipments_yield
Usha Mehta
 
PDF
2 when to_test_role_of_testing
Usha Mehta
 
Basic Design Flow for Field Programmable Gate Arrays
Usha Mehta
 
Field Programmable Gate Arrays : Architecture
Usha Mehta
 
Programmable Logic Devices : SPLD and CPLD
Usha Mehta
 
Programmable Switches for Programmable Logic Devices
Usha Mehta
 
2_DVD_ASIC_Design_FLow.pdf
Usha Mehta
 
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
Usha Mehta
 
7_DVD_Combinational_MOS_Logic_Circuits.pdf
Usha Mehta
 
5_DVD_VLSI Technology Trends.pdf
Usha Mehta
 
8_DVD_Sequential_MOS_logic_circuits.pdf
Usha Mehta
 
9_DVD_Dynamic_logic_circuits.pdf
Usha Mehta
 
13_DVD_Latch-up_prevention.pdf
Usha Mehta
 
Static_Timing_Analysis_in_detail.pdf
Usha Mehta
 
14 static timing_analysis_5_clock_domain_crossing
Usha Mehta
 
9 semiconductor memory
Usha Mehta
 
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
Usha Mehta
 
11 static timing_analysis_2_combinational_design
Usha Mehta
 
10 static timing_analysis_1_concept_of_timing_analysis
Usha Mehta
 
4 verification flow_planning
Usha Mehta
 
3 test economic_test_equipments_yield
Usha Mehta
 
2 when to_test_role_of_testing
Usha Mehta
 
Ad

Recently uploaded (20)

PDF
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PDF
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
PDF
Zilliz Cloud Demo for performance and scale
Zilliz
 
PDF
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
PPTX
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PDF
GTU Civil Engineering All Semester Syllabus.pdf
Vimal Bhojani
 
PPTX
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
PPTX
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
PPTX
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
PPTX
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
DOCX
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PPTX
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
PDF
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
PPTX
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
PPTX
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
Ethics and Trustworthy AI in Healthcare – Governing Sensitive Data, Profiling...
AlqualsaDIResearchGr
 
Zilliz Cloud Demo for performance and scale
Zilliz
 
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
GTU Civil Engineering All Semester Syllabus.pdf
Vimal Bhojani
 
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
Depth First Search Algorithm in 🧠 DFS in Artificial Intelligence (AI)
rafeeqshaik212002
 
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
artificial intelligence applications in Geomatics
NawrasShatnawi1
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 

Fault Simulation (Testing of VLSI Design)

  • 1. Fault Simulator Testing of VLSI Design Usha Mehta
  • 2. Acknowledge • This presentation has been summarized from various books, papers, websites and presentations on VLSI Design and its various topics all over the world. I couldn’t itemwise mention from where these large pull of hints and work come. However, I’d like to thank all professors and scientists who created such a good work on this emerging field. Without those efforts in this very emerging technology, these notes and slides can’t be finished. 03-12-2019 Dr Usha Mehta 2
  • 3. Introduction • Applying Deterministic TPG: • For given fault – Fault sensitization – Fault Propagation – Justification • It will generate 31 possible patterns for given fault 03-12-2019 Dr Usha Mehta 3
  • 4. • TPG generates “Many patterns for one fault” • Do we really need this many patterns for one fault? • TPG is the time consuming iterative process. • As the number of fault is large, the TPG is to be executed for each of the fault. • Why not to have “One pattern for many faults”? • Fault simulation Comparatively fault simulation is easy and fast 03-12-2019 Dr Usha Mehta 4
  • 5. 03-12-2019 Dr Usha Mehta 5 • Randomly selecting any pattern – 1 0 0 0 1-----11111 – This pattern generates 0 on o/p of G1, 1 on G2 to G5 and 0 on G6 – Hence it can detect sa1 on G – 1 1-----11111 – This pattern can detect sa0 on any net • Two pattern can detect 33 faults!
  • 6. Fault Simulation process 1. Generate a random pattern 2. Determine the output of the circuit for that random pattern as input 3. Take fault from the fault list and modify the Boolean functionally of the gate whose input has the fault. 4. Determine output of the circuit with fault for that random pattern as input. 5. If the output of normal circuit varies from the one with fault, then the random pattern detects the fault under consideration. 6. f the fault is detected, it is removed from the fault list. 7. Steps 3 to 6 are repeated for another fault in the list. This continues till all faults are considered. 8. Steps 1 to 7 are repeated for another random pattern. This continues till all faults are detected. 03-12-2019 Dr Usha Mehta 6
  • 7. Major Steps of Fault Simulation 1. Generate random pattern 2. For given pattern, find the golden output of the fault free circuit (Circuit/Logic Simulation) 3. Insert the intended fault in the fault free circuit 4. Again apply the generated pattern and find the output of the circuit in presence of fault (Fault Simulation) 03-12-2019 Dr Usha Mehta 7
  • 9. Simulator • Definition – Simulation refers to modelling of a design, eg. its function and performance. • A software simulator is a computer program • An emulator is a hardware simulator • Simulator is used for design verification – Validate assumptions – Verify logic – Verify performance (timing) 03-12-2019 Dr Usha Mehta 9
  • 10. Simulator-Block Diagram 03-12-2019 Dr Usha Mehta 10 Specification Circuit Description Simulated Responses Input Stimuli Expected Responses Manual design or via Synthesis Testbench Development Response Analysis Bug? Next Design Stage yes no
  • 12. Abstraction Level for Simulator • System level • Architecture level • Functional level/RTL level • Gate/structural level • Switch/transistor/circuit level • Mixed level 03-12-2019 Dr Usha Mehta 12
  • 13. Modelling • Modules, blocks or components described by – Input/output (I/O) function – Delays associated with I/y /O signals – Examples: binary adder, Boolean gate, etc. • Interconnects represent – Ideal signal carriers or ideal electrical conductors • Netlist – A format (or language) that describes a design as an interconnection of modules. Netlist may use hierarchy. 03-12-2019 Dr Usha Mehta 13
  • 14. Signal States • Two-states (0, 1) can be used for purely combinational logic with zero-delay. • Three-states (0, 1, X) are essential for timing hazards and for sequential logic initialization. • Four-states (0, 1, X, Z) are essential for MOS devices. See example below. • Analog signals are used for exact timing of digital logic and for analog circuits. 03-12-2019 Dr Usha Mehta 14
  • 15. Information Loss in 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 03-12-2019 Dr Usha Mehta 15 A B C u u u u u K G2 G4 G3G1 0 1 A B C 0 or 1 0 1 or 0 0 or 1 0 or 1 K G2 G4 G3G1 0 1
  • 16. Gate Evaluation Method • 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 03-12-2019 Dr Usha Mehta 16
  • 17. Truth Table Based Gate Evaluation Method • 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 03-12-2019 Dr Usha Mehta 17
  • 18. Input Scanning Based Gate Evaluation Method • 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 03-12-2019 Dr Usha Mehta 18 Table 3.2: Thec (controlling)and i (inversion) values of basic gates c i AND 0 0 OR 1 0 NAND 0 1 NOR 1 1
  • 20. Input Counting Based Gate Evaluation Method • Knowing the number of unknown and controlling inputs is sufficient to evaluate the AND, OR, NAND and NOR gates • c_count, u_count • When any gate input is changed, these two variables are updated. • Suppose, for NOR, one of the input changes from 1 to u, then c_count is decreased and u_count is increases. • Then similar to input scanning… 03-12-2019 Dr Usha Mehta 20
  • 21. Simulator • Event driven • Cycle Based • Compiled Code 03-12-2019 Dr Usha Mehta 21
  • 22. Event Driven Simulator • Event: change in logic value at a node, at a certain instant of time ® (V,T) • Performs both timing and functional verification – All nodes are visible – Glitches are detected • Most heavily used and well-suited for all types of designs • Uses a time wheel to manage the relationship between components • Time wheel = list of all events not processed yet, sorted in time (complete ordering) • When event is generated, it is put in the appropriate point in the time wheel to ensure causality • Faster compared to cycle based simulator because in large logic circuits about 0.1 to 10% gates become active for an input change 03-12-2019 Dr Usha Mehta 22
  • 24. Event Driven Simulation FlowChart 03-12-2019 Dr Usha Mehta 24
  • 25. Efficiency of Event Based 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 03-12-2019 Dr Usha Mehta 25 Large logic block without activity Steady 0 0 to 1 event Steady 0 (no event)
  • 26. Cycle Based Simulator • Take advantage of the fact that most digital designs are largely synchronous (state elements change value on active edge of clock) • Compute steady-state response of the circuit • at each clock cycle • at each boundary node • Only boundary nodes are evaluated 03-12-2019 Dr Usha Mehta 26
  • 27. Compiled Code Simulation • To translate the logic network into series of machine instruction • Logic Optimization and Levelization is performed before actual code generation process 03-12-2019 Dr Usha Mehta 27
  • 31. Code generation and Simulation 03-12-2019 Dr Usha Mehta 31
  • 32. Compiled Code Simulation • Applicable to zero-delay combinational logic • Also used for cycle-accurate synchronous sequential circuits for logic verification • Efficient for highly active circuits, but inefficient for low- activity circuits • High-level (e.g., C language) models can be used 03-12-2019 Dr Usha Mehta 32
  • 33. Fault Simulation • Fault simulation – In general, simulating a circuit in the presence of faults is known as fault simulation – Predicts the behavior of faulty circuits As a consequence of inevitable fabrication process imperfections • The main goals of fault simulation – Measuring the effectiveness of the test patterns – Guiding the test pattern generator program – Generating fault dictionaries 03-12-2019 Dr Usha Mehta 33
  • 34. Fault Simulation….. • Outputs of fault simulation – Fault coverage - fraction (or percentage) of modeled faults detected by test vectors – Set of undetected faults • An important tool for test and diagnosis – Estimate fault coverage – Fault simulator – Test compaction – Fault diagnosis 03-12-2019 Dr Usha Mehta 34
  • 35. Fault Simulation Tasks • What is fault simulation? – Given • A circuit • A set of test patterns • A fault model – Determine • Faulty outputs • Undetected faults • Fault coverage 03-12-2019 Dr Usha Mehta 35
  • 36. Time Complexity of Fault Simulator • 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) 03-12-2019 Dr Usha Mehta 36
  • 37. 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 03-12-2019 Dr Usha Mehta 37
  • 38. Fault Simulator (in detail) 03-12-2019 Dr Usha Mehta 38
  • 39. Serial 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 – 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 03-12-2019 Dr Usha Mehta 39
  • 40. Serial Fault Simulator (cont.) • Disadvantage: Much repeated computation; CPU time prohibitive for VLSI circuits • Alternative: Simulate many faults together 03-12-2019 Dr Usha Mehta 40Courtesy: Agrawal & Bushnell
  • 41. Parallel Simulators • To speed up the logic simulation • To simulate the concurrency on host computer where there is 32-64 bit wide processor available • For four bit data word, parallelism of four input combinations are possible, e.g. • abc = {110, 010, 011, 100} 03-12-2019 Dr Usha Mehta 41
  • 42. Parallel Fault Simulation • Compiled-code method; best with two-states (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 03-12-2019 Dr Usha Mehta 42
  • 43. 03-12-2019 Dr Usha Mehta 43 Courtesy: Agrawal & Bushnell
  • 44. Parallel Simulation of Multivalued Logic 03-12-2019 Dr Usha Mehta 44 • For three valued logic • For w bit data words, two words denoted by X1 and X2 are used for signal X • AND and OR are still same • The compliment operation is : • Note that the compliment of u is still unknown i.e. u
  • 45. Limitations of Parallel Fault Simulation • Useful for two (1,0) or three (0,1,X) logic values, not suitable for multiple logic values, e.g. (0,1,U,R,F,…) – Multiple logic values can be handled but operations are complex • Wasted computations – Fault dropping not carried out effectively – Not possible to discard faults that are in the same word 03-12-2019 Dr Usha Mehta 45