Soft-Core Energy Analyzer (SEA)

A power estimation framework for soft IP cores. 

Participants


The Project

Intellectual Property (IP)-based design methodologies combined with the paradigm of platforms for specific application areas have enabled designers to design new multi-million gate designs in shorter times and at an overall smaller man-month count compared to traditional design methods that do not extensively re-use existing IP. Examples of design platforms stem from domains like multimedia processing, wireless communications, real-time control, etc. The task of a designer has changed to integrating and estimating various scenarios of a future complex System-on-Chip (SOC) by means of re-using existing IP and design platforms. The designer can concentrate more on high-level design space explorations rather than on re-coding already available system IP components. This paradigm shift has triggered research towards providing fast, high-level estimation and optimization strategies for system parameters like area, time, energy and power as explained below.

Figure 1: System design flow

Any system design methodology would involve an important design cycle as shown in Fig. 1. A system specification is initially transformed into a set of tasks that could be implemented by different units. Cost metrics such as area and power; and performance metrics such as timing are estimated. Repartitioning is done if necessary and the design is re-evaluated. The efficiency of this cycle usually depends on effective feedback from the estimation-and-analysis sub-task. In particular we address this problem in regards to system-on-chip design where tools working at different tasks such as partitioning, scheduling, code transformations, etc. targeting energy behavior of the system, would benefit tremendously from a per-cycle energy behavior of the embedded processor-core which is one of the most important components of such a system. Many embedded systems typically have such a configuration where a processor core is tightly integrated with application-specific engines.

In this project we analyze a publicly available soft core, MicroSparcIIep, in regards to its power behaviour. Based on the implementation features of the core, we have developed a power estimation framework, SEA, which can be used to provide accurate energy estimates for an application with an accuracy of 95%. It can also provide per-cycle power behaviour but with a greater error of around 15%. Compared to commercial power estimators like WattWatcher from SequenceDesign, SEA can provide fast estimates once a power database has been built and incorporated into the framework.



 

MicroSparcIIep

We have used a publicly available, synthesizable model of the MicroSparcIIep core as an example. Employing a commercial core allows us to study many architectural features that typically do not appear in simple processor models constructed for research purposes only. It is a RISC architecture and integrates the SPARC processor with a floating-point unit (FPU), memory management unit (MMU), separate instruction and data caches, PCI bus controller (PCIC), DRAM and flash memory controller, and a clock generator, onto a single device.

SEA

The framework provides for
The SEA Tool Flow: 

1. A high level code such as C or ASM is compiled and prepared for the microSparcIIep soft core. 

2. Prediction Flow: (left side of Fig. 2) : This flow is used for normal use for obtaining power estimates. 

  • An instruction set simulator is used to obtain the instruction trace for the application.
  • Power databases which have been constructed after extensive experimentation are used along with the instruction trace to obtain power behavior.
3. Estimation Flow: (right side of Fig. 2) : This flow is used for database construction or for verification purposes. 
  • A RTL simulator is used to obtain switching activity from the soft core.
  • The activity trace is used along with power libraries by a commercial power estimator to obtain per-cycle power behaviour of the core.
  • The results are used to construct the power database which is used in the ``Prediction Flow''.

Figure 2: SEA Tool Flow


SEA is built around several commercial tools


SEA Demo

A sample project can be tried here. Since SEA depends on certain tools which cannot run without licenses, pre-computed data files are used to generate the plots. The idea is to give the reader an insight into the workings of SEA.

References



 
Maintained by
Praveen Kalla