As discussed in the section Why Use Virtual Platforms there are a variety of benefits that virtual platforms provide over the use of actual hardware prototypes for embedded software development.
These include getting a jump on early software development, replicating the platform many times to increase test platforms, the visibility and controllability afforded by software platforms, and the potential performance improvements.
The second two benefits are also dependent on the simulation and tool technology that is employed on top of the platform, and it is this that allows the engineering schedule to be reduced significantly while improving end-product quality and reliability. It is this goal that the Imperas technology is specifically targeting.
Imperas provides a range of processor models that effectively contain both simulation and development environment technology, and that can be included in virtual platforms modeled using various standards, including OVP and SystemC (with TLM2 interfaces).
The Imperas simulator provides the fastest Instruction Accurate (IA) performance available today. Using a technology known as Just In Time (JIT) Code Morphing, the simulator produces executable code for the models “on the fly” which provides for novel optimizations. The simulator will execute embedded platform models on standard x86 host machines often significantly faster than the operational performance of the final hardware.
Imperas provides an extensive range of processor models, highly optimized for efficient embedded software execution. System performance is further enhanced through efficient modeling, provided by the Open Virtual Platform (OVP) infrastructure.
The simulator goes further by providing for the executable code for the development tools to also be generated alongside the model code using another proprietary technique called ToolMorphing™. By including the tools in the same code stream as the models, inefficiencies associated with separate environments are eliminated, increasing both speed and ease of use.
The Imperas Multicore Software Design Kit (M*SDK) contains a range of capabilities that accelerate engineering efficiently across the entire development process. The verification, profiling and analysis (VAP) tools provide standard capabilities such as line coverage, function profiling plus a variety of advanced features. Bug discovery and cause detection is accomplished with a 3 dimensional debugger (3Debug™) operating in the temporal (time based), spatial (across the design), and abstract (hardware, CPU-aware, programmers view, up to an OS-aware level).
These capabilities allow, rapid bug identification and elimination, exhaustive, extensive testing, and execution analysis and optimization.
The combination of Imperas' advanced tool solutions and high performance simulation with proprietary ToolMorphing capability make the most complex of embedded product development scenarios manageable and accelerate development schedules.
The website presents several case studies to demonstrate how the Imperas tool suite has been used to solve complex single and multicore embedded software problems in real development programs. The solutions presented represent critical areas, including: exhaustive verification for failsafe applications, the accurate modeling of complex platforms, advanced bug discovery, and multi-OS porting onto multicore platforms.