Symbolic model checking using SAT procedures instead of BDDs

In this paper, we study the application of propositional decision procedures in hardware verification. In particular, we apply bounded model checking to equivalence and invariant checking. We present several optimizations that reduce the size of generated propositional formulas. In many instances, our SAT-based approach can significantly outperform BDD-based approaches. We observe that SAT-based techniques are particularly efficient in detecting errors in both combinational and sequential designs.

[1]  David A. Plaisted,et al.  A Structure-Preserving Clause Form Translation , 1986, J. Symb. Comput..

[2]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[3]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[4]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[5]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[6]  Arne Borälv,et al.  The Industrial Success of Verification Tools Based on Stålmarck's Method , 1997, CAV.

[7]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[8]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[9]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.

[10]  Alain J. Martin The Design of a Self-timed Circuit for Distributed Mutual Exclusion , 1983 .

[11]  Anamaria Martins Moreira,et al.  Using induction and BDDs to model check invariants , 1997, CHARME.

[12]  Wolfgang Kunz,et al.  HANNIBAL: An efficient tool for logic verification based on recursive learning , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[13]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[14]  Wolfgang Kunz HANNIBAL: an efficient tool for logic verification based on recursive learning , 1993, ICCAD.

[15]  Kenneth L. McMillan,et al.  A Conjunctively Decomposed Boolean Representation for Symbolic Model Checking , 1996, CAV.

[16]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[17]  Journal of the Association for Computing Machinery , 1961, Nature.

[18]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .