The Xenergy energy estimation tool enables system architects, software developers, and TIE instruction designers to evaluate the power and energy dissipation characteristics of design choices and application code early in the development cycle for Xtensa and Diamond processors. Xenergy estimates the energy dissipated by application code running on an Xtensa or Diamond processor subsystem consisting of the Xtensa or Diamond processor and the processor’s local tightly-coupled memories and caches.
This application note examines the use models for Xenergy. It also demonstrates how to use energy as an effective tool to optimize your software applications, select the right Diamond processor or Xtensa configuration options, and add TIE instruction extensions, all with the goal of optimizing the total processor sub-system energy.
Energy has become a first order concern while designing SOCs for portable devices. The rapid growth in portable hand-held devices such as MP3 players and cellular phones has fueled a demand for longer battery life and thus, to lower the energy consumed by these devices. These requirements have created a need for a tool that can quickly assist system architects and designers in making the right choices while designing embedded systems. Making energy efficient choices early in the design cycle is more effective than trying to optimize for energy later in the development phase.
The Xenergy energy estimator is a tool that addresses this need by giving system architects and designers an early estimate of energy so that they can quickly determine the tradeoffs between area, performance, and energy of Xtensa and Diamond processors when running an application. This estimate can enable designers to do high-level architectural exploration for energy without running detailed RTL- based energy analysis.
Energy is measured as power times execution time. So, reducing execution time of an application reduces power. One way of doing this reduction is to create new instructions that accelerate an application. However, this has to be done in such a way that any increase in power due to the new instruction does not exceed the benefit in energy that it provides.
Xtensa processors can often use custom instructions (extensions) to significantly reduce the number of instructions executed by the processor there by reducing the overall energy consumption and frequency requirements of the processor...
Xenergy estimates the energy dissipated by application code running on an Xtensa or Diamond processor subsystem consisting of the Xtensa or Diamond processor and the processor’s local tightly-coupled memories and caches. Xtensa processors can optionally contain designer-defined TIE instruction extensions. The processor’s local memories include instruction cache (including tag and data arrays), instruction RAM, instruction ROM, data cache (including tag and data arrays), data RAM, and data ROM. Xenergy takes as input the process technology, operating condition, and clock period to predict the energy and power dissipated by the Xtensa processor and local memories for running a target application (by default, Xenergy assumes the conditions specified in the processor configuration). Please refer to the Xenergy User’s Guide for more information on the options provided by Xenergy.
There are four primary use models for the Xenergy tool: