Exploiting signal unobservability for efficient translation to CNF in formal verification of microprocessors

The paper presents a method for translating Boolean circuits to CNF by identifying trees of ITE operators, where each ITE has fanout count of 1, and representing every such tree with a single set of equivalent CNF clauses without intermediate variables for ITE outputs, except for the tree output. This not only eliminates intermediate variables, but also reduces the number of clauses, compared to conventional translation to CNF, where each ITE is assigned an output variable and is represented with a separate set of clauses. Other gates with fanout count of 1 are similarly merged with their fanout gate to generate a single set of equivalent clauses. This translation to CNF was implemented in a decision procedure for the logic of equality with uninterpreted functions and memories (EUFM), and was applied to formulas from formal verification of microprocessors. To increase the number of ITE-trees in the Boolean formulas, the decision procedure was optimized to preserve the ITE-tree structure of arguments to equality comparisons. In conventional translation to CNF with the unoptimized decision procedure, the benchmark formulas require up to hundreds of thousands of CNF variables and millions of clauses. The best translation strategy reduced the CNF variables by up to 8x; the clauses by up to 17x; the SAT-solver decisions by up to 79x; the SAT-solver conflicts by up to 96x; and accelerated the SAT solving by up to 420x.

[1]  Hans K. Buning,et al.  Propositional Logic: Deduction and Algorithms , 1999 .

[2]  Alan J. Hu,et al.  Semi-formal Bounded Model Checking , 2002, CAV.

[3]  Fahiem Bacchus,et al.  Effective Preprocessing with Hyper-Resolution and Equality Reduction , 2003, SAT.

[4]  Ohad Shacham,et al.  Tuning the VSIDS decision heuristic for bounded model checking , 2003, Proceedings. 4th International Workshop on Microprocessor Test and Verification - Common Challenges and Solutions.

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

[6]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

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

[8]  Joao Marques-Silva Algebraic Simplification Techniques for Propositional Satisfiability , 2000, CP.

[9]  Kunle Olukotun,et al.  Verifying correct pipeline implementation for microprocessors , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[10]  Randal E. Bryant,et al.  Boolean satisfiability with transitivity constraints , 2000, TOCL.

[11]  Kwang-Ting Cheng,et al.  A signal correlation guided ATPG solver and its applications for solving difficult industrial cases , 2003, DAC '03.

[12]  David A. Patterson,et al.  Computer Architecture - A Quantitative Approach, 5th Edition , 1996 .

[13]  Randal E. Bryant,et al.  Efficient Modeling of Memory Arrays in Symbolic Ternary Simulation , 1998, TACAS.

[14]  Elmar Eder An Implementation of a Theorem Prover Based on the Connection Method , 1984, AIMSA.

[15]  Miroslav N. Velev,et al.  Efficient translation of Boolean formulas to CNF in formal verification of microprocessors , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[16]  Wilhelm Ackermann,et al.  Solvable Cases Of The Decision Problem , 1954 .

[17]  Robert K. Brayton,et al.  The use of observability and external don't cares for the simplification of multi-level networks , 1991, DAC '90.

[18]  David L. Dill,et al.  Efficient validity checking for processor verification , 1995, ICCAD.

[19]  Randal E. Bryant,et al.  Exploiting positive equality and partial non-consistency in the formal verification of pipelined microprocessors , 1999, DAC '99.

[20]  Daniel Le Berre Exploiting the real power of unit propagation lookahead , 2001, Electron. Notes Discret. Math..

[21]  Dong Wang,et al.  Using cutwidth to improve symbolic simulation and Boolean satisfiability , 2001, Sixth IEEE International High-Level Design Validation and Test Workshop.

[22]  Amir Pnueli,et al.  The Small Model Property: How Small Can It Be? , 2002, Inf. Comput..

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

[24]  Igor L. Markov,et al.  Faster SAT and smaller BDDs via common function structure , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[25]  Sharad Malik,et al.  Cache Performance of SAT Solvers: a Case Study for Efficient Implementation of Algorithms , 2003, SAT.

[26]  K. Keutzer DAGON: Technology Binding and Local Optimization by DAG Matching , 1987, 24th ACM/IEEE Design Automation Conference.

[27]  Thierry Boy de la Tour An Optimality Result for Clause Form Translation , 1992, J. Symb. Comput..

[28]  Giovanni De Micheli,et al.  Observability don't care sets and Boolean relations , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[29]  Randal E. Bryant,et al.  Formal verification of superscalar microprocessors with multicycle functional units, exceptions, and branch prediction , 2000, Proceedings 37th Design Automation Conference.

[30]  Kurt Antreich,et al.  Handling special constructs in symbolic simulation , 2002, DAC '02.

[31]  Sanjit A. Seshia,et al.  A hybrid SAT-based decision procedure for separation logic with uninterpreted functions , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[32]  Malay K. Ganai,et al.  Circuit-based Boolean reasoning , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[33]  Albert R. Wang,et al.  Logic verification using binary decision diagrams in a logic synthesis environment , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.

[34]  Randal E. Bryant,et al.  Superscalar Processor Verification Using Efficient Reductions of the Logic of Equality with Uninterpreted Functions to Propositional Logic , 1999, CHARME.

[35]  Inês Lynce,et al.  Probing-based preprocessing techniques for propositional satisfiability , 2003, Proceedings. 15th IEEE International Conference on Tools with Artificial Intelligence.

[36]  Satyanarayana V. Lokam,et al.  Width-Based Algorithms for SAT and CIRCUIT-SAT: (Extended Abstract) , 2003, SAT.

[37]  Shuvendu K. Lahiri,et al.  Deductive Verification of Advanced Out-of-Order Microprocessors , 2003, CAV.

[38]  Miroslav N. Velev,et al.  Automatic Abstraction of Memories in the Formal Verification of Superscalar Microprocessors , 2001, TACAS.

[39]  Randal E. Bryant,et al.  Bit-Level Abstraction in the Verfication of Pipelined Microprocessors by Correspondence Checking , 1998, FMCAD.

[40]  Tughrul Arslan,et al.  Proceedings Design, Automation and Test in Europe Conference and Exhibition , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[41]  Hans Zantema,et al.  A Proof System and a Decision Procedure for Equality Logic , 2004, LATIN.

[42]  Michal Kouril,et al.  SBSAT: a State-Based, BDD-Based Satisfiability Solver , 2003, SAT.

[43]  M. Paterson,et al.  A note on disjunctive form tautologies , 1973, SIGA.

[44]  V. Rich Personal communication , 1989, Nature.

[45]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

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

[47]  David L. Dill,et al.  Automatic verification of Pipelined Microprocessor Control , 1994, CAV.

[48]  Hai Zhou,et al.  BDD Based Procedures for a Theory of Equality with Uninterpreted Functions , 2003, Formal Methods Syst. Des..

[49]  Randal E. Bryant,et al.  Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic , 1999, TOCL.

[50]  Ronen I. Brafman,et al.  A simplifier for propositional formulas with many binary clauses , 2001, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

[51]  Shuvendu K. Lahiri,et al.  Experience with term level modeling and verification of the M*CORE/sup TM/ microprocessor core , 2001, Sixth IEEE International High-Level Design Validation and Test Workshop.

[52]  James M. Crawford,et al.  Experimental Results on the Crossover Point inSatis ability , 1993 .

[53]  Thomas Rath,et al.  On the Practical Value of Different Definitional Translations to Normal Form , 1996, CADE.

[54]  Hans Zantema,et al.  Transforming equality logic to propositional logic , 2003, Electron. Notes Theor. Comput. Sci..

[55]  Randal E. Bryant,et al.  Effective use of boolean satisfiability procedures in the formal verification of superscalar and VLIW , 2001, DAC '01.

[56]  Randal E. Bryant,et al.  EVC: A Validity Checker for the Logic of Equality with Uninterpreted Functions and Memories, Exploiting Positive Equality, and Conservative Transformations , 2001, CAV.

[57]  Zijiang Yang,et al.  Dynamic detection and removal of inactive clauses in SAT with application in image computation , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[58]  Miroslav N. Velev,et al.  Formal Verification of VLIW Microprocessors with Speculative Execution , 2000, CAV.

[59]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002, Discret. Appl. Math..

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

[61]  Sanjit A. Seshia,et al.  Modeling and Verification of Out-of-Order Microprocessors in UCLID , 2002, FMCAD.

[62]  Chu Min Li,et al.  Look-Ahead Versus Look-Back for Satisfiability Problems , 1997, CP.

[63]  Lakhdar Sais,et al.  Recovering and Exploiting Structural Knowledge from CNF Formulas , 2002, CP.

[64]  David L. Dill,et al.  Checking Satisfiability of First-Order Formulas by Incremental Translation to SAT , 2002, CAV.

[65]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[66]  Miroslav N. Velev,et al.  Automatic Abstraction of Equations in a Logic of Equality , 2003, TABLEAUX.

[67]  Randal E. Bryant,et al.  Incorporating timing constraints in the efficient memory model for symbolic ternary simulation , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

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

[69]  Ilkka Niemelä,et al.  Towards an Efficient Tableau Method for Boolean Circuit Satisfiability Checking , 2000, Computational Logic.

[70]  Jerry R. Burch Techniques for verifying superscalar microprocessors , 1996, DAC '96.

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