A New Paradigm for FPGA Placement Without Explicit Packing

Placement and packing are two important but separated optimization steps in a conventional field programmable gate array (FPGA) implementation flow. A packing engine clusters logic elements, like lookup tables and flip-flops, into configurable logic blocks, while a placement engine determines their physical locations in FPGA layouts. This paper presents a new paradigm for FPGA placement without an explicit packing stage. In the proposed framework, the solution spaces of placement and packing are simultaneously explored in a smooth and elegant way. Our experiments on ISPD 2016 and 2017 benchmark suites demonstrate the effectiveness of the proposed framework.

[1]  Igor L. Markov,et al.  ComPLx: A competitive primal-dual Lagrange optimization for global placement , 2012, DAC Design Automation Conference 2012.

[2]  Meng Li,et al.  UTPlaceF 3.0: A parallelization framework for modern FPGA global placement: (Invited paper) , 2017, 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[3]  Z. Marrakchi,et al.  Hierarchical FPGA clustering to improve routability , 2005, Research in Microelectronics and Electronics, 2005 PhD.

[4]  Ali Akoglu,et al.  Timing-Driven Nonuniform Depopulation-Based Clustering , 2010, Int. J. Reconfigurable Comput..

[5]  Evangeline F. Y. Young,et al.  RippleFPGA: Routability-Driven Simultaneous Packing and Placement for Modern FPGAs , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  David Z. Pan,et al.  UTPlaceF: A Routability-Driven FPGA Placer With Physical and Congestion Aware Packing , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Majid Sarrafzadeh,et al.  RPack: routability-driven packing for cluster-based FPGAs , 2001, ASP-DAC '01.

[8]  Evangeline F. Y. Young,et al.  Clock-aware ultrascale FPGA placement with machine learning routability prediction: (Invited paper) , 2017, 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

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

[10]  Chris C. N. Chu,et al.  FastPlace: efficient analytical placement using cell shifting, iterative local refinement,and a hybrid net model , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Stephen Yang,et al.  Routability-Driven FPGA Placement Contest , 2016, ISPD.

[12]  Cheng-Kok Koh,et al.  A fast maze-free routing congestion estimator with hybrid unilateral monotonic routing , 2012, 2012 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[13]  Gary William Grewal,et al.  GPlace: A congestion-aware placement tool for UltraScale FPGAs , 2016, 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[14]  Andrew A. Kennings,et al.  Improving Timing-Driven FPGA Packing with Physical Information , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[15]  L. S. Shapley,et al.  College Admissions and the Stability of Marriage , 2013, Am. Math. Mon..

[16]  Dongjin Lee,et al.  SimPL: An effective placement algorithm , 2010, 2010 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[17]  Wenyi Feng K-way partitioning based packing for FPGA logic blocks without input bandwidth constraint , 2012, 2012 International Conference on Field-Programmable Technology.

[18]  Ismail Bustany,et al.  POLAR: Placement based on novel rough legalization and refinement , 2013, 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[19]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing , 2010, SIGMOD Conference.

[20]  Meng Li,et al.  UTPlaceF 2.0 , 2018, ACM Trans. Design Autom. Electr. Syst..

[21]  Malgorzata Marek-Sadowska,et al.  Efficient circuit clustering for area and power reduction in FPGAs , 2002, TODE.

[22]  Ulf Schlichtmann,et al.  Kraftwerk2—A Fast Force-Directed Quadratic Placement Approach Using an Accurate Net Model , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[23]  Love Singhal,et al.  LSC: A large-scale consensus-based clustering algorithm for high-performance FPGAs , 2017, 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC).

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

[25]  Stephen Yang,et al.  Clock-Aware FPGA Placement Contest , 2017, ISPD.

[26]  Ali Akoglu,et al.  MO-Pack: Many-objective clustering for FPGA CAD , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[27]  Yao-Wen Chang,et al.  Clock-aware placement for large-scale heterogeneous FPGAs , 2017, 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[28]  Vaughn Betz,et al.  Cluster-based logic blocks for FPGAs: area-efficiency vs. input sharing and size , 1997, Proceedings of CICC 97 - Custom Integrated Circuits Conference.

[29]  Yao-Wen Chang,et al.  NTUplace3: An Analytical Placer for Large-Scale Mixed-Size Designs With Preplaced Blocks and Density Constraints , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.