Theory and Algorithm for Generalized Memory Partitioning in High-Level Synthesis