FBDD: a folded logic synthesis system

Despite decades of efforts and successes in logic synthesis, algorithm runtime has rarely been taken as a first class objective in research. As design complexity soars and million gate designs become common, as deep submicron effects dominate and frequently invoking logic synthesis within a low-level physical design environment, or a high-level architectural exploration environment become mandatory, it becomes necessary to revisit the fundamental logic synthesis infrastructure and algorithms. In this paper, we demonstrate FBDD, an open sourced, binary decision diagram (BDD) based logic synthesis package, which employs several new techniques, including folded logic transformations and two-variable sharing extraction. Towards the goal of scaling logic synthesis algorithms, we show that for standard benchmarks, and for field programmable gate array (FPGA) technology, FBDD can produce circuits with comparable area with commercial tools, while running one order of magnitude faster

[1]  Fabio Somenzi,et al.  CUDD: CU Decision Diagram Package Release 2.2.0 , 1998 .

[2]  Sharad Malik,et al.  Application of BDDs in Boolean matching techniques for formal logic combinational verification , 2001, International Journal on Software Tools for Technology Transfer.

[3]  Giovanni Squillero,et al.  RT-Level ITC'99 Benchmarks and First ATPG Results , 2000, IEEE Des. Test Comput..

[4]  Fadi J. Kurdahi,et al.  On clustering for maximal regularity extraction , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  Carl Sechen,et al.  Efficient canonical form for Boolean matching of complex functions in large libraries , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[6]  S. Yang,et al.  Logic Synthesis and Optimization Benchmarks User Guide Version 3.0 , 1991 .

[7]  Karem A. Sakallah,et al.  Generalized symmetries in Boolean functions , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[8]  R. Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[9]  Bernd Steinbach,et al.  An algorithm for bi-decomposition of logic functions , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[10]  Ingo Wegener,et al.  On the complexity of minimizing the OBDD size for incompletely specified functions , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[12]  A. Chowdhary,et al.  A general approach for regularity extraction in datapath circuits , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[13]  J.A.G. Jess,et al.  Two-dimensional datapath regularity extraction , 1996 .

[14]  S. Yamashita,et al.  An Efficient Method for Generating Kernels on Implicit Cube Set Representations , 1999 .

[15]  Alan Mishchenko Fast computation of symmetries in Boolean functions , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Wei Wang,et al.  Disjunctive decomposition of switching functions using symmetry information , 2000, Proceedings 13th Symposium on Integrated Circuits and Systems Design (Cat. No.PR00843).

[17]  Russell Tessier,et al.  BDD-based logic synthesis for LUT-based FPGAs , 2002, TODE.

[18]  Robert K. Brayton,et al.  MIS: A Multiple-Level Logic Optimization System , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[19]  Soha Hassoun,et al.  Regularity extraction via clan-based structural circuit decomposition , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[20]  A. Mishchenko,et al.  Detecting support-reducing bound sets using two-cofactor symmetries , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[21]  Fabio Somenzi,et al.  Symmetry detection and dynamic variable ordering of decision diagrams , 1994, ICCAD '94.

[22]  Dennis Wu,et al.  BDD-based two variable sharing extraction , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[23]  Kurt Keutzer DAGON: Technology Binding and Local Optimization by DAG Matching , 1987, DAC.

[24]  Bo-Gwan Kim,et al.  Multilevel logic synthesis of symmetric switching functions , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[25]  Ravi Varadarajan,et al.  A signature based approach to regularity extraction , 1997, ICCAD 1997.

[26]  Gotaro Odawara,et al.  Partitioning and Placement Technique for CMOS Gate Arrays , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[27]  R. Brayton,et al.  MVSIS 2 . 0 User ’ s Manual , 2003 .

[28]  Tsutomu Sasao,et al.  Fast Boolean matching under permutation using representative , 1999, Proceedings of the ASP-DAC '99 Asia and South Pacific Design Automation Conference 1999 (Cat. No.99EX198).

[29]  Giovanni De Micheli,et al.  Technology mapping using Boolean matching and don't care sets , 1990, Proceedings of the European Design Automation Conference, 1990., EDAC..

[30]  M. Ciesielski,et al.  BDS: a BDD-based logic optimization system , 2000, Proceedings 37th Design Automation Conference.

[31]  S. L. Hurst,et al.  A Digital Synthesis Procedure Under Function Symmetries and Mapping Methods , 1978, IEEE Transactions on Computers.

[32]  Thomas Kutzschebauch,et al.  Regularity driven logic synthesis , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[33]  Massoud Pedram,et al.  Boolean matching using binary decision diagrams with applications to logic synthesis and verification , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[34]  Michael Weber,et al.  Detection of symmetry of Boolean functions represented by ROBDDs , 1993, ICCAD.

[35]  Olivier Coudert,et al.  Verification of Synchronous Sequential Machines Based on Symbolic Execution , 1989, Automatic Verification Methods for Finite State Systems.

[36]  Miodrag Potkonjak,et al.  Performance optimization using template mapping for datapath-intensive high-level synthesis , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..