Challenges and Opportunities with Place and Route of Modern FPGA Designs

Raymond Nijssen
DOI: https://doi.org/10.1145/2872334.2872336
2016-04-03
Abstract:In the last decade place and route algorithms used for large high performance FPGA designs have been successfully adapted from those used in ASIC design flows. All major FPGA tool sets now use advanced analytical global placement algorithms with sophisticated cell clustering. Thanks to this, fast runtimes and predictable performance on designs with millions of placeable objects empower designers to quickly and often evaluate their decisions. Fast design flow turn-around times and predictability are of tremendous value to help designers improve timing closure problems in their designs, and accommodate them to floorplanning constraints and congestion bottlenecks. Although many P&R related aspects are common between ASIC and FPGA technologies, many are unique to FPGAs. For example, the many tight, rigid constraints, as well as aggressive runtime requirements and the heterogeneity of the problems. As these unique challenges have received relatively little coverage in literature this presentation focuses on the entailing opportunities. In particular, unlike ASICs in which different types of cell instances can be moved between and within rows freely, FPGAs have discrete, fixed heterogeneous resource locations onto which the user design must be fitted: a flip-flop instance in the user netlist can only be placed onto a flip-flop site of the FPGA fabric. Carry chains in FPGA fabrics are very fast, but run only vertically, typically only in one direction. And the routing fabric of an FPGA must impose countless routing restrictions, like one-way routing and input sharing, without which the size of the chip would become prohibitively large. These essential restrictions must be well understood and taken into account in algorithms targeting FPGAs. In its first part, this presentation will cover several examples of such aspects and will suggest approaches. The second part covers incremental compilation, various forms of parallel processing are other must-have features for a competitive FPGA P&R flow. Such techniques present challenges that demand a more algorithmical approach to take these to the next level. Third, modern FPGAs have evolved far from the original textbook LUT-flop logic building blocks. They feature a hybrid between much more complex logic blocks and a rich variety of ASIC blocks implementing various commonly used IP like PCIe controllers, feature-rich IOs and dedicated function blocks in the FPGA core. FPGA P&R flows offering a more seamless integration between these environments must also automate the process of configuring such diverse components and all the connections related to it. Finally, next generations of FPGAs and their EDA systems are facing peripheral interfaces whose bandwidths increase very rapidly while the processing logic's propagation delays are not expected to reduce significantly in upcoming fabrication technology nodes. Several existing and new techniques to deal with this widening discrepancy will need to be applied more aggressively, calling for new features in FPGA P&R algorithms in the near future.
What problem does this paper attempt to address?