Simultaneous Placement and Clock Tree Construction for Modern FPGAs

Modern field-programmable gate array (FPGA) devices often contain complex clocking architectures to achieve high-performance and flexible clock networks. The physical structure of these clock networks, however, are pre-manufactured, unadjustable, and with only limited routing resources. Most conventional FPGA placement algorithms rarely consider clock feasibility, and therefore lead to clock routing failures. Some recent works adopt simplified clock routing models (e.g., the bounding box model) to force clock legality during placement, which, however, can often overestimate clock routing demands and results in unnecessary placement quality degradation. To address these limitations, in this paper, we propose a generic FPGA placement framework that can simultaneously optimize placement quality and ensure clock feasibility by explicit clock tree construction. We demonstrate the effectiveness and efficiency of the proposed approach using the ISPD 2017 Clock-Aware Placement Contest benchmark suite. Compared with other state-of-the-art clock legalization algorithms, the proposed approach can achieve the best routed wirelength with competitive runtime.

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

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

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

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

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

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

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

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

[9]  David Z. Pan,et al.  A New Paradigm for FPGA Placement Without Explicit Packing , 2019, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[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]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

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

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

[14]  Marshall L. Fisher,et al.  The Lagrangian Relaxation Method for Solving Integer Programming Problems , 2004, Manag. Sci..

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

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

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

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

[19]  Dongjin Lee,et al.  SimPL: An Effective Placement Algorithm , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

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

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

[22]  E. L. Lawler,et al.  Branch-and-Bound Methods: A Survey , 1966, Oper. Res..

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

[24]  Ravindra K. Ahuja,et al.  Network Flows: Theory, Algorithms, and Applications , 1993 .

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