Memory Partitioning for Multidimensional Arrays in High-Level Synthesis