Impact of FPGA architecture on resource sharing in high-level synthesis

Resource sharing is a key area-reduction approach in high-level synthesis (HLS) in which a single hardware functional unit is used to implement multiple operations in the high-level circuit specification. We show that the utility of sharing depends on the underlying FPGA logic element architecture and that different sharing trade-offs exist when 4-LUTs vs. 6-LUTs are used. We further show that certain multi-operator patterns occur multiple times in programs, creating additional opportunities for sharing larger composite functional units comprised of patterns of interconnected operators. A sharing cost/benefit analysis is used to inform decisions made in the binding phase of an HLS tool, whose RTL output is targeted to Altera commercial FPGA families: Stratix IV (dual-output 6-LUTs) and Cyclone II (4-LUTs).

[1]  Jason Cong,et al.  High-Level Synthesis for FPGAs: From Prototyping to Deployment , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Lothar Lilge,et al.  FPGA-based Monte Carlo Computation of Light Absorption for Photodynamic Cancer Therapy , 2009, 2009 17th IEEE Symposium on Field Programmable Custom Computing Machines.

[3]  Stephen Neuendorffer,et al.  FPGA Pipeline Synthesis Design Exploration Using Module Selection and Resource Sharing , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Vladimir Kolmogorov,et al.  Blossom V: a new implementation of a minimum cost perfect matching algorithm , 2009, Math. Program. Comput..

[5]  Bertrand Le Gal,et al.  High-level synthesis for the design of FPGA-based signal processing systems , 2009, 2009 International Symposium on Systems, Architectures, Modeling, and Simulation.

[6]  Hiroyuki Tomiyama,et al.  Proposal and Quantitative Analysis of the CHStone Benchmark Program Suite for Practical C-based High-level Synthesis , 2009, J. Inf. Process..

[7]  K. Keutzer DAGON: Technology Binding and Local Optimization by DAG Matching , 1987, 24th ACM/IEEE Design Automation Conference.

[8]  Jason Cong,et al.  Pattern-based behavior synthesis for FPGA resource reduction , 2008, FPGA '08.

[9]  Jason Cong,et al.  Optimality study of resource binding with multi-Vdds , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[10]  Jason Helge Anderson,et al.  LegUp: high-level synthesis for FPGA-based processor/accelerator systems , 2011, FPGA '11.

[11]  Jaeho Lee,et al.  FPGA-targeted high-level binding algorithm for power and area reduction with glitch-estimation , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[12]  Daniel Gajski,et al.  An Introduction to High-Level Synthesis , 2009, IEEE Design & Test of Computers.

[13]  Jason Cong,et al.  Simultaneous FU and Register Binding Based on Network Flow Method , 2008, 2008 Design, Automation and Test in Europe.