Git Product home page Git Product logo

harshithsn / fault-collapsing-and-fault-simulation Goto Github PK

View Code? Open in Web Editor NEW
5.0 1.0 3.0 6.27 MB

This project is based on Digital VLSI Testing and Testability. The netlist is given as input, the code performs Dominance fault collapsing, Parallel fault simulation, Deductive fault simulation.

Jupyter Notebook 100.00%
prallel-fault-simulation fault-collapsing deductive-fault-simulation vlsi vlsi-project

fault-collapsing-and-fault-simulation's Introduction

Dominance Fault Collapsing and Parallel Fault Simulation and Deductive Fault Simulation

This project is based on Digital VLSI Testing and Testability. The netlist and input_vector is given as input, the code performs Dominance fault collapsing, Parallel fault simulation, Deductive fault simulation.

Prerequisite for this project

  1. Create a netlist by naming all wires with numbers (increasing order 1,2,3,.....), starting from input to output. example is shown below
  2. Save the netlist in .txt format and edit netlist file name in code. (Don't give extra spacing at end of netlist).
  3. install plotly Python library. This Python library is used to tabulate simulation result. pip install plotly
  4. Change input vectors as needed, numbering of input vector is from increasing order of inputs of the circuit. This input vector is used for both Parallel fault simulation and Dominace fault simulation.

Example (4:1 MUX netlist is used for simulation)

NAND 5 3 4
AND 14 6 7
AND 15 8 9
AND 16 10 11
AND 17 12 13
OR 21 14 15
OR 23 16 17
NAND 24 19 20
AND 25 21 24
AND 26 22 23
OR 27 25 26
INPUT 1 7 9 11 13 18
OUTPUT 27
FANOUT 1 2 8 12
FANOUT 2 3 4
FANOUT 5 6 10
FANOUT 18 19 20 22

mux-01

The code contain many variable and functions which are used in fault collapsing and fault simulation. Each cell in code contain description of variabels and function.

Dominance Fault Collapsing

Fault F2 is said to dominate the fault F1 if all tests of fault F1 detect another fault F2. If fault F2 dominates F1, then F2 is removed from the fault list. To collapse faults of a gate, all faults from the output can be eliminated retaining one type of fault on each input and the other type on any one of the inputs. The collapsing rules are different for different gates (AND,OR,NAND,NOR). Collapse ratio is better.

The code first initializes fault at each node. sa0_5 this implies that stuck at 0 at node 5.

Consider fault is present at each node. Then traverse throuth output of circuit to input of circuit and Collapse fault considering rules for dominance fault collapsing.

DominanceFault-01

Parallel Fault Simulation

Parallel fault simulation most effective, Circuit consists of only logic gates where all gates are assumed to have the same delay. Simulate stuck-at fault using bit-parallelism of logical operations in a digital computer.

The code takes input_vector as input and perform parallel fault simulation and tabulate the simulated output and calculate fault coverage for corresponding input vector.

pf2

pfsr

Deductive Fault Simulation

Use gate level model with zero or unit delay and two level signal. This is One-pass simulation, where each line k contains a list Lk of faults detectable on it. Considering true-value simulation of each vector, fault lists of all gate output lines are updated using set-theoretic rules, signal values, and gate.

drf

df

The code takes input_vector as input and perform deductive fault simulation and tabulate the propagated faults at output node and calculate fault coverage for corresponding input vector.

Limitations of Code

  1. Netlist need to be numbered in ascending order from input to output.
  2. The circuit will may/may not work if feedback is given.
  3. Works only for AND,OR,NAND,NOR gates. The not gate should be modeled as NAND inverter / NOR inverter.
  4. Can't run netlist with more than 2 input gates.

Acknowledgement

Dr. Rathnamala Rao, Assistant Professor, NITK Surathkal

THANK YOU

fault-collapsing-and-fault-simulation's People

Contributors

harshithsn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.