Communication-Aware Module Placement for Power Reduction in Large FPGA Designs

Modern multi-million logic FPGAs allow hardware designers to map increasingly large designs into FPGAs. However, traditional FPGA CAD flows scale poorly for large designs, often producing low quality solutions in terms of performance and power in such cases. To improve the design productivity, modular design methodology partitions a large design into subsystems, compiles them individually and finally collates the individual solutions to complete the mapping process. Existing work has attempted to partition large designs into smaller subsystems, based on the intra-subsystem communication frequencies, to reduce routing power dissipation. However, inter-subsystem communication has not been considered, especially, during the placement stage. In this paper, we first show the adverse effect of ignoring the inter-subsystem communication during the placement stage. Next, we propose an inter-subsystem communication-aware placement technique using a Simulated Annealing based approach to achieve significant power savings. Experimental results show over 7% reduction in routing power when compared to the existing state-of-the-art partitioning flow that does not consider inter-subsystem communication, while the routing power reduction is over 11% when compared to a commercial CAD tool such as Altera Quartus.

[1]  Peter M. Athanas,et al.  A design assembly framework for FPGA back-end acceleration , 2012, 2012 International Conference on Reconfigurable Computing and FPGAs.

[2]  Jin-Hee Cho,et al.  Trust-Based Multi-objective Optimization for Node-to-Task Assignment in Coalition Networks , 2013, FCCM 2013.

[3]  Steven Trimberger,et al.  A 90-nm Low-Power FPGA for Battery-Powered Applications , 2007, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Brent E. Nelson,et al.  HMFlow: Accelerating FPGA Compilation with Hard Macros for Rapid Prototyping , 2011, 2011 IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines.

[5]  James Coole,et al.  BPR: fast FPGA placement and routing using macroblocks , 2012, CODES+ISSS '12.

[6]  Vaughn Betz,et al.  Speeding Up FPGA Placement: Parallel Algorithms and Methods , 2014, 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines.

[7]  Russell Tessier Fast placement approaches for FPGAs , 2002, TODE.

[8]  Steven Trimberger,et al.  Three Ages of FPGAs: A Retrospective on the First Thirty Years of FPGA Technology , 2015, Proceedings of the IEEE.

[9]  Increasing Productivity With Quartus II Incremental Compilation , 1998 .

[10]  Marco D. Santambrogio,et al.  Floorplanning for Partially-Reconfigurable FPGA Systems via Mixed-Integer Linear Programming , 2014, 2014 IEEE 22nd Annual International Symposium on Field-Programmable Custom Computing Machines.

[11]  Jianwen Zhu,et al.  Towards scalable placement for FPGAs , 2010, FPGA '10.

[12]  Li Shang,et al.  Dynamic power consumption in Virtex™-II FPGA family , 2002, FPGA '02.

[13]  Lesley Shannon,et al.  Identifying and placing heterogeneously-sized cluster groupings based on FPGA placement data , 2014, 2014 24th International Conference on Field Programmable Logic and Applications (FPL).

[14]  Vaughn Betz,et al.  Efficient and Deterministic Parallel Placement for FPGAs , 2011, TODE.

[15]  Marcel Gort,et al.  Design re-use for compile time reduction in FPGA high-level synthesis flows , 2014, 2014 International Conference on Field-Programmable Technology (FPT).

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

[17]  Saraju P. Mohanty,et al.  A Congestion Driven Placement Algorithm for FPGA Synthesis , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[18]  Qiang Wang,et al.  CAD Techniques for Power Optimization in Virtex-5 FPGAs , 2007, 2007 IEEE Custom Integrated Circuits Conference.

[19]  Julien Lamoureux,et al.  On the Interaction Between Power-Aware FPGA CAD Algorithms , 2003, ICCAD 2003.

[20]  Thambipillai Srikanthan,et al.  Communication-aware Partitioning for Energy Optimization of Large FPGA Designs , 2017, ACM Great Lakes Symposium on VLSI.

[21]  Abhishek Ranjan,et al.  Multi-Million Gate FPGA Physical Design Challenges , 2003, ICCAD.

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