Optimality Study of Logic Synthesis for LUT-Based FPGAs

Field-programmable gate-array (FPGA) logic synthesis and technology mapping have been studied extensively over the past 15 years. However, progress within the last few years has slowed considerably (with some notable exceptions). It seems natural to then question whether the current logic-synthesis and technology-mapping algorithms for FPGA designs are producing near-optimal solutions. Although there are many empirical studies that compare different FPGA synthesis/mapping algorithms, little is known about how far these algorithms are from the optimal (recall that both logic-optimization and technology-mapping problems are NP-hard, if we consider area optimization in addition to delay/depth optimization). In this paper, we present a novel method for constructing arbitrarily large circuits that have known optimal solutions after technology mapping. Using these circuits and their derivatives (called Logic synthesis Examples with Known Optimal (LEKO) and Logic synthesis Examples with Known Upper bounds (LEKU), respectively), we show that although leading FPGA technology-mapping algorithms can produce close to optimal solutions, the results from the entire logic-synthesis flow (logicoptimization+mapping) are far from optimal. The LEKU circuits were constructed to show where the logic synthesis flow can be improved, while the LEKO circuits specifically deal with the performance of the technology mapping. The best industrial and academic FPGA synthesis flows are around 70 times larger in terms of area on average and, in some cases, as much as 500 times larger on LEKU examples. These results clearly indicate that there is much room for further research and improvement in FPGA synthesis

[1]  George Karypis,et al.  Multilevel Hypergraph Partitioning , 2003 .

[2]  Majid Sarrafzadeh,et al.  Wirelength estimation based on rent exponents of partitioning and placement , 2001, SLIP '01.

[3]  Jarrod A. Roy,et al.  Capo: robust and scalable open-source min-cut floorplacer , 2005, ISPD '05.

[4]  Joseph R. Shinnerl,et al.  An enhanced multilevel algorithm for circuit placement , 2003, ICCAD-2003. International Conference on Computer Aided Design (IEEE Cat. No.03CH37486).

[5]  Shashi Shekhar,et al.  Multilevel hypergraph partitioning: applications in VLSI domain , 1999, IEEE Trans. Very Large Scale Integr. Syst..

[6]  Chris C. N. Chu,et al.  FastPlace: efficient analytical placement using cell shifting, iterative local refinement, and a hybrid net model , 2005, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  Nam Sung Woo A heuristic method for FPGA technology mapping based on the edge visibility , 1991, 28th ACM/IEEE Design Automation Conference.

[8]  Martin D. F. Wong,et al.  Edge-map: Optimal Performance Driven Technology Mapping for Iterative Lut Based Fpga Designs , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[9]  Maxim Teslenko,et al.  Hermes: LUT FPGA technology mapping algorithm for area minimization with optimum depth , 2004, ICCAD 2004.

[10]  Andrew B. Kahng,et al.  Evaluation of placer suboptimality via zero-change netlist transformations , 2005, ISPD '05.

[11]  Jason Cong,et al.  Multilevel generalized force-directed method for circuit placement , 2005, ISPD '05.

[12]  Alan Mishchenko,et al.  An Integrated Technology Mapping Environment , 2005 .

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

[14]  J. Cong,et al.  Optimality and scalability study of existing placement algorithms , 2003, Proceedings of the ASP-DAC Asia and South Pacific Design Automation Conference, 2003..

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

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

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

[18]  Jason Cong,et al.  Beyond the combinatorial limit in depth minimization for LUT-based FPGA designs , 1993, ICCAD.

[19]  Jason Cong,et al.  DAG-Map: graph-based FPGA technology mapping for delay optimization , 1992, IEEE Design & Test of Computers.

[20]  Jarrod A. Roy,et al.  On Sub-optimality and Scalability of Logic Synthesis Tools , 2003 .

[21]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[22]  Jason Cong,et al.  RASP: A General Logic Synthesis System for SRAM-Based FPGAs , 1996, Fourth International ACM Symposium on Field-Programmable Gate Arrays.

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

[24]  Shashi Shekhar,et al.  Multilevel hypergraph partitioning: application in VLSI domain , 1997, DAC.

[25]  Andrew B. Kahng,et al.  Implementation and extensibility of an analytic placer , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[26]  Jason Cong,et al.  Optimality and Stability Study of Timing-Driven Placement Algorithms , 2003, ICCAD 2003.

[27]  Jason Cong,et al.  Optimality, scalability and stability study of partitioning and placement algorithms , 2003, ISPD '03.

[28]  Roy L. Russo,et al.  On a Pin Versus Block Relationship For Partitions of Logic Graphs , 1971, IEEE Transactions on Computers.

[29]  Kevin Karplus Xmap: a technology mapper for table-lookup field-programmable gate arrays , 1991, 28th ACM/IEEE Design Automation Conference.

[30]  Rajeev Murgai,et al.  Improved logic synthesis algorithms for table look up architectures , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[31]  Jason Cong,et al.  DAOmap: a depth-optimal area optimization mapping algorithm for FPGA designs , 2004, ICCAD 2004.

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

[33]  Jonathan Rose,et al.  Chortle-crf: fast technology mapping for lookup table-based FPGAs , 1991, 28th ACM/IEEE Design Automation Conference.

[34]  Jason Cong,et al.  Combinational logic synthesis for LUT based field programmable gate arrays , 1996, TODE.

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

[36]  Joseph R. Shinnerl,et al.  An area-optimality study of floorplanning , 2004, ISPD '04.