To SAT or Not to SAT: Scalable Exploration of Functional Dependency

Functional dependency is concerned with rewriting a Boolean function f as a function h over a set of base functions {g1,¿,gn}, i.e., f = h(g1,¿,gn). It plays an important role in many aspects of electronic design automation (EDA). Prior approaches to the exploration of functional dependency are based on binary decision diagrams (BDDs), which may not be easily scalable to large designs. This paper formulates both single-output and multiple-output functional dependencies as satisfiability (SAT) solving and exploits extensively the capability of a modern SAT solver. Thereby, functional dependency can be detected effectively through incremental SAT solving, and the dependency function h, if it exists, is obtained through Craig interpolation. The proposed method enables (1) scalable detection of functional dependency, (2) fast enumeration of dependency function under a large set of candidate base functions, and (3) potential application to large-scale logic synthesis and formal verification. Experimental results show that the proposed method is far superior to prior work and scales well in dealing with the largest ISCAS and ITC benchmark circuits with up to 200 K gates.

[1]  Prabhakar Kudva,et al.  Implicit enumeration of structural changes in circuit optimization , 2004, Proceedings. 41st Design Automation Conference, 2004..

[2]  R. Brinkmann,et al.  Foundations of Hierarchical SAT-Solving , 2005 .

[3]  Tiziano Villa,et al.  Efficient solution of language equations using partitioned representations , 2005, Design, Automation and Test in Europe.

[4]  C. A. J. van Eijk,et al.  Exploiting functional dependencies in finite state machine verification , 1996, Proceedings ED&TC European Design and Test Conference.

[5]  Ellen Sentovich,et al.  Latch optimization in circuits generated from high-level descriptions , 1996, Proceedings of International Conference on Computer Aided Design.

[6]  Jie-Hong Roland Jiang,et al.  Scalable exploration of functional dependency by interpolation and incremental SAT solving , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[7]  Jie-Hong Roland Jiang,et al.  Bi-decomposing large Boolean functions via interpolation and satisfiability solving , 2008, 2008 45th ACM/IEEE Design Automation Conference.

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

[9]  Czech Republickrajicek Interpolation Theorems, Lower Bounds for Proof Systems, and Independence Results for Bounded Arithmetic , 2007 .

[10]  Robert K. Brayton,et al.  Functional Dependency for Verification Reduction , 2004, CAV.

[11]  Robert K. Brayton,et al.  SAT-based complete don't-care computation for network optimization , 2005, Design, Automation and Test in Europe.

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

[13]  Alan J. Hu,et al.  Reducing BDD Size by Exploiting Functional Dependencies , 1993, 30th ACM/IEEE Design Automation Conference.

[14]  Jie-Hong Roland Jiang,et al.  To SAT or not to SAT: Ashenhurst decomposition in a large scale , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[15]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[16]  Olivier Coudert,et al.  New ideas on symbolic manipulations of finite state machines , 1990, Proceedings., 1990 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[17]  Pavel Pudlák,et al.  Lower bounds for resolution and cutting plane proofs and monotone computations , 1997, Journal of Symbolic Logic.

[18]  A. Richard Newton,et al.  Exact Redundant State Registers Removal Based on Binary Decision Diagrams , 1991, VLSI.

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

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

[21]  Ranjit Jhala,et al.  Interpolant-Based Transition Relation Approximation , 2007, Log. Methods Comput. Sci..

[22]  William Craig,et al.  Linear reasoning. A new form of the Herbrand-Gentzen theorem , 1957, Journal of Symbolic Logic.

[23]  R. Brayton,et al.  SAT-Based Logic Optimization and Resynthesis , 2007 .

[24]  Lakhdar Sais,et al.  Automatic Extraction of Functional Dependencies , 2004, SAT.

[25]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[26]  Robert K. Brayton,et al.  Using simulation and satisfiability to compute flexibilities in Boolean networks , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[27]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

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

[29]  Joonyoung Kim,et al.  SATIRE: A new incremental satisfiability engine , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).