High Level Power Estimation and Reduction Techniques for Power Aware Hardware Design

The unabated continuation of the Moore's law has allowed the doubling of the number of transistors per unit area of a silicon die every 2 years or so. At the same time, an increasing demand on consumer electronics and computing equipments to run sophisticated applications has led to an unprecedented complexity of hardware designs. These factors have necessitated the abstraction level of design-entry of hardware systems to be raised beyond the Register-Transfer-Level (RTL) to Electronic System Level (ESL). However, power envelope on the designs due to packaging and other thermal limitations, and the energy envelope due to battery lifetime considerations have also created a need for power/energy efficient design. The confluence of these two technological issues has created an urgent need for solving two problems: (i) How do we enable a power-aware design flow with a design entry point at the Electronic System Level? (ii) How do we enable power aware High Level Synthesis to automatically synthesize RTL implementation from ESL? This dissertation distinguishes itself by addressing the following two issues: (i) Since power/energy consumption of electronic systems largely depends on implementation details, and high-level models abstract away from such details, power/energy estimation at such levels has not been addressed thoroughly. (ii) A lot of work has been done in applying various techniques on control-data-flow graphs (CDFG) to find power/area/latency pareto points during behavioral synthesis. However, high level C-based functional models of various compute-intensive components, which could be easily synthesized as co-processors, have many opportunities to reduce power. Some of these savings opportunities are traditional such as clock-gating, operand-isolation etc. The exploration of alternate granularities of these techniques with target applications in mind, opens the door for traditional power reduction opportunities at the high-level. This work therefore concentrates on the aforementioned two areas of inadequacy of hardware design methodologies. Our proposed solutions include utilizing ESL simulation traces and mapping those to lower abstraction levels for power estimation, derivation of statistical power models using regression based learning for power estimation at early design stages, etc. On the HLS front, techniques that insert the power saving features during the synthesis process using exploration of granularity and scope of clock-gating, sequential clock-gating are proposed. Finally, this work shows how to marry two domains, that is estimation and reduction. In this regard, a power model is proposed, which helps in predicting power savings obtained using clock-gating and further guiding HLS to selectively insert clock-gating. …

[1]  L. Benini,et al.  A Power Modeling and Estimation Framework for VLIW-based Embedded Systems , 2001 .

[2]  Sachin S. Sapatnekar,et al.  Designing Digital Computer Systems with Verilog , 2004 .

[3]  Wayne H. Wolf Household hints for embedded systems designers , 2002, Computer.

[4]  Sandeep K. Shukla,et al.  An alternative polychronous model and synthesis methodology for model-driven embedded software , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[5]  Sandeep K. Shukla,et al.  Low-power hardware synthesis from TRS-based specifications , 2006, Fourth ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2006. MEMOCODE '06. Proceedings..

[6]  Gaurav Singh,et al.  Algorithms for Low Power Hardware Synthesis from CAOS-- Concurrent Action Oriented Specifications , 2006 .

[7]  Michael S. Hsiao,et al.  Accurate power macro-modeling techniques for complex RTL circuits , 2001, VLSI Design 2001. Fourteenth International Conference on VLSI Design.

[8]  N. Agarwal,et al.  High-level FSMD design and automated clock gating with CoDeL , 2008, Canadian Journal of Electrical and Computer Engineering.

[9]  Srivaths Ravi,et al.  Power estimation for cycle-accurate functional descriptions of hardware , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[10]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[11]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[12]  Daniel D. Gajski,et al.  SPECC: Specification Language and Methodology , 2000 .

[13]  Yiran Chen,et al.  Deterministic clock gating for microprocessor power reduction , 2003, The Ninth International Symposium on High-Performance Computer Architecture, 2003. HPCA-9 2003. Proceedings..

[14]  Magdy A. Bayoumi,et al.  Multiple voltage-based scheduling methodology for low power in the high level synthesis , 1999, ISCAS'99. Proceedings of the 1999 IEEE International Symposium on Circuits and Systems VLSI (Cat. No.99CH36349).

[15]  Sandeep K. Shukla,et al.  Model-driven test generation for system level validation , 2007, 2007 IEEE International High Level Design Validation and Test Workshop.

[16]  Stephen A. Edwards,et al.  The challenges of hardware synthesis from C-like languages , 2005, Design, Automation and Test in Europe.

[17]  Niraj K. Jha,et al.  High-level synthesis of low-power control-flow intensive circuits , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[18]  Sandeep K. Shukla,et al.  Faster Software Synthesis Using Actor Elimination Techniques for Polychronous Formalism , 2010, 2010 10th International Conference on Application of Concurrency to System Design.

[19]  Anand Raghunathan,et al.  Power monitors: a framework for system-level power estimation using heterogeneous power models , 2005, 18th International Conference on VLSI Design held jointly with 4th International Conference on Embedded Systems Design.

[20]  David Harris,et al.  CMOS VLSI Design: A Circuits and Systems Perspective , 2004 .

[21]  Wen-Tsong Shiue High level synthesis for peak power minimization using ILP , 2000, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors.

[22]  G. Plotkin,et al.  Proof, language, and interaction: essays in honour of Robin Milner , 2000 .

[23]  Sandeep K. Shukla,et al.  SCoPE: Statistical Regression Based Power Models for Co-Processors Power Estimation , 2009, J. Low Power Electron..

[24]  Mary Jane Irwin,et al.  Energy characterization based on clustering , 1996, DAC '96.

[25]  Sandeep K. Shukla,et al.  The Model Checking View to Clock Gating and Operand Isolation , 2010, 2010 10th International Conference on Application of Concurrency to System Design.

[26]  Sandeep K. Shukla,et al.  Algorithms for low power hardware synthesis from Concurrent Action Oriented Specifications (CAOS) , 2007, Int. J. Embed. Syst..

[27]  Luca Benini,et al.  Characterization-free behavioral power modeling , 1998, Proceedings Design, Automation and Test in Europe.

[28]  Massoud Pedram,et al.  Power Optimization and Synthesis at Behavioral and System Levels Using Formal Methods , 1999 .

[29]  Sandeep K. Shukla,et al.  Hardware Coprocessor Synthesis from an ANSI C Specification , 2009, IEEE Design & Test of Computers.

[30]  Wei Zhang,et al.  System level simulation guided approach to improve the efficacy of clock-gating , 2010, 2010 IEEE International High Level Design Validation and Test Workshop (HLDVT).

[31]  Norbert Wehn,et al.  Automating RT-level operand isolation to minimize power consumption in datapaths , 2000, DATE '00.

[32]  Farid N. Najm,et al.  Energy and peak-current per-cycle estimation at RTL , 2003, IEEE Trans. Very Large Scale Integr. Syst..

[33]  Farid N. Najm,et al.  Towards a high-level power estimation capability , 1995, ISLPED '95.

[34]  Daniel D. Gajski,et al.  The SpecC Language Reference Manual , 1998 .

[35]  José C. Monteiro,et al.  Scheduling techniques to enable power management , 1996, DAC '96.

[36]  Sandeep K. Shukla,et al.  A Formally Verified Peak-Power Reduction Technique for Hardware Synthesis from Concurrent Action-Oriented Specifications , 2009, J. Low Power Electron..

[37]  Anand Raghunathan,et al.  Efficient power co-estimation techniques for system-on-chip design , 2000, Proceedings Design, Automation and Test in Europe Conference and Exhibition 2000 (Cat. No. PR00537).

[38]  Saraju P. Mohanty,et al.  ILP models for energy and transient power minimization during behavioral synthesis , 2004, 17th International Conference on VLSI Design. Proceedings..

[39]  Tadahiro Kuroda,et al.  Overview of low-power ULSI circuit techniques , 1999 .

[40]  Sandeep K. Shukla,et al.  EmCodeSyn: A visual framework for multi-rate data flow specifications and code synthesis for embedded applications , 2009, 2009 Forum on Specification & Design Languages (FDL).

[41]  Stephen A. Edwards,et al.  High-Level Synthesis from the Synchronous Language Esterel , 2002, IWLS.

[42]  Sandeep K. Shukla,et al.  Power estimation methodology for a high-level synthesis framework , 2009, 2009 10th International Symposium on Quality Electronic Design.

[43]  Sandeep K. Shukla,et al.  Assertion-Based Modal Power Estimation , 2007, 2007 Eighth International Workshop on Microprocessor Test and Verification.

[44]  Sandeep K. Shukla,et al.  Accurate power estimation of hardware co-processors using system level simulation , 2009, 2009 IEEE International SOC Conference (SOCC).

[45]  Sandeep K. Shukla,et al.  On the Deterministic Multi-threaded Software Synthesis from Polychronous Specifications , 2008, 2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design.

[46]  Kazutoshi Wakabayashi,et al.  C-based synthesis experiences with a behavior synthesizer, "Cyber" , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[47]  David C. Ku,et al.  HardwareC -- A Language for Hardware Design (Version 2.0) , 1990 .

[48]  Michael S. Hsiao,et al.  A Novel Sustained Vector Technique for the Detection of Hardware Trojans , 2009, 2009 22nd International Conference on VLSI Design.

[49]  Thierry Gautier,et al.  Programming real-time applications with SIGNAL , 1991, Proc. IEEE.

[50]  C. Chakrabarti,et al.  ILP-based scheme for low power scheduling and resource binding , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

[51]  Sandeep K. Shukla,et al.  Coprocessor design space exploration using high level synthesis , 2010, 2010 11th International Symposium on Quality Electronic Design (ISQED).

[52]  G. Toomajanian,et al.  RTL power management , 1998, Wescon/98. Conference Proceedings (Cat. No.98CH36265).

[53]  Niraj K. Jha,et al.  Behavioral synthesis for low power , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[54]  Stefan Krugge,et al.  RTL Power Estimation , 2011 .

[55]  Sandeep K. Shukla,et al.  Verifying Compiler Based Refinement of BluespecTM , 2008, SPIN.

[56]  Gaurav Singh,et al.  Optimization and Verification Techniques for Hardware Synthesis from Concurrent Action-Oriented Specifications , 2008 .

[57]  Sandeep K. Shukla,et al.  Techniques for Power-Aware Hardware Synthesis from Concurrent Action Oriented Specifications , 2007, J. Low Power Electron..

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

[59]  Frank Ghenassia Transaction-Level Modeling with SystemC: TLM Concepts and Applications for Embedded Systems , 2010 .

[60]  James S. Dyer,et al.  Too Much of a Good Thing? , 1999, Oper. Res..

[61]  Gérard Berry,et al.  The foundations of Esterel , 2000, Proof, Language, and Interaction.

[62]  Changhee Lee,et al.  Operation Mode Based High-Level Switching Activity Analysis for Power Estimation of Digital Circuits , 2007, IEICE Trans. Commun..

[63]  Vittorio Zaccaria,et al.  Reducing the complexity of instruction-level power models for VLIW processors , 2005, Des. Autom. Embed. Syst..

[64]  Michael S. Hsiao,et al.  VITAMIN: Voltage inversion technique to ascertain malicious insertions in ICs , 2009, 2009 IEEE International Workshop on Hardware-Oriented Security and Trust.

[65]  Mark A. Sutton,et al.  Too much of a good thing , 2001, Nature.

[66]  Ken-ichi Ishida,et al.  22.1 A 27MHz 11.1mW MPEG-4 Video Decoder LSI for Mobile Application , 2002 .

[67]  Subhrajit Bhattacharya,et al.  SEAS: a system for early analysis of SoCs , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[68]  Luca Benini,et al.  A scalable ODC-based algorithm for RTL insertion of gated clocks , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[69]  Jagdish C. Rao,et al.  Clock gating for power optimization in ASIC design cycle theory & practice , 2008, Proceeding of the 13th international symposium on Low power electronics and design (ISLPED '08).

[70]  Martin Gogolla Unified Modeling Language , 2009, Encyclopedia of Database Systems.

[71]  Sandeep K. Shukla,et al.  An Analysis of the Composition of Synchronous Systems , 2009, Electron. Notes Theor. Comput. Sci..

[72]  M. Papaefthymiou,et al.  A Markov chain sequence generator for power macromodeling , 2002, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[73]  Sandeep K. Shukla,et al.  Applying Verification Collaterals for Accurate Power Estimation , 2008, 2008 Ninth International Workshop on Microprocessor Test and Verification.

[74]  Wei Zhang,et al.  A Methodology for Power Aware High-Level Synthesis of Co-processors from Software Algorithms , 2010, 2010 23rd International Conference on VLSI Design.

[75]  Giovanni De Micheli Hardware synthesis from C/C++ models , 1999, DATE '99.

[76]  Sandeep K. Shukla,et al.  MRICDF: A Polychronous Model for Embedded Software Synthesis , 2010, Synthesis of Embedded Software.

[77]  Michael S. Hsiao,et al.  Guided test generation for isolation and detection of embedded trojans in ics , 2008, GLSVLSI '08.

[78]  Sandeep K. Shukla,et al.  Model Checking Bluespec Specified Hardware Designs , 2007, 2007 Eighth International Workshop on Microprocessor Test and Verification.

[79]  Srivaths Ravi,et al.  Transient power management through high level synthesis , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[80]  Sandeep K. Shukla,et al.  Generating Multi-Threaded code from Polychronous Specifications , 2009, Electron. Notes Theor. Comput. Sci..

[81]  Jason Cong,et al.  Behavior-level observability don't-cares and application to low-power behavioral synthesis , 2009, ISLPED.

[82]  Paolo Crippa,et al.  System-Level Power Analysis Methodology Applied to the AMBA AHB Bus , 2003, DATE.

[83]  Daniel Gajski,et al.  Transaction level modeling: an overview , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[84]  Farid N. Najm,et al.  Power macromodeling for high level power estimation , 1997, DAC.

[85]  A. Inoue,et al.  A 27 MHz 11.1 mW MPEG-4 video decoder LSI for mobile application , 2002, 2002 IEEE International Solid-State Circuits Conference. Digest of Technical Papers (Cat. No.02CH37315).

[86]  Sumit Gupta,et al.  SPARK: A Parallelizing Approach to the High-Level Synthesis of Digital Circuits , 2004 .

[87]  Chaitali Chakrabarti,et al.  Low-power scheduling with resources operating at multiple voltages , 2000 .

[88]  Nozomu Togawa,et al.  A thread partitioning algorithm in low power high-level synthesis , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[89]  Gérard Berry,et al.  Esterel on hardware , 1992, Philosophical Transactions of the Royal Society of London. Series A: Physical and Engineering Sciences.

[90]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[91]  Gila Kamhi,et al.  A new paradigm for synthesis and propagation of clock gating conditions , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[92]  Sujit Dey,et al.  A power management methodology for high-level synthesis , 1998, Proceedings Eleventh International Conference on VLSI Design.

[93]  Giovanni De Micheli,et al.  The Olympus synthesis system , 1990, IEEE Design & Test of Computers.

[94]  N. Mansouri,et al.  Power islands: a high-level synthesis technique for reducing spurious switching activity and leakage , 2005, 48th Midwest Symposium on Circuits and Systems, 2005..

[95]  James E. Stine,et al.  A framework for high-level synthesis of system on chip designs , 2005, 2005 IEEE International Conference on Microelectronic Systems Education (MSE'05).

[96]  Michael S. Hsiao,et al.  A region based approach for the identification of hardware Trojans , 2008, 2008 IEEE International Workshop on Hardware-Oriented Security and Trust.

[97]  Enrico Macii,et al.  An RTL Power Estimation Tool with On-Line Model Building Capabilities , 2001 .

[98]  Luca Benini,et al.  Adaptive least mean square behavioral power modeling , 1997, Proceedings European Design and Test Conference. ED & TC 97.

[99]  Luca Benini,et al.  Regression-based RTL power modeling , 2000, TODE.

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

[101]  Sandeep K. Shukla,et al.  Parallelizing High-Level Synthesis: A Code Transformational Approach to High-Level Synthesis , 2006 .

[102]  Frank Emnett,et al.  Power Reduction Through RTL Clock Gating , 2001 .

[103]  Sandy Irani,et al.  An overview of the competitive and adversarial approaches to designing dynamic power management strategies , 2005, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[104]  Abdel Ejnioui,et al.  Control and data flow graph extraction for high-level synthesis , 2004, IEEE Computer Society Annual Symposium on VLSI.

[105]  Sandeep K. Shukla,et al.  MCBCG: Model Checking Based Sequential Clock-Gating , 2009, 2009 IEEE International High Level Design Validation and Test Workshop.

[106]  Rainer Leupers,et al.  Automatic ADL-based Operand Isolation for Embedded Processors , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[107]  Saraju P. Mohanty,et al.  A framework for energy and transient power reduction during behavioral synthesis , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[108]  Sandeep K. Shukla,et al.  Programming Models for Multi-Core Embedded Software , 2010 .

[109]  Sandeep K. Shukla,et al.  Complexity of Scheduling in Synthesizing Hardware from Concurrent Action Oriented Specifications , 2007, Power-aware Computing Systems.

[110]  Jeffry T. Russell,et al.  Software power estimation and optimization for high performance, 32-bit embedded processors , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

[111]  C.E. Stroud,et al.  Behavioral model synthesis with Cones , 1988, IEEE Design & Test of Computers.

[112]  Andrea Chiarini,et al.  Power Simulation of Communication Protocols with StateC , 2006 .

[113]  G.E. Moore,et al.  Cramming More Components Onto Integrated Circuits , 1998, Proceedings of the IEEE.

[114]  Miodrag Potkonjak,et al.  Optimizing power using transformations , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[115]  Sharad Malik,et al.  Instruction level power analysis and optimization of software , 1996, Proceedings of 9th International Conference on VLSI Design.

[116]  Gaurav Singh,et al.  Industrial strength refinement checking , 2009, 2009 Formal Methods in Computer-Aided Design.

[117]  N. Ranganathan,et al.  A game-theoretic approach for binding in behavioral synthesis , 2003, 16th International Conference on VLSI Design, 2003. Proceedings..