This project implements a Serial Fault Simulation Tool in Python, focusing on evaluating fault coverage in gate-level digital circuits. The simulation helps analyze the effectiveness of test patterns in detecting structural faults such as stuck-at faults using ISCAS-format netlists.
-
Title: Serial Fault Simulation
-
Technology: Python (NumPy, CSV processing)
-
Authors:
- Neha Golani (22BEC042)
- Ditsa Patel (22BEC036)
-
Institution: Nirma University, Institute of Technology
-
Submitted for: Digital Testing and Verification Coursework
- 🧪 Reads and processes ISCAS-format gate-level netlists
- 🔁 Injects stuck-at-0 and stuck-at-1 faults
- 🧠 Compares faulty vs. fault-free simulation to detect faults
- 📊 Computes and reports fault coverage metrics
- 🛠️ Implements fault equivalence and controllability analysis
- Load ISCAS netlist (
iscas.txt) - Define all possible faults (e.g.,
net_sa0,net_sa1) - Load predefined test patterns
- Simulate the fault-free circuit
- Store outputs as reference for fault detection
- Inject each fault one at a time
- Run the circuit again with the same input
- If output differs from golden run → fault detected
- Compute:
- Number of faults detected per pattern
- Total fault coverage
- Ineffective patterns that detect no new faults
iscas.txt— ISCAS-formatted circuit netlistfault_simulation.py— Python script implementing fault simulation logicFault_simulation_Report.pdf— Project report including code, results, and analysis
- Remaining Fault List: List of uncollapsed structural faults
- Detected Faults: List and count of faults detected for each test pattern
- ISCAS Dictionary: Internal signal mapping for each simulation run
- Summary Statistics: Fault coverage rate, effective input vectors
- Serial Fault Simulation
- Fault Equivalence
- Controllability and Observability
- Test Pattern Evaluation
- Design for Testability (DFT)
- Test pattern validation for digital ICs
- Design and debug of ATPG systems
- Academic exploration of fault modeling and simulation
- Teaching tool for digital design testing
This project is licensed under the MIT License .