DocumentCode :
124080
Title :
Using buffer-to-BRAM mapping approaches to trade-off throughput vs. memory use
Author :
Vasiljevic, Jasmina ; Chow, Peter
Author_Institution :
Edward S. Rogers Sr. Dept. of Electr. & Comput. Eng., Univ. of Toronto, Toronto, ON, Canada
fYear :
2014
fDate :
2-4 Sept. 2014
Firstpage :
1
Lastpage :
8
Abstract :
One of the challenges in designing high-performance FPGA applications is fine-tuning the use of limited on-chip memory storage among many buffers in an application. To achieve desired performance and meet the on-chip memory budget requirements, the designer faces the burden of manually assigning application buffers to physical on-chip memories. Mismatches between dimensions (bit-width and depth) of buffers and physical on-chip memories lead to underutilized memories. Memory utilization can be increased via buffer packing - grouping buffers together and implementing them as a single memory, at the expense of data throughput. However, identifying buffer groups that result in the least amount of physical memory is a combinatorial problem with a large search space. This process is time consuming and non-trivial, particularly with a large number of buffers of various depths and bit widths. Previous work [1] introduced a tool that provides high-level pragmas allowing the user to specify global memory requirements, such as an application´s on-chip memory budget and data throughput. This paper extends the previous work by introducing two low-level pragmas that specify information about memory access patterns, resulting in an improved on-chip memory utilization up to 22%. Further, we develop a simulated annealing based buffer packing algorithm, which reduces the tool´s run-time from over 30 mins down to 15 sec, with an improvement in performance in the generated memory solution. Finally, we demonstrate the effectiveness of our tool with four stream application benchmarks.
Keywords :
field programmable gate arrays; microprocessor chips; random-access storage; simulated annealing; FPGA; buffer packing; buffer-to-BRAM mapping; high-level pragmas; memory access patterns; memory use; memory utilization; on-chip memory budget requirements; on-chip memory storage; physical memory; physical on-chip memories; simulated annealing; trade-off throughput; underutilized memories; Benchmark testing; Buffer storage; Field programmable gate arrays; Hardware design languages; Memory management; System-on-chip; Throughput;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Field Programmable Logic and Applications (FPL), 2014 24th International Conference on
Conference_Location :
Munich
Type :
conf
DOI :
10.1109/FPL.2014.6927469
Filename :
6927469
Link To Document :
بازگشت