• 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