Optimizing SDRAM bandwidth for custom FPGA loop accelerators
- 22 February 2012
- proceedings article
- Published by Association for Computing Machinery (ACM)
- p. 195-204
- https://doi.org/10.1145/2145694.2145727
Abstract
Memory bandwidth is critical to achieving high performance in many FPGA applications. The bandwidth of SDRAM memories is, however, highly dependent upon the order in which addresses are presented on the SDRAM interface. We present an automated tool for constructing an application specific on-chip memory address sequencer which presents requests to the external memory with an ordering that optimizes off-chip memory bandwidth for fixed on-chip memory resource. Within a class of algorithms described by affine loop nests, this approach can be shown to reduce both the number of requests made to external memory and the overhead associated with those requests. Data presented shows a trade off between the use of on-chip resources and achievable off-chip memory bandwidth where a range of improvements from 3.6x to 4x gain in efficiency on the external memory interface can be gained at a cost of up to a 1.4x increase in the ALUTs dedicated to address generation circuits in an Altera Stratix III device.Keywords
This publication has 15 references indexed in Scilit:
- The Polyhedral Model Is More Widely Applicable Than You ThinkPublished by Springer Nature ,2010
- Iterative Optimization in the Polyhedral Model: Part I, One-Dimensional TimePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2007
- Lattice-Based Memory AllocationIEEE Transactions on Computers, 2005
- Estimating influence of data layout optimizations on SDRAM energy consumptionPublished by Association for Computing Machinery (ACM) ,2003
- Memory access schedulingACM SIGARCH Computer Architecture News, 2000
- Array allocation taking into account SDRAM characteristicsPublished by Association for Computing Machinery (ACM) ,2000
- Cramming More Components Onto Integrated CircuitsProceedings of the IEEE, 1998
- The Elimination of Integer VariablesJournal of the Operational Research Society, 1992
- A data locality optimizing algorithmPublished by Association for Computing Machinery (ACM) ,1991
- The mapping of linear recurrence equations on regular arraysJournal of Signal Processing Systems, 1989