Fault Simulation. Problem and Motivation

Similar documents
Lecture 3 - Fault Simulation

VLSI System Testing. Fault Simulation

Metodologie di progetto HW Il test di circuiti digitali

Metodologie di progetto HW Il test di circuiti digitali

Lecture 7 Fault Simulation

Testing Digital Systems I

VLSI Test Technology and Reliability (ET4076)

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27,

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore

VLSI Test Technology and Reliability (ET4076)

Design Verification and Test of Digital VLSI Circuits NPTEL Video Course. Module-VIII Lecture-I Fault Simulation

Preizkušanje elektronskih vezij

PROOFS Fault Simulation Algorithm

Upper Bounding Fault Coverage by Structural Analysis and Signal Monitoring

ECE 156B Fault Model and Fault Simulation

IMPLEMENTATION OF AN ATPG USING PODEM ALGORITHM

A Parallel Implementation of Fault Simulation on a Cluster of. Workstations

Design and Synthesis for Test

Contents 1 Basic of Test and Role of HDLs 2 Verilog HDL for Design and Test

Very Large Scale Integration (VLSI)

Collapsing for Multiple Output Circuits. Diagnostic and Detection Fault. Raja K. K. R. Sandireddy. Dept. Of Electrical and Computer Engineering,

Fault Grading FPGA Interconnect Test Configurations

Sequential Circuit Testing 3

TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES

Upper Bounding Fault Coverage by Structural Analysis and Signal Monitoring

Lecture 28 IEEE JTAG Boundary Scan Standard

Independence Fault Collapsing and Concurrent Test Generation

VLSI Test Technology and Reliability (ET4076)

An Efficient Test Relaxation Technique for Synchronous Sequential Circuits

EE434 ASIC & Digital Systems Testing

Acceleration Techniques for Dynamic Vector Compaction

Advanced Digital Logic Design EECS 303

UMBC. space and introduced backtrace. Fujiwara s FAN efficiently constrained the backtrace to speed up search and further limited the search space.

Digital Systems Testing

Defect Tolerance in VLSI Circuits

Chapter 9. Design for Testability

VLSI Test Technology and Reliability (ET4076)

VLSI System Testing. Outline

On Using Machine Learning for Logic BIST

An Efficient Method for Multiple Fault Diagnosis

CHAPTER 1 INTRODUCTION

CHAPTER 7. Copyright Cengage Learning. All rights reserved.

Incremental Diagnosis of Multiple Open-Interconnects

Page 1. Outline. A Good Reference and a Caveat. Testing. ECE 254 / CPS 225 Fault Tolerant and Testable Computing Systems. Testing and Design for Test

Java based Digital Simulation Automation System (JSAS)

Byzantine Consensus in Directed Graphs

AUSIM: Auburn University SIMulator - Version L2.2

CRITICAL PATH TRACING - AN ALTERNATIVE TO FAULT SIMULATION

A Toolbox for Counter-Example Analysis and Optimization

Functional extension of structural logic optimization techniques

Using Error Detection Codes to detect fault attacks on Symmetric Key Ciphers

Faults, Testing & Test Generation

Overview ECE 753: FAULT-TOLERANT COMPUTING 1/23/2014. Recap. Introduction. Introduction (contd.) Introduction (contd.)

THE EXHAUSTIVE TESTING OF FPGA LOGIC CELLS. E. BAREISA KTU, Studentu , Kaunas, Lithuania

High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs

Driving Toward Higher I DDQ Test Quality for Sequential Circuits: A Generalized Fault Model and Its ATPG

Net Diagnosis Using Stuck-at and Transition Fault Models. Lixing Zhao

UNIT IV CMOS TESTING

The Embedded computing platform. Four-cycle handshake. Bus protocol. Typical bus signals. Four-cycle example. CPU bus.

Circuit versus CNF Reasoning for Equivalence Checking

Testing Embedded Cores Using Partial Isolation Rings

On Minimizing the Number of Test Points Needed to Achieve Complete Robust Path Delay Fault Testability

COUNTING AND PROBABILITY

Department of Electrical and Computer Engineering University of Wisconsin Madison. Fall Midterm Examination CLOSED BOOK

Fault-Tolerant Computing

1 Black Box Test Data Generation Techniques

9.5 Equivalence Relations

High-Level Synthesis

12. Use of Test Generation Algorithms and Emulation

Circuit Partitioning for Application-Dependent FPGA Testing

CPE 628 Chapter 4 Test Generation. Dr. Rhonda Kay Gaede UAH. CPE Introduction Conceptual View. UAH Chapter 4

VLSI System Testing. Introduction

CRYPTOGRAPHIC devices are widely used in applications

On Test Generation by Input Cube Avoidance

At-Speed Scan Test with Low Switching Activity

Self-Checking Fault Detection using Discrepancy Mirrors

Functions. How is this definition written in symbolic logic notation?

Digital VLSI Testing. Week 1 Assignment Solution

Digital VLSI Testing Prof. Santanu Chattopadhyay Department of Electronics and EC Engineering India Institute of Technology, Kharagpur.

Faults. Abstract. 1. Introduction. * Nur A. Touba is now with the Department of Electrical and Computer Engineering, University of Texas, Austin, TX

On Using Design Partitioning To Reduce Diagnosis Memory Footprint

VLSI System Testing. Lecture 1 Introduction Class website: people.ee.duke.edu/~krish/teaching/538.html

Evaluating the Fault Tolerance Capabilities of Embedded Systems via BDM

By Matthew Noonan, Project Manager, Resource Group s Embedded Systems & Solutions

Test Generation for Asynchronous Sequential Digital Circuits

6 DESIGN FOR TESTABILITY I: FROM FULL SCAN TO PARTIAL SCAN

Design for Test Methodology Case Study for Motorola C-5e DCP Using the Cadence Incisive Accelerator/Emulator

4.12 Generalization. In back-propagation learning, as many training examples as possible are typically used.

Diagnostic Test Vectors for Combinational and Sequential

Introduction to Software Fault Tolerance Techniques and Implementation. Presented By : Hoda Banki

Chapter 6 Architectural Design. Chapter 6 Architectural design

REDI: An Efficient Fault Oriented Procedure to Identify Redundant Faults in Combinational Logic Circuits *

Genetic Algorithm for Circuit Partitioning

Enabling Testability of Fault-Tolerant Circuits by Means of IDDQ-Checkable Voters

ELEC 7250 VLSI Testing. Final Project: Logic Simulation and Fault Diagnosis. Andrew J. White

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

l Some materials from various sources! Soma 1! l Apply a signal, measure output, compare l 32-bit adder test example:!

Chapter 6 Memory 11/3/2015. Chapter 6 Objectives. 6.2 Types of Memory. 6.1 Introduction

Transcription:

Fault Simulation 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 test vectors Set of undetected faults 2

Netlist Fault list Test set Fault Simulator Fault Coverage Statistics 3 Motivation: Determine the quality of a given set of test vectors (test quality). Find undetected faults with respect to a given test set. August 9, 22 4 2

Usages of Fault Simulators a) Test grading Determine the quality of a given test set. b) Test Generation Generate set of vectors to detect a set of faults. c) Fault diagnosis Identify the location of a fault. d) Design for test (DFT) Identification of points that may help improve test quality. 5 A typical use Select Target Fault Set F F is empty STOP Generate Test for some fault in F Fault Simulation Remove Detected Faults from F 6 3

How to simulate faults? A simple fault simulation algorithm can be obtained by repeated use of any logic simulation algorithm. For each vector, simulation of the fault-free version of the circuit can be followed by simulation of each of the faulty versions of the circuit. If n number of input vectors k number of faults Then, number of simulation runs = n k 7 Some Basic Concepts Fault Masking: A single-fault test can fail to detect the target fault if another fault is also present. y/ x/ The fault y/ prevents the fault x/ from being detected by the vector. 8 4

Redundant Faults: For some faults, no tests may exist. Such faults are untestable. Arise due to some redundancy present in the circuit. a b x/ f Untestable 9 Fault Collapsing: The number of faults that need to be simulated can be decreased by exploiting two relations between a pair of faults f i and f j : a) Fault equivalence b) Fault dominance Used to reduce the fault simulation time. 5

Fault Dropping: It is the practice in which faults detected by a vector are deleted from the fault list prior to the simulation of any subsequent vector. Decreases complexity of fault simulation. Cannot be used for all fault simulation algorithms. Fault Equivalence Definition: Two faults f i and f j in a circuit are said to be equivalent if the corresponding faulty versions of the circuit are identical. All tests that detect f i also detect f j. Example: An input s-a- and output s-a- in an AND gate. A point to note: Number of fault sites in a gate-level circuit = #PI + #gates + # (fanout branches) 2 6

Equivalence Rules AND OR sa sa WIRE sa sa sa sa NOT sa sa NAND NOR sa sa FANOUT sa sa sa sa 3 Equivalence Example 2 Collapse ratio = ----- =.625 32 4 7

Number of lines = 6 Number of single stuck-at faults = 32 Number of faults removed by equivalence collapsing = 2 Thus, collapse ratio = 2 / 32 = 62.5 % 5 Contd. Fault collapsing using equivalence relation: All single faults of a logic circuit can be divided into disjoint equivalence subsets, where all faults in a subset are mutually equivalent. A collapsed fault set contains one fault from each equivalence subset. 6 8

Definition: Fault Dominance If all tests for some fault f i also detect another fault f j, then f j is said to dominate f i. If two faults f i and f j dominate each other, then they are equivalent. 7 Example: A 3-input AND gate. f i s-a- fault in one input of the gate f j s-a- in the gate output Tests for f i Tests for f j,,,,,, Thus, f j dominates f i. f i f j 8 9

Fault collapsing using dominance relation: If a fault f j dominates another fault f i, then f j can be removed from the fault list. In a tree circuit (without fanouts), the primary input faults form a dominance collapsed fault set. Proof straightforward 9 Observation In general, the complexity of identifying all fault dominance and equivalence relations is high. Hence, in practice, the equivalence and dominance relations identified between single stuck-at faults associated with inputs and outputs of gates are used in an iterative fashion to achieve significant fault collapsing. 2

An example: A B f 2 : s-a- f f : s-a- f dominates f 2 though not obvious from the characteristic of the gate alone 2 Definition: Checkpoints Primary inputs and fanout branches of a combinational circuit are called checkpoints. Checkpoint theorem: A test set that detects all single (multiple) stuck-at faults on all checkpoints of a combinational circuit, also detects all single (multiple) stuck-at faults in that circuit. A SIMPLE HEURISTIC FOR FAULT COLLAPSING. 22

Alternatives to Fault Simulation Prototyping with fault injection capabilities Costly Limited fault injection capability Design changes hard to implement Long lead time Hardware emulators Costly Require special hardware 23 Fault Simulator in a VLSI Design Flow Verified design netlist Verification input stimuli Fault simulator Test vectors Modeled fault list Remove tested faults Test compactor Delete vectors Fault coverage? Stop Adequate Low Test generator Add vectors 24 2

Fault Simulation Algorithms Serial Parallel Deductive Concurrent Others Critical path tracing Parallel pattern, etc. 25 [A] Serial 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. 26 3

Advantages: Easy to implement; needs only a true-value simulator, less memory. Most faults, including analog faults, can be simulated. Disadvantage: Much repeated computation; CPU time prohibitive for VLSI circuits. August 9, 22 27 Serial Algorithm (Cont.) Alternative: Simulate many faults together. Test vectors Fault-free circuit Comparator f detected? Circuit with fault f Comparator f2 detected? Circuit with fault f 2 Comparator fn detected? Circuit with fault f n 28 4

[B] Parallel Fault Simulation Takes advantage of multi-bit representation of data and availability of bitwise operations. Compiled-code method. Works best with two-states (,). Extends the basic concept of parallel logic simulation. 29 Basic mechanism: In each pass of simulation, the fault-free circuit as well as (W-) faulty versions are simulated in parallel for a given vector, where W is the machine word length. If q faults are to be simulated for a vector, q/(w-) passes are required. Fault dropping cannot be used. 3 5

How to insert faults? For each fault, an appropriate fault mask is used to insert the effect of the fault at its site. For each line, the fault mask is comprised of two W-bit integers, M Z and M O. 3 Line under consideration (C j ) i th bit of mask i th bit simulates M Z M O Fault-free version of circuit Faulty circuit with C j / Faulty circuit with C j / Faulty circuit with a fault not located at C j If Z denotes the logic value (vector) computed at C j, it is corrected using the expression: Z = (Z AND M Z ) OR M O 32 6

Parallel Fault Simulation Example a b c e c / detected e / detected g d f Fault free c / f / e / e / 33 Fault Masks: a M Z : M O : b M Z : M O : c M Z : M O : d M Z : M O : e M Z : M O : f M Z : M O : g M Z : M O : 34 7

[C] Parallel-Pattern Single-Fault Propagation (PPSFP) Basic idea: A batch of vectors are simulated in parallel. If the fault list contains q faults during the simulation of a batch of W vectors, then their simulation is carried out in a total of (q+) passes. In each pass after the first, one fault is inserted into the circuit. 35 Faster than parallel fault simulation. Computation of logic values is faster at all lines except at the fault site. Limitations: Applicable to combinational circuits only. 36 8

[D] Deductive Fault Simulation This method utilizes a dynamic data structure: One-pass simulation. Each line k contains a list L k of faults detectable at k. It comprises of two (interleaved) steps: a) Fault-free circuit simulation is performed for the given vector. b) The value implied by the vector at every line in each faulty circuit is deduced (using set theoretic rules). Originally implemented for 3-valued logic. 37 Fault List: The fault list L i associated with line i is the set of all faults {f} that cause the values of i in N and N f to differ at the current simulation time. N is the fault-free circuit, and N f the circuit in presence of fault f. If i is a primary output (PO), then L i is the set of detected faults. 38 9

Computation of fault list: Uses a method called fault-list propagation. Performed when one of the following occurs: Logic event: change in signal value of an input or output line of the gate. List event: change in the fault list of one or more inputs of the gate. Some illustrative examples to illustrate computation of fault list is shown next. 39 A B Z L Z = L A U L B U {Z/} A B Z L Z = L A U L B U {Z/} A B Z L Z = (L A L B ) U {Z/} = (L A L B ) U {Z/} 4 2

Limitations: Set-theoretic rules are difficult to derive for complex gates and higher-level functional blocks. Gate delays are difficult to use. Memory requirement is unpredictable. 4 An Example 42 2

[E] Concurrent Fault Simulation Basic motivating factor: Most of the time during simulation, most of the values in most of the faulty circuits agree with the corresponding values in the good circuit. 43 Basic concept: The fault-free version of the circuit, and each of its faulty versions, are concurrently simulated for a given vector. Simulates the good circuit N. For every faulty circuit N f, simulate only those elements in N f that are different from the corresponding ones in N. EVENT-DRIVEN APPROACH August 9, 22 44 22

Data structure used: Concurrent fault list, in which entries are of the form: < fault, input_values, output_value > a b c a/ : ; b/ : ; c/ : ; 45 Alternate way of representing the fault list a b c a/ b/ c/ 46 23

Maintaining the fault lists: Information about a fault will be entered in the fault list if one or more of the following conditions are satisfied: a) The fault f/x is local to the gate. b) The value implied at at least one input or output of the gate is different from that implied at the corresponding line in the faultfree version of the circuit. 47 Initially, the values of all lines are set to the unspecified state X. An entry is removed from the fault list if the corresponding input/output values are identical to that of the fault-free circuit. 48 24

Advantages and limitations: Runs faster as compared to deductive fault simulation for most of the circuits. Memory requirement is higher since the sizes of the fault lists are greater. It can easily be extended to cases where the results of fault simulation depend on timing of events. Delays of the gates can be different. 49 An Example 5 25

[F] Critical Path Tracing Differs from the paradigms discussed earlier in two main ways: a) The method targets all faults within certain parts of a circuit. The complexity of fault simulation is independent of the number of faults. b) The method can only be applied to fanoutfree circuits, in its strictest form. Handling of fanouts requires explicit simulation, and hence more computational overheads. 5 An Example 52 26

Fault Sampling A randomly selected subset (sample) of faults is simulated. Measured coverage in the sample is used to estimate fault coverage in the entire circuit. Advantage: Saving in computing resources (CPU time and memory.) Disadvantage: Limited data on undetected faults. 53 Motivation for Sampling Complexity of fault simulation depends on: Number of gates Number of faults Number of vectors Complexity of fault simulation with fault sampling depends on: Number of gates Number of vectors 54 27

Random Sampling Model Detected fault Undetected fault All faults with a fixed but unknown coverage N p = total number of faults (population size) C = fault coverage (unknown) Random picking N s = sample size N s << N p c = sample coverage (a random variable) 55 Summary Fault simulator is an essential tool for test engineers. Concurrent fault simulation algorithm offers the best choice. For large circuits, the accuracy of random fault sampling only depends on the sample size (, to 2, faults) and not on the circuit size. The method has significant advantages in reducing CPU time and memory needs of the simulator. 56 28