Scalable Synthesis and Clustering Techniques Using Decision Diagrams

Binary-decision diagrams (BDDs) have proven to be an efficient means to represent and manipulate Boolean formulas and sets due to their compactness and canonicity. In this paper, we leverage the efficiency of BDDs for new areas in field-programmable gate-array (FPGA) computer-aided design (CAD) flow including cut generation and clustering by reducing these problems to BDDs and solving them using Boolean operations. As a result, we show that this leads to more than 10 reduction in runtime and memory use when compared to previous techniques, as reported by Mishchenko and Lin. This speedup allows us to apply this paper to new areas in the FPGA CAD flow previously not possible. Specifically, we introduce a new method to solve the logic-synthesis elimination problem found in FBDD, a reported BDD synthesis engine with an order-of-magnitude speedup over SIS. Our new elimination algorithm results in an overall speedup of 6 in FBDD with no impact on circuit area.

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

[2]  Shawki Areibi,et al.  An efficient clustering technique for circuit partitioning , 1996, 1996 IEEE International Symposium on Circuits and Systems. Circuits and Systems Connecting the World. ISCAS 96.

[3]  Jason Cong,et al.  An optimal technology mapping algorithm for delay optimization in lookup-table based FPGA designs , 1992, ICCAD.

[4]  Robert K. Brayton,et al.  Improvements to Technology Mapping for LUT-Based FPGAs , 2007, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  Vaughn Betz,et al.  VPR: A new packing, placement and routing tool for FPGA research , 1997, FPL.

[6]  Stephen Dean Brown,et al.  Heuristics for Area Minimization in LUT-Based FPGA Technology Mapping , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Jason Cong,et al.  Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[8]  Stephen Dean Brown,et al.  FPGA technology mapping: a study of optimality , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[9]  Sheldon B. Akers,et al.  Binary Decision Diagrams , 1978, IEEE Transactions on Computers.

[10]  Jason Cong,et al.  Optimal simultaneous mapping and clustering for FPGA delay optimization , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[11]  Robert K. Brayton,et al.  DAG-aware AIG rewriting: a fresh look at combinational logic synthesis , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[12]  Jason Cong,et al.  Boolean matching for complex PLBs in LUT-based FPGAs with application to architecture evaluation , 1998, FPGA '98.

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

[14]  Shawki Areibi,et al.  Advanced Search Techniques for Circuit Partitioning , 1993, Quadratic Assignment and Related Problems.

[15]  Jason Cong,et al.  FlowMap: an optimal technology mapping algorithm for delay optimization in lookup-table based FPGA designs , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  A. Mishchenko,et al.  Factor Cuts , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[17]  Jason Cong,et al.  Cut ranking and pruning: enabling a general and efficient FPGA mapping solution , 1999, FPGA '99.

[18]  Vaughn Betz,et al.  Using cluster-based logic blocks and timing-driven packing to improve FPGA speed and density , 1999, FPGA '99.

[19]  Jason Cong,et al.  On Area/Depth Trade-off in LUT-Based FPGA Technology Mapping , 1993, 30th ACM/IEEE Design Automation Conference.

[20]  Stephen Dean Brown,et al.  FPGA PLB evaluation using quantified Boolean satisfiability , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[21]  Jianwen Zhu,et al.  FBDD: a folded logic synthesis system , 2005, 2005 6th International Conference on ASIC.

[22]  Maciej J. Ciesielski,et al.  BDS: a BDD-based logic optimization system , 2000, DAC.

[23]  Jason Cong,et al.  DAOmap: a depth-optimal area optimization mapping algorithm for FPGA designs , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

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

[25]  Saburo Muroga,et al.  Binary Decision Diagrams , 2000, The VLSI Handbook.

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

[27]  Shin-ichi Minato,et al.  Zero-Suppressed BDDs for Set Manipulation in Combinatorial Problems , 1993, 30th ACM/IEEE Design Automation Conference.