Design
Tensilica's GUI Cuts Chip Energy Consumption
Tensilica has announced that it has added a new graphical user interface (GUI) to its popular Xenergy estimator, a unique energy estimator for both Xtensa configurable processors and Diamond Standard processors. This first of its kind tool allows software developers to evaluate trade-offs, so their software can be optimized for power, and lets hardware designers optimize the design of Xtensa configurable processors for total energy consumption.
TodaConfigurable processor technology has long been known for its potential to accelerate performance. But tailoring a processor to a given task can also be used with energy minimization as a key consideration. Using Xenergy, hardware designers can drive Xtensa processor configuration choices to dramatically lower the total clock processor cycles required to perform a given functional workload, thereby reducing total energy consumed. Designers pick from a menu of different configuration options and add custom processor extensions to try to reduce total core power consumption.
The Xenergy energy estimator calculates total energy consumption for a specific software workload on a candidate processor configuration. Comparisons between candidate processors are graphically displayed. Output can be a simple text file or a colorful graph for easy evaluation.
Tests of processor configurations for common embedded processing kernels such as dot product, the Advanced Encryption Standard (AES) encryption, Viterbi decoding, and Fast Fourier Transform (FFT) show that the energy improvements from processor customization can range from 2x to 83x (all comparisons using common process, design flow and libraries).
The Xenergy estimator can also be used to evaluate the power savings potential of different process technologies, instruction and data cache sizes, RAM and ROM sizes, and many other Xtensa processor configuration options.
Even after a processor configuration is chosen, or after an SOC has been fabricated, software developers can also use the Xenergy estimator to fine tune their C code to reduce energy dissipation by the processor and its memories. For example, a developer might use the feedback provided by the Xenergy tool to decide to restructure the allocation of data structures in local and main memories to reduce memory and bus accesses, which will lower overall energy expenditures. The Xenergy estimator gives the software developer fast, visual feedback and pinpoints the code hot spots that are consuming the most processor cycles and generating the most memory accesses.