Low power memory design

In this paper, we present a novel design procedure for multi-module, multi-port memory design that satisfies area and/or energy/timing constraints. Our procedure consists of (i) use of storage bandwidth optimization (SBO) techniques to simplify the conflict graph and (ii) use of memory exploration techniques to determine the best memory configuration (number of modules, size and number of ports per module) with the minimum area if the energy and timing are bounded or with the minimum energy/timing if the area is bounded. Here the simplest conflict graph implies more possibilities for the arrays assigned to the same module without the penalty in an increase of the number of ports for each module. Our benchmark shows that the heuristic algorithm is very efficient to decide the best memory configuration for the system constraints (timing, area, or energy). In addition, the CACTI tool (Premkishore Shivakumar and N.P. Jouppi, 2001) is modified to estimate the timing, area, and energy for each module in different CMOS technologies (0.8 /spl mu/m, 0.35 /spl mu/m, and 0.18 /spl mu/m). Furthermore, we consider the lifetime for arrays; this results in significant reduction in timing, area, and energy for the arrays executed in different cycles sharing the same memory module.

[1]  W.F.J. Verhaegh,et al.  Allocation of multiport memories for hierarchical data streams , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[2]  Sun-Young Hwang,et al.  A scheduling algorithm for multiport memory minimization in datapath synthesis , 1995, ASP-DAC '95.

[3]  Hugo De Man,et al.  Dataflow-driven memory allocation for multi-dimensional signal processing systems , 1994, ICCAD.

[4]  Niraj K. Jha,et al.  Memory binding for performance optimization of control-flow intensive behaviors , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[5]  Hugo De Man,et al.  Data routing: a paradigm for efficient data-path synthesis and code generation , 1994, Proceedings of 7th International Symposium on High-Level Synthesis.

[6]  Francky Catthoor,et al.  Custom Memory Management Methodology: Exploration of Memory Organisation for Embedded Multimedia System Design , 1998 .

[7]  Preeti Ranjan Panda,et al.  Memory bank customization and assignment in behavioral synthesis , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[8]  Norman P. Jouppi,et al.  Cacti 3. 0: an integrated cache timing, power, and area model , 2001 .

[9]  Taewhan Kim,et al.  Utilization of Multiport Memories in Data Path Synthesis , 1993, 30th ACM/IEEE Design Automation Conference.

[10]  Chaitali Chakrabarti,et al.  Low power multi-module, multi-port memory design for embedded systems , 2000, 2000 IEEE Workshop on SiGNAL PROCESSING SYSTEMS. SiPS 2000. Design and Implementation (Cat. No.00TH8528).

[11]  Viraphol Chaiyakul,et al.  An algorithm for array variable clustering , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[12]  Arun K. Majumdar,et al.  Allocation of multiport memories in data path synthesis , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[13]  Chaitali Chakrabarti,et al.  Memory Design and Exploration for Low Power, Embedded Systems , 1999 .

[14]  Michael J. Flynn,et al.  An area model for on-chip memories and its application , 1991 .

[15]  Chaitali Chakrabarti,et al.  Multi-Module Multi-Port Memory Design for Low Power Embedded Systems , 2004, Des. Autom. Embed. Syst..

[16]  H. De Man,et al.  Dataflow-driven Memory Allocation For Multi-dimensional Signal Processing Systems , 1994, IEEE/ACM International Conference on Computer-Aided Design.