UTPlaceF 2.0

Modern field-programmable gate array (FPGA) devices contain complex clock architectures on top of configurable logics. Unlike application specific integrated circuits (ASICs), the physical structure of clock networks in an FPGA is pre-manufactured and cannot be adjusted to different applications. Furthermore, clock routing resources are typically limited for high-utilization designs. Consequently, clock architectures impose extra clock constraints and further complicate physical implementation tasks such as placement. Traditional ASIC placement techniques only optimize conventional design metrics such as wirelength, routability, power, and timing without clock legality consideration. It is imperative to have new techniques to honor clock constraints during placement for FPGAs. In this article, we propose a high-performance FPGA placement engine, UTPlaceF 2.0, that optimizes wirelength and routability while honoring complex clock constraints. Our proposed approaches consist of an iterative minimum-cost-flow-based cell assignment as well as a clock-aware packing for producing clock-legal yet high-quality placement solutions. UTPlaceF 2.0 won first place in the ISPD’17 clock-aware FPGA placement contest organized by Xilinx, outperforming the second- and the third-place winners by 4.0% and 10.0%, respectively, in routed wirelength with competitive runtime, on a set of industry benchmarks.

[1]  David K. Smith Network Flows: Theory, Algorithms, and Applications , 1994 .

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

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

[4]  Marcel Gort,et al.  Analytical placement for heterogeneous FPGAs , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).

[5]  Gary William Grewal,et al.  StarPlace: A new analytic method for FPGA placement , 2011, Integr..

[6]  Steven J. E. Wilton,et al.  On the trade-off between power and flexibility of FPGA clock networks , 2008, TRETS.

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

[8]  Larry C. Andrews,et al.  Special Functions Of Mathematics For Engineers , 2022 .

[9]  David Z. Pan,et al.  UTPlaceF: A routability-driven FPGA placer with physical and congestion aware packing , 2016, 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

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

[11]  Yao-Wen Chang,et al.  Efficient and effective packing and analytical placement for large-scale heterogeneous FPGAs , 2014, 2014 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

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

[13]  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).

[14]  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).

[15]  Andrew B. Kahng,et al.  A fast hierarchical quadratic placement algorithm , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[16]  Yao-Wen Chang,et al.  An efficient and effective analytical placer for FPGAs , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

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

[18]  Evangeline F. Y. Young,et al.  RippleFPGA: A routability-driven placement for large-scale heterogeneous FPGAs , 2016, 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[19]  Guy Lemieux,et al.  Un/DoPack: re-clustering of large system-on-chip designs with interconnect variation for low-cost FPGAs , 2006, ICCAD.

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

[21]  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).

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