DAG-aware circuit compression for formal verification

The choice of representation for circuits and Boolean formulae in a formal verification tool is important for two reasons. First of all, representation compactness is necessary in order to keep the memory consumption low. This is witnessed by the importance of maximum processable design size for equivalence checkers. Second, many formal verification algorithms are sensitive to redundancies in the design that is processed. To address these concerns, three different auto-compressing representations for Boolean circuit networks and formulas have been suggested in the literature. We attempt to find a blend of features from these alternatives that allows us to remove as much redundancy as possible while not sacrificing runtime. By studying how the network representation size varies when we change parameters, we show that the use of only one operator node is suboptimal, and demonstrate that the most powerful of the proposed reduction rules, two-level minimization, actually can be harmful. We correct the bad behavior of two-level optimization by devising a simple linear simplification algorithm that can remove tens of thousands of nodes on examples where all obvious redundancies already have been removed. The combination of our compactor with the simplest representation outperforms all of the alternatives we have studied, with a theoretical runtime bound that is at least as good as the three studied representations.

[1]  Koen Claessen,et al.  SAT-Based Verification without State Space Traversal , 2000, FMCAD.

[2]  Helmut Veith,et al.  Automated Abstraction Refinement for Model Checking Large State Spaces Using SAT Based Conflict Analysis , 2002, FMCAD.

[3]  Robert P. Kurshan,et al.  Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach , 2014 .

[4]  J. Baumgartner,et al.  Min-area retiming on flexible circuit structures , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

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

[6]  Henrik Reif Andersen,et al.  Equivalence checking of combinational circuits using Boolean expression diagrams , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  Fabio Somenzi,et al.  Logic synthesis and verification algorithms , 1996 .

[8]  Henrik Reif Andersen,et al.  Boolean Expression Diagrams , 2002, Inf. Comput..

[9]  Andreas Kuehlmann,et al.  Equivalence checking using cuts and heaps , 1997, DAC.

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

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

[12]  Charles E. Leiserson,et al.  Retiming synchronous circuitry , 1988, Algorithmica.

[13]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[14]  Armin Biere,et al.  Combining Decision Diagrams and SAT Procedures for Efficient Symbolic Model Checking , 2000, CAV.

[15]  Helmut Veith,et al.  SAT Based Predicate Abstraction for Hardware Verification , 2003, SAT.

[16]  Rolf Drechsler Using Synthesis Techniques in SAT Solvers , 2004, MBMV.

[17]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

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

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

[20]  Antoine Rauzy,et al.  Bypassing BDD construction for reliability analysis , 2000, Inf. Process. Lett..

[21]  Parosh Aziz Abdulla,et al.  Symbolic Reachability Analysis Based on SAT-Solvers , 2000, TACAS.