Support-Reducing Decomposition for FPGA Mapping

Decomposition is a technology-independent process, in which a large complex function is broken into smaller, less complex functions. The costs of two-level or factored-form representations (cubes and literals) are used in most decomposition methods, as they have a high correlation with the area of cell-based designs. However, this correlation is weaker for field-programmable gate arrays (FPGAs) based on look-up tables. Furthermore, local optimizations have limited power due to the structural bias of the circuit descriptions. This paper tries to reduce the structural biasing by remapping the look-up table network and decomposing the derived functions using the support as cost function. The proposed method improves the FPGA mapping results of a commercial tool for the 20 largest MCNC benchmarks, with gains of 28% in delay plus 18% in area when targeting delay, and a reduction of 28% in area plus 14% in delay with area as cost function. Results with 23% less area and 6% less delay are obtained after physical synthesis (post place-and-route). Moreover, 12 of the best known results for delay (and 3 for area) of the EPFL benchmarks are improved.

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

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

[3]  Robert K. Brayton,et al.  ABC: An Academic Industrial-Strength Verification Tool , 2010, CAV.

[4]  Klaus Eckl,et al.  A Boolean approach to performance-directed technology mapping for LUT-based FPGA designs , 1996, DAC '96.

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

[6]  Jordi Cortadella Timing-driven logic bi-decomposition , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  Klaus Eckl,et al.  An implicit algorithm for support minimization during functional decomposition , 1996, Proceedings ED&TC European Design and Test Conference.

[8]  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..

[9]  Giovanni De Micheli,et al.  Don't care set specifications in combinational and synchronous logic circuits , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Robert K. Brayton,et al.  Reducing structural bias in technology mapping , 2006, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[11]  Kartik Mohanram,et al.  Bi-decomposition of large Boolean functions using blocking edge graphs , 2010, 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

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

[13]  Martin D. F. Wong,et al.  DDBDD: Delay-Driven BDD Synthesis for FPGAs , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[14]  Zhiru Zhang,et al.  A Parallelized Iterative Improvement Approach to Area Optimization for LUT-Based Technology Mapping , 2017, FPGA.

[15]  H. Sawada,et al.  Logic synthesis for look-up table based FPGAs using functional decomposition and support minimization , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[16]  Robert K. Brayton,et al.  Combinational and sequential mapping with priority cuts , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[17]  Jason Cong,et al.  A quantitative analysis on microarchitectures of modern CPU-FPGA platforms , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[18]  R. Brayton,et al.  Scalable Logic Synthesis using a Simple Circuit Structure , 2006 .

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

[20]  Jordi Cortadella,et al.  Support-Reducing Functional Decomposition for FPGA Technology Mapping , 2018 .

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

[22]  Jonathan Rose,et al.  Measuring the Gap Between FPGAs and ASICs , 2007, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[23]  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..

[24]  Victor N. Kravets,et al.  Constructive library-aware synthesis using symmetries , 2000, Proceedings Design, Automation and Test in Europe Conference and Exhibition 2000 (Cat. No. PR00537).

[25]  Jan Schmidt,et al.  Sources of bias in EDA tools and its influence , 2014, 17th International Symposium on Design and Diagnostics of Electronic Circuits & Systems.

[26]  David Bañeres,et al.  Timing-driven N-way decomposition , 2009, GLSVLSI '09.

[27]  K. McMillan,et al.  Safe BDD Minimization Using Don't Cares , 1997, Proceedings of the 34th Design Automation Conference.

[28]  Adam Opara,et al.  Logic synthesis for FPGAs based on cutting of BDD , 2017, Microprocess. Microsystems.

[29]  Frank M. Brown,et al.  Boolean reasoning - the logic of boolean equations , 1990 .

[30]  Giovanni De Micheli,et al.  The EPFL Combinational Benchmark Suite , 2015 .

[31]  Mayler G. A. Martins,et al.  Bottom-up disjoint-support decomposition based on cofactor and boolean difference analysis , 2015, 2015 33rd IEEE International Conference on Computer Design (ICCD).