Theory and algorithm for generalized memory partitioning in high-level synthesis

  • Authors:
  • Yuxin Wang;Peng Li;Jason Cong

  • Affiliations:
  • Center for Energy-Efficient Computing and Applications, Peking University, Beijing, China;Center for Energy-Efficient Computing and Applications, Peking University, Beijing, China;University of California, Los Angeles, Los Angeles, CA, USA & Peking University, Beijing, China

  • Venue:
  • Proceedings of the 2014 ACM/SIGDA international symposium on Field-programmable gate arrays
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

The significant development of high-level synthesis tools has greatly facilitated FPGAs as general computing platforms. During the parallelism optimization for the data path, memory becomes a crucial bottleneck that impedes performance enhancement. Simultaneous data access is highly restricted by the data mapping strategy and memory port constraint. Memory partitioning can efficiently map data elements in the same logical array onto multiple physical banks so that the accesses to the array are parallelized. Previous methods for memory partitioning mainly focused on cyclic partitioning for single-port memory. In this work we propose a generalized memory-partitioning framework to provide high data throughput of on-chip memories. We generalize cyclic partitioning into block-cyclic partitioning for a larger design space exploration. We build the conflict detection algorithm on polytope emptiness testing, and use integer points counting in polytopes for intra-bank offset generation. Memory partitioning for multi-port memory is supported in this framework. Experimental results demonstrate that compared to the state-of-art partitioning algorithm, our proposed algorithm can reduce the number of block RAM by 19.58%, slice by 20.26% and DSP by 50%.