3-Valued Circuit SAT for STE with Automatic Refinement

Symbolic Trajectory Evaluation (STE) is a powerful technique for hardware model checking. It is based on a 3-valued symbolic simulation, using 0,1 and X ("unknown"), where the X is used to abstract away values of the circuit nodes. Most STE tools are BDD-based and use a dual rail representation for the three possible values of circuit nodes. SAT-based STE tools typically use two variables for each circuit node, to comply with the dual rail representation. In this work we present a novel 3-valued Circuit SAT-based algorithm for STE. The STE problem is translated into a Circuit SAT instance. A solution for this instance implies a contradiction between the circuit and the STE assertion. An unSAT instance implies either that the assertion holds, or that the model is too abstract to be verified. In case of a too abstract model, we propose a refinement automatically. We implemented our 3-Valued Circuit SAT-based STE algorithm and applied it successfully to several STE examples.

[1]  Koen Claessen,et al.  SAT-Based Assistance in Abstraction Refinement for Symbolic Trajectory Evaluation , 2006, CAV.

[2]  Assaf Schuster,et al.  Hybrid BDD and All-SAT Method for Model Chcking and Other Applications , 2007 .

[3]  Orna Grumberg,et al.  Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation , 2006, CAV.

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

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

[6]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[7]  A. Goel,et al.  GSTE through a case study , 2002, ICCAD.

[8]  Thomas Schubert,et al.  High-level formal verification of next-generation microprocessors , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[9]  Carl-Johan H. Seger,et al.  An industrially effective environment for formal hardware verification , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[10]  Randal E. Bryant,et al.  Formal verification by symbolic evaluation of partially-ordered trajectories , 1995, Formal Methods Syst. Des..

[11]  Karem A. Sakallah,et al.  Conflict analysis in search algorithms for propositional satisfiability , 1996 .

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

[13]  Helmut Veith,et al.  Counterexample-guided abstraction refinement for symbolic model checking , 2003, JACM.

[14]  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.

[15]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[16]  Sharad Malik,et al.  Combining strengths of circuit-based and CNF-based algorithms for a high-performance SAT solver , 2002, DAC '02.

[17]  Sharad Malik,et al.  Efficient conflict driven learning in a Boolean satisfiability solver , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[18]  Sharad Malik,et al.  Conflict driven learning in a quantified Boolean Satisfiability solver , 2002, ICCAD 2002.

[19]  Chengqi Zhang,et al.  Multi-Agent Systems Methodologies and Applications , 1996, Lecture Notes in Computer Science.

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

[21]  Magdy S. Abadir,et al.  Formal verification of content addressable memories using symbolic trajectory evaluation , 1997, DAC.

[22]  Hideo Fujiwara,et al.  On the Acceleration of Test Generation Algorithms , 1983, IEEE Transactions on Computers.

[23]  Koen Claessen,et al.  A New SAT-Based Algorithm for Symbolic Trajectory Evaluation , 2005, CHARME.

[24]  Fabio Somenzi,et al.  CirCUs: A Satisfiability Solver Geared towards Bounded Model Checking , 2004, CAV.

[25]  Masahiro Fujita,et al.  Symbolic model checking using SAT procedures instead of BDDs , 1999, DAC '99.