Clock-Aware Placement for Large-Scale Heterogeneous FPGAs

A modern field-programmable gate array (FPGA) often contains an ASIC-like clocking architecture which is crucial to achieve better skew and performance. Existing conventional FPGA placement algorithms seldom consider clocking resources, and thus may lead to clock routing failures. To address the special FPGA clocking architecture, this article presents an effective clock-aware placement algorithm for large-scale heterogeneous FPGAs. Our algorithm consists of four major technologies: 1) a combinatorial clock fence region method to effectively reduce the overuse of clocking resources; 2) a smoothed heterogeneous density function to lead heterogeneous blocks to desired sites and a coordinate transformation technique to facilitate CLB cell spreading; 3) a heterogeneous force modulation algorithm to stabilize placement movement and a hierarchical contraction technique to remedy an insufficiency of the multilevel placement framework; and 4) a two-level clock-aware packing and legalization scheme to generate an optimized, clocking-violation-free placement. We evaluate our results based on the ISPD 2017 Clock-Aware Placement Contest benchmark suite. Compared with the state-of-the-art placers, the experimental results show that our algorithm achieves the best-routed wirelength.

[1]  Shawki Areibi,et al.  Deep Learning on FPGAs: Past, Present, and Future , 2016, ArXiv.

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

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

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

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

[6]  Yao-Wen Chang,et al.  Essential Issues in Analytical Placement Algorithms , 2009, IPSJ Trans. Syst. LSI Des. Methodol..

[7]  Chris C. N. Chu,et al.  An efficient and effective detailed placement algorithm , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

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

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

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

[11]  Yao-Wen Chang,et al.  Routing-architecture-aware analytical placement for heterogeneous FPGAs , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[12]  Zied Marrakchi,et al.  Hierarchical FPGA clustering based on multilevel partitioning approach to improve routability and reduce power dissipation , 2005, 2005 International Conference on Reconfigurable Computing and FPGAs (ReConFig'05).

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

[14]  Mustafa Mamat,et al.  A New Conjugate Gradient Method with Exact Line Search , 2015 .

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

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

[17]  Yao-Wen Chang,et al.  NTUplace4h: A Novel Routability-Driven Placement Algorithm for Hierarchical Mixed-Size Circuit Designs , 2014, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[18]  Kia Bazargan,et al.  Timing-driven partitioning-based placement for island style FPGAs , 2005, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[19]  David Z. Pan,et al.  Simultaneous Placement and Clock Tree Construction for Modern FPGAs , 2019, FPGA.

[20]  Yao-Wen Chang,et al.  TSV-Aware Analytical Placement for 3-D IC Designs Based on a Novel Weighted-Average Wirelength Model , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[21]  Satoshi Goto,et al.  An efficient algorithm for the two-dimensional placement problem in electrical circuit layout , 1981 .

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

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

[24]  Yao-Wen Chang,et al.  Detailed-routability-driven analytical placement for mixed-size designs with technology and region constraints , 2015, 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

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

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

[27]  Mohammed A. S. Khalid,et al.  QPF: efficient quadratic placement for FPGAs , 2005, International Conference on Field Programmable Logic and Applications, 2005..

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

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

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

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

[32]  Malgorzata Marek-Sadowska,et al.  Efficient circuit clustering for area and power reduction in FPGAs , 2002, FPGA '02.

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

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