Energy Design Needs Unified Hardware Abstraction

Energy-efficient, complete solutions can be obtained only with optimal alignment across the pre- and post-silicon phases of energy optimization supported by unified design flows, abstractions, and formats.

Energy-efficient product design, for both portable and plug-load devices, leads the list of on-going engineering priorities.

But a combination of government mandates, rising energy costs, facility limitations, and a general movement to all things green makes energy efficiency a top-level concern for every type of electronics maker.

The basic principle of energy design and management for electronic devices is to optimize the electrical activity within the electronic circuitry without impacting user experience or intended purpose. During the (pre-silicon) energy design phase, also called power design in Electronic Design Automation (EDA), we focus on tuning the hardware structures, assuming certain nominal signal activities, voltages, and clocks.

In the subsequent (post-silicon) energy management phase we tune the voltages, clocks, and functional activities during the test-and-run time, assuming certain hardware characteristics of the device.

Energy-efficient, complete solutions can be obtained only with optimal alignment across the pre- and post-silicon phases of energy optimization, supported by unified design flows, abstractions, and formats.

This requires a fundamental shift in the design infrastructures currently in use in today's product development flow. We believe a Unified Hardware Abstraction (UHA) is needed to promote a holistic, quantitative, and reusable approach to energy design and management.

The problem
The energy design and management flow for electronic devices is disconnected and lacks the abstractions, formats, interfaces, and automated methodologies long established and standardized in functional design and verification of hardware and software. We have observed that the main disconnects on energy issues are at the handover points between various teams:

From VLSI designers and IP providers to system integrators and power designers at the RTL level

From system integrators to firmware developers at the core system software level

From device developers and firmware developers to OS integrators at the OS API level

From device developers and OS integrators to the application programmers at the application software level

In hardware design, apart from Spice, none of the structural or temporal design or verification abstractions contain consistent power or energy information.

This is not a surprise. We in EDA have been systematically abstracting away time and structure in favor of high-level behavioral abstractions in order to cope with the rapidly increasing complexities.

The current Unified Power Format (UPF), although very helpful, is effectively adding information about the structure of the voltage tree and states of the voltage domains. It has no information to help optimize energy of interconnected components in realistic settings, as it does not cover clock trees, functional operating states, and the unavoidable constraints among them. (As pointed out by one of the early reviewers of this text, the wider definition or just changing community's perception about UPF's power states could be the right first step towards the next UPF version or the new standard.)

In IP design, IP-XACT is focused on functional IP stitching, with no energy or power annotations.

The situation is similar with board-level tools. As a result of the lack of unified information and structure, informal spreadsheets containing power information extracted from component data sheets are still the main tool of power optimization engineers.

On the software side, the lower levels of the operating systems contain APIs to control power. Windows is relying on ACPI and ASL to enable easy OS porting to various platforms.

ASL descriptions feed the interpreter within the OS with information when and how to adjust the hardware. This can be used to change power states, but any notion of power or energy is not part of the description.

Linux relies on the Device Tree (DTS) to partially describe the underlying hardware and contains a couple of power management frameworks in the kernel (cpufreq, devfreq, runtime_PM, regulator framework, etc.).

Despite some attempts, like HWMOD contributed by TI, Linux lacks handover formalisms for efficient interaction with the hardware designers and device integrators. When it comes to energy management, probably the most sophisticated of the OSs is Apple's iOS, but it is well known as a closed ecosystem, both on the hardware and software sides, and thus not scalable to non-Apple products.

The emerging Internet of Things (IoT) will likely also add to the problem as designers look to optimized OS solutions for their specific system tasks. Interestingly, the OSs are not converging but diverging rapidly. This, without doubt, will add to the burden of systems designers looking for optimized performance and power.

At the firmware level, manually developed proprietary software solutions control the dedicated energy management processors and specialized hardware. Due to the lack of unified formats and aligned design methodologies, such solutions require either complete vertical integration of hardware, firmware, OS, and applications (similar to Apple) or forced distribution of "one size fits all" reference platforms to all customers, making it almost impossible to differentiate on energy performance.

United Hardware Abstraction solution
We see the solution in the development of a UHA, which starts with energy as the first and foremost objective and encompasses all design levels from the signal to the application software level, thereby enabling seamless collaboration among all participants in the flow -- from the VLSI designers to the device integrators and software programmers.

For EDA historians, you will recognize similar motivations that led to the development and adoption of hardware description languages (HDLs), namely VHDL, in the 1980s and 90s to achieve greater efficiency, multi-level consistency and interoperability, and improved documentation.

Besides the obvious political, environmental, and consumer pressures, from a technology perspective the timing is right for such an evolution in how we design for energy efficiency. Recent innovations in hardware and software require rapid improvements in energy design and management methodology. In particular:

High complexity and granularity of clock trees and power rails require faster, finer, and smarter energy management.

The apps paradigm and the reactive nature of modern electronic devices require energy-aware software design and software-aware energy management.

The good news is that trends in the semiconductor industry provide an unprecedented opportunity to implement greater energy efficiency. Transistors are inexpensive and allow us to put plenty of redundancies (organized as hierarchies) into the devices.

Initially we had memory and bus hierarchies; now processor and, in the future, subsystem hierarchies.

Hierarchy means multiple equivalent ways to do the same computation, which means we can have many devices contained in a single device -- e.g., a basic phone that allows months of use within the feature-loaded smartphone.

Solutions to these challenges must continue to guarantee shortest possible time to market through extensive reuse, full hardware IP protection, easy programming, and efficient collaboration.

A standard UHA provides a platform to address all of these challenges, mainly from an engineering perspective, by automating the design of power management software and hardware. But such an approach has broader benefits, including:

Lowers the cost and shortens the time-to-market, as companies across equipment classes can share the same power management infrastructure

Enables the introduction of formal energy description of equipment and automated generation of the power management software and hardware

Fosters energy savings competition among manufacturers of various equipment classes

Allows for unified run-time reporting and control of equipment's energy consumption

Brings together a larger pool of power management experts to focus on the same problem and improves technical education in academia

As pressure mounts on device makers to become more energy efficient, we expect to see an acceleration of the current conversation on UHA, with an emergence of sample formats and constructs as well as the design tools required to implement them.

— Vojin Zivojnovic is co-founder and CEO of AGGIOS Inc., a startup focused on the development of energy proportional systems. Vojin has 30 years of research, technical management, and business development experience in the semiconductor and EDA industry.

— Jim Hogan is the chairman of the AGGIOS Board of Directors. Jim serves as General Manager of Vista Venture Partners and Managing Partner of Vista Ventures LLC. He has been in the semiconductor industry for more than 33 years.

It certainly does matter a lot how much energy electronics use. In fact it's the majority of our electricity usage nowadays. My DVR uses 10% of my yearly electricity consumption due to using 20W in standby! That's more than my tv or computer use yearly, and despite using electric hot water heating for much of the year... I'd say anything more than 1W 24/7 is ridiculously inefficient and a potential fire hazard.

However even 1W standby is too inefficient if you consider the average household has 50+ appliances plugged in 24/7 (in the UK that would cost about £100 a year at current prices of ~22p/kWh). So aiming for 0.1W standby seems like a more sustainable goal.

Plug loads and appliances (as opposed to heating, cooling and wired lighting) are now responsible for the majority of residential and commercial electricity consumption in the US (EIA 2013). In California, it's two thirds (RASS 2009). With this level of load, and the growing policy focus on energy efficiency at Federal level and in many states, for example with California's zero net energy buildings goals, energy efficiency will no longer be confined to mobile devices, it is going to spread to all plug loads. The good news is that an increasing number of these plug loads are getting smart and connected, which makes them a great opportunity for dynamic power management, and energy reporting and control. I bet this will also drive growing consumer interest when they are able to easily understand which of their plug loads are vampires sucking money on their utility bills.

I can't help but think that the "environmental" aspects of energy efficiency for solid state electronics are mostly a smoke screen. The biggest motivation for designing in energy efficiency has to be battery life, in portable or mobile appliances. Because that aside, the power draw of most such devices is very small, compared to other uses of electric power (lighting, especially incandescent, HVAC, hot water, kitchen appliances, never mind factories and transportation).

Energy Saving needs to be exercises at all the stages of the designs as explain in the article even the users can not be kept aside in this consideration. But the major bottleneck in implementing Energy Saving is the priority level of it, in almost every case of design it is prioritized later after targeted deadlines, and it is obvious that the completion of task will be more important and at later stage the thought of saving will be acted upon.