Memory bank customization and assignment in behavioral synthesis

With increasing design complexity and chip area, on-chip memory has become an important component whose integration needs to be addressed during system design. Modern embedded DRAM technology allows for large amounts of on-chip memory space. However, in order to utilize the available memory intelligently, the memory has to be appropriately customized for the specific application. We address the topic of incorporating the application-specific customization of memory bank configuration into behavioral synthesis. The strategy involves a partitioning of behavioral arrays into memory banks based on a cost function that estimates the performance implications. For a given candidate partition, we present a heuristic for determining the access sequence that minimizes page misses in a bank while respecting data dependences. The output of the exploration is a graph displaying the variation of delay and memory area with the bank configuration. Our experiments on several memory-intensive examples confirm that the exploration results can provide critical feedback to the designer about the optimal memory configuration for a given application.

[1]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[2]  H. Koizumi,et al.  Memory-CPU Size Optimization For Embedded System Designs , 1997, Proceedings of the 34th Design Automation Conference.

[3]  Jianwen Zhu,et al.  Specification and Design of Embedded Systems , 1998, Informationstechnik Tech. Inform..

[4]  David S. Johnson,et al.  Computers and Inrracrobiliry: A Guide ro the Theory of NP-Completeness , 1979 .

[5]  Jonathan Rose,et al.  Definition and solution of the memory packing problem for field-programmable systems , 1994, ICCAD.

[6]  David A. Patterson,et al.  Computer architecture (2nd ed.): a quantitative approach , 1996 .

[7]  Francky Catthoor,et al.  Fast and extensive system-level memory exploration for ATM applications , 1997, Proceedings. Tenth International Symposium on System Synthesis (Cat. No.97TB100114).

[8]  Alexandru Nicolau,et al.  High-Level synthesis with Synchronous and RAMBUS DRAMs , 1998 .

[9]  Paul Chow,et al.  Exploiting dual data-memory banks in digital signal processors , 1996, ASPLOS VII.

[10]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[11]  Sharad Malik,et al.  Memory bank and register allocation in software synthesis for ASIPs , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[12]  Brian Kernighan,et al.  An efficient heuristic for partitioning graphs , 1970 .

[13]  Nikil D. Dutt,et al.  Incorporating DRAM access modes into high-level synthesis , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[14]  Nikil D. Dutt,et al.  Library mapping for memories , 1997, Proceedings European Design and Test Conference. ED & TC 97.

[15]  Miodrag Potkonjak,et al.  Application-driven synthesis of core-based systems , 1997, ICCAD 1997.

[16]  Hugo De Man,et al.  Background memory area estimation for multidimensional signal processing systems , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[17]  Jonathan Rose,et al.  Definition And Solution Of The Memory Packing Problem For Field-programmable Systems , 1994, IEEE/ACM International Conference on Computer-Aided Design.