Fault diagnosis and logic debugging using Boolean satisfiability

Recent advances in Boolean satisfiability have made it an attractive engine for solving many digital very-large-scale-integration design problems. Although useful in many stages of the design cycle, fault diagnosis and logic debugging have not been addressed within a satisfiability-based framework. This work proposes a novel Boolean satisfiability-based method for multiple-fault diagnosis and multiple-design-error diagnosis in combinational and sequential circuits. A number of heuristics are presented that keep the method memory and run-time efficient. An extensive suite of experiments on large circuits corrupted with different types of faults and errors confirm its robustness and practicality. They also suggest that satisfiability captures significant characteristics of the problem of diagnosis and encourage novel research in satisfiability-based diagnosis as a complementary process to design verification.

[1]  Janak H. Patel,et al.  New Techniques for Deterministic Test Pattern Generation , 1999, J. Electron. Test..

[2]  Shi-Yu Huang,et al.  ErrorTracer: design error diagnosis based on fault simulation techniques , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  D.P. Siewiorek,et al.  Testing of digital systems , 1981, Proceedings of the IEEE.

[4]  Randal E. Bryant,et al.  Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors , 2003, J. Symb. Comput..

[5]  Kenneth L. McMillan,et al.  Applying SAT Methods in Unbounded Symbolic Model Checking , 2002, CAV.

[6]  Thomas Kropf,et al.  Introduction to Formal Hardware Verification , 1999, Springer Berlin Heidelberg.

[7]  Kwang-Ting Cheng,et al.  Safety property verification using sequential SAT and bounded model checking , 2004, IEEE Design & Test of Computers.

[8]  Robert K. Brayton,et al.  Using SAT for combinational equivalence checking , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[9]  Kwang-Ting Cheng,et al.  A circuit SAT solver with signal correlation guided learning , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[10]  Magdy S. Abadir,et al.  Logic design verification via test generation , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  Melvin A. Breuer,et al.  Digital systems testing and testable design , 1990 .

[12]  Shi-Yu Huang Speeding up the Byzantine fault diagnosis using symbolic simulation , 2002, Proceedings 20th IEEE VLSI Test Symposium (VTS 2002).

[13]  Tracy Larrabee,et al.  Multiplets, models, and the search for meaning: improving per-test fault diagnosis , 2002, Proceedings. International Test Conference.

[14]  Andreas G. Veneris,et al.  Incremental fault diagnosis , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[15]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[16]  Joao Marques-Silva,et al.  Boolean satisfiability in electronic design automation , 2000, Proceedings 37th Design Automation Conference.

[17]  Rolf Drechsler,et al.  Finding good counter-examples to aid design verification , 2003, First ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2003. MEMOCODE '03. Proceedings..

[18]  Shi-Yu Huang,et al.  Formal Equivalence Checking and Design Debugging , 1998 .

[19]  Tracy Larrabee,et al.  Test pattern generation using Boolean satisfiability , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[20]  Paul Tafertshofer,et al.  A SAT-based implication engine for efficient ATPG, equivalence checking, and optimization of netlists , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[21]  Ibrahim N. Hajj,et al.  Diagnosis and correction of multiple logic design errors in digital circuits , 1997, IEEE Trans. Very Large Scale Integr. Syst..

[22]  Per Bjesse,et al.  Finding Bugs in an Alpha Microprocessor Using Satisfiability Solvers , 2001, CAV.

[23]  Rolf Drechsler,et al.  Debugging sequential circuits using Boolean satisfiability , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[24]  Robert C. Aitken Modeling the Unmodelable: Algorithmic Fault Diagnosis , 1997, IEEE Des. Test Comput..

[25]  Robert K. Brayton,et al.  Propositional satisfiability algorithms in eda applications , 2001 .

[26]  Leendert M. Huisman Diagnosing arbitrary defects in logic designs using single location at a time (SLAT) , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[27]  Andreas G. Veneris,et al.  Design rewiring using ATPG , 2002, Proceedings. International Test Conference.

[28]  Rob A. Rutenbar,et al.  FPGA routing and routability estimation via Boolean satisfiability , 1997, FPGA '97.

[29]  Tracy Larrabee,et al.  Diagnosing realistic bridging faults with single stuck-at information , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[30]  Robert K. Brayton,et al.  Sequential circuit design using synthesis and optimization , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[31]  Ibrahim N. Hajj,et al.  Design error diagnosis and correction via test vector simulation , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[32]  Andreas G. Veneris,et al.  Design diagnosis using Boolean satisfiability , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[33]  Andreas Kuehlmann,et al.  Equivalence checking combining a structural SAT-solver, BDDs, and simulation , 2000, Proceedings 2000 International Conference on Computer Design.

[34]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).