Efficient power co-estimation techniques for system-on-chip design

We present efficient power estimation techniques for 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 co-estimation), driven by a system-level simulation master. We motivate the need for power co-estimation, 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 co-estimation 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 co-estimation may be too inefficient to be used in an iterative design exploration framework. To address this issue, we present several acceleration (speedup) techniques for power co-estimation. The acceleration techniques are energy caching, software power macromodeling, and statistical sampling. Our speedup 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/) speedups in SOC power estimation time, with minimal impact on accuracy. We also show the utility of our co-estimation tool to explore system-level power tradeoffs for a TCP/IP network interface card sub-system and an automotive controller.

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

[2]  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).

[3]  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).

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

[5]  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.

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

[7]  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).

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

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

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

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

[12]  Miodrag Potkonjak,et al.  System-level synthesis of low-power hard real-time systems , 1997, DAC.

[13]  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.

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

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

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

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

[18]  Luca Benini,et al.  Cycle-accurate simulation of energy consumption in embedded systems , 1999, DAC '99.

[19]  Massoud Pedram,et al.  High-level Power Modeling, Estimation, And Optimization , 1997, Proceedings of the 34th Design Automation Conference.

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

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

[22]  Luca Benini,et al.  System-level power optimization: techniques and tools , 1999, Proceedings. 1999 International Symposium on Low Power Electronics and Design (Cat. No.99TH8477).

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

[24]  Massoud Pedram,et al.  Profile-driven program synthesis for evaluation of system power dissipation , 1997, DAC.

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