Cosimulation-based power estimation for system-on-chip design

We present efficient power estimation techniques for hardware-software (HW-SW) system-on-chip (SoC) designs. Our techniques are based on concurrent and synchronized execution of multiple power estimators that analyze different parts of the SoC (we refer to this as coestimation), driven by a system-level simulation master. We motivate the need for power coestimation, and demonstrate that performing independent power estimation for the various system components can lead to significant errors in the power estimates, especially for control-intensive and reactive-embedded systems. We observe that the computation time for performing power coestimation is dominated by: i) the requirement to analyze/simulate some parts of the system at lower levels of abstraction in order to obtain accurate estimates of timing and switching activity information and ii) the need to communicate between and synchronize the various simulators. Thus, a naive implementation of power coestimation may be too inefficient to be used in an iterative design exploration framework. To address this issue, we present several acceleration (speed-up) techniques for power coestimation. The acceleration techniques are energy caching, software power macro-modeling, and statistical sampling. Our speed-up techniques reduce the workload of the power estimators for the individual SoC components, as well as their communication/synchronization overhead. Experimental results indicate that the use of the proposed acceleration techniques results in significant (8/spl times/ to 87/spl times/) speed-ups in SOC power estimation time, with minimal impact on accuracy. We also show the utility of our coestimation tool to explore system-level power tradeoffs for a TCP/IP check-sum engine subsystem.

[1]  Niraj K. Jha,et al.  COSYN: hardware-software co-synthesis of embedded systems , 1997, DAC.

[2]  Luca Benini,et al.  Fast power estimation for deterministic input streams , 1997, ICCAD 1997.

[3]  James A. Rowson,et al.  Hardware / Software Co-Simulation , 2000 .

[4]  Massoud Pedram,et al.  Low power design methodologies , 1996 .

[5]  Sharad Malik,et al.  Power analysis of embedded software: a first step towards software power minimization , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[6]  Ping Yang,et al.  A Monte Carlo approach for power estimation , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[7]  Jörg Henkel,et al.  A framework for estimating and minimizing energy dissipation of embedded HW/SW systems , 2001 .

[8]  Alberto L. Sangiovanni-Vincentelli,et al.  Software timing analysis using HW/SW cosimulation and instruction set simulator , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[9]  Luciano Lavagno,et al.  Hardware-software co-design of embedded systems: the POLIS approach , 1997 .

[10]  Srinivas Devadas,et al.  Computer-Aided Design Techniques for Low Power Sequential Logic Circuits , 1996 .

[11]  Sujit Dey,et al.  High-Level Power Analysis and Optimization , 1997 .

[12]  Anantha P. Chandrakasan,et al.  Low Power Digital CMOS Design , 1995 .

[13]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

[14]  E. Macii,et al.  High-level Power Modeling, Estimation, And Optimization , 1997, Proceedings of the 34th Design Automation Conference.

[15]  Cristina Silvano,et al.  Power estimation of embedded systems: a hardware/software codesign approach , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[16]  Jörg Henkel A low power hardware/software partitioning approach for core-based embedded systems , 1999, DAC '99.

[17]  Luca Benini,et al.  Dynamic power management - design techniques and CAD tools , 1997 .

[18]  Radu Marculescu,et al.  Sequence compaction for power estimation: theory and practice , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[19]  D. Kirovski,et al.  System-level Synthesis Of Low-power Hard Real-time Systems , 1997, Proceedings of the 34th Design Automation Conference.

[20]  Cheng-Ta Hsieh,et al.  Profile-driven Program Synthesis For Evaluation Of System Power Dissipation , 1997, Proceedings of the 34th Design Automation Conference.

[21]  H. Meyr,et al.  Compiled HW/SW co-simulation , 1996, 33rd Design Automation Conference Proceedings, 1996.

[22]  Toshinori Sato,et al.  Evaluation of architecture-level power estimation for CMOS RISC processors , 1995, 1995 IEEE Symposium on Low Power Electronics. Digest of Technical Papers.

[23]  Luca Benini,et al.  Energy-efficient design of battery-powered embedded systems , 1999, Proceedings. 1999 International Symposium on Low Power Electronics and Design (Cat. No.99TH8477).

[24]  G. De Micheli,et al.  Cycle-accurate simulation of energy consumption in embedded systems , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[25]  Robert K. Brayton,et al.  Sequential circuit design using synthesis and optimization , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[26]  Luca Benini,et al.  System-level power optimization: techniques and tools , 1999, ISLPED '99.

[27]  Luciano Lavagno,et al.  Hardware-Software Co-Design of Embedded Systems , 1997 .

[28]  Luciano Lavagno,et al.  Fast instruction cache simulation strategies in a hardware/software co-design environment , 1999, Proceedings of the ASP-DAC '99 Asia and South Pacific Design Automation Conference 1999 (Cat. No.99EX198).

[29]  Luciano Lavagno,et al.  A case study on modeling shared memory access effects during performance analysis of HW/SW systems , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[30]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.