1. Technical Field
The current disclosure relates to a simulation system and, in particular, to a power aware simulation system with embedded multi-core DSPs and method thereof.
2. Description of Related Arts
Embedded multi-core DSP systems currently play an important role in consumer electronic design. Such systems attempt to optimize the performance and the power capacity of mobile devices. Power optimization is necessary for battery-based mobile devices and has to meet all levels, such as production, place and route, RTL synthesis, architecture design, system design, system software design, and application design.
Developers of embedded applications for battery-based mobile devices have to balance performance and power consumption of embedded applications, while developing them via an application simulation platform such as QEMU and SID. However, current simulation platforms are not capable of supporting power metrics. This will increase the difficulties in optimizing power consumption during the development of embedded applications since the current simulation platforms do not allow developers to estimate the power consumption of applications.
Therefore, in order to solve these problems, the current disclosure discloses a power aware simulation system and method thereof.
In accordance with one embodiment of the current disclosure, a power aware simulation system comprises an embedded multi-core simulation module, a power abstract interpretation module and a C power estimation (CPE) profiling module. The embedded multi-core simulation module comprises a plurality of digital signal processors (DSP), an external memory and a direct memory access. The power abstract interpretation module is coupled to the plurality of DSPs, the external memory, the DMA and the CPE profiling module, respectively. The CPE profiling module comprises a plurality of IP power models for various IPs. The power abstract interpretation module is configured to summarize and interpret a plurality of simulation execution traces, from the embedded multi-core simulation module, in order to convert the simulation execution traces into a power estimation format.
In accordance with one embodiment of the current disclosure, each of the plurality of DSPs comprises a DSP core, an instruction cache and a local memory, wherein the DSP core is configured to couple to the instruction cache and the local memory, respectively.
In accordance with one embodiment of the current disclosure, the power aware simulation system further comprises a configurable interconnection module, a micro-processing unit (MPU) and a plurality of hardware components. The plurality of DSPs, the external memory and the DMA communicate with the MPU and the hardware components via the configurable interconnection module.
In accordance with one embodiment of the current disclosure, the DSP comprises a pipeline very long instruction word (VLIW) embedded processor.
In accordance with one embodiment of the current disclosure, the external memory comprises a DRAM.
In accordance with one embodiment of the current disclosure, the CPE profiling module includes an algorithm.
In accordance with one embodiment of the current disclosure, the configurable interconnection module comprises a bus.
In accordance with one embodiment of the current disclosure, the configurable interconnection module comprises a crossbar.
In accordance with one embodiment of the current disclosure, the configurable interconnection module comprises a network-on-chip.
In accordance with one embodiment of the current disclosure, the DMA is configured to record information of active and idle modes into a simulation execution trace.
In accordance with one embodiment of the current disclosure, the simulation execution traces further comprises information of an instruction type, counts of a pipeline stage, counts of hits and misses of an instruction cache, and/or counts of read/write of a local memory.
In accordance with one embodiment of the current disclosure, a method of power aware simulation comprising the steps of receiving an simulation execution trace; converting the simulation execution traces into a power estimation format; mapping a power profiling point into a location of a program counter, wherein the location is corresponding to a program; generating a mapping table which includes a plurality of control parameters, wherein each of the plurality of control parameters is corresponding to the program; and generating a power estimation result.
In accordance with one embodiment of the current disclosure, the simulation execution trace comprises information of an instruction type, counts of a pipeline stage, counts of hits and misses of an instruction cache, and/or counts of read/write of a local memory
In order to provide further understanding of the techniques, means, and effects of the current disclosure, the following detailed description and drawings are hereby presented, such that the purposes, features and aspects of the current disclosure may be thoroughly and concretely appreciated; however, the drawings are provided solely for reference and illustration, without any intention to be used for limiting the current disclosure.
A more complete understanding of the current disclosure may be derived by referring to the detailed description and claims when considered in connection with the Figures, where like reference numbers refer to similar elements throughout the Figures, and:
The MPU 19 is configured to control the embedded multi-core simulation module 15 and the plurality of hardware components 12. The CPE profiling module 11 comprises a plurality of IP power models for various IPs, which were generated in a previous stage called IP-Level power modeling stage; moreover, the IP power models may be generated according to the following table 1. The various IPs may include DSPs, SRAM, DRAM, bus, bridges, and DMA. During the IP-Level power modeling stage, a PowerMixerIP, a product of Tinno Tek Inc., may be employed to build the plurality of IP power models.
The embedded multi-core simulation module 15 further comprises a plurality of digital signal processors (DSP1-DSPn) 151, an external memory 153 and a direct memory access (DMA) 155. Each of the plurality of DSPs 151 comprises a DSP core 1511, an instruction cache 1513 and a local memory 1515. The power abstract interpretation module 13 is coupled to the plurality of DSPs 151, the external memory 153, the DMA 155 and the CPE profiling module 11, respectively.
The plurality of DSPs, the external memory 153 and the DMA 155 communicate with the MPU 19 and the plurality of hardware components 12 via the configurable interconnection module 17. The external memory 153 may comprise a DRAM. Moreover, the configurable interconnection module 17 may comprise a bus, a crossbar or a network-on-chip (NOC). The DSP 151 may comprise a pipeline very long instruction word (VLIW) embedded processor. The information of active and idle modes of DMA is recorded into a simulation execution trace of the power aware simulation system.
The power abstract interpretation module 13 may comprises a software model component, which may be configured to communicate with the DSPs 151, the external memory 153, and the DMA 155. The power abstract interpretation module 13 may summarize and interpret a plurality of simulation execution traces, and convert the execution traces into a power estimation format, wherein the simulation execution traces may contain power propriety information for a target system IP. The power propriety information may include related parameters of target hardware model component, of the power aware simulation system.
Table 2 provides IP name and parameters. Therefore, DSP users could configure voltage, frequency, size of the instruction cache 1513, and local memory 1515 of DSP.
In consideration of simulation speed, the power abstract interpretation module 13 may be implemented as a passive component and may only be activated, while the CPE profiling module 11 is set on by the user. While the CPE profiling module 11 is enabled, the target hardware components would dump a plurality of simulation execution traces to the power abstract interpretation module 13, furthermore, the number of read/write summarized in every specific simulation period, configured by the user, may be stored in the external memory 153.
Moreover, after interpreting the simulation execution traces, the simulation execution traces with the power estimation format may be transmitted to the CPE profiling module 11 by an inter-procedural communication (IPC) (not shown) on a host machine.
Referring to
In the CPE profiling module 11, a power profiling point of the simulation execution trace may be mapped into an address of a program counter, wherein the address corresponds to a program. Later, a mapping table which includes a plurality of control parameters may be generated, wherein each of the plurality of control parameters is corresponding to the program. Finally, a power estimation result may be generated, wherein the power estimation result may be presented as a plain text or power waveforms for each of the plurality of hardware components.
When a simulation stage encounters a plurality of addresses, a plurality of related power control parameters would be retrieved by looking up the mapping table, therefore, the power profiling granularity may be changed according to the related power control parameters.
Therefore,
Although the current disclosure and its objectives have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the disclosure as defined by the appended claims. For example, many of the processes discussed above can be implemented using different methodologies, replaced by other processes, or a combination thereof.
Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the current disclosure, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the current disclosure. As such, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.
Number | Date | Country | |
---|---|---|---|
61538543 | Sep 2011 | US |