LONDON – Imperas Software Ltd., a vendor of virtual prototyping, high-speed instruction-accurate modeling and simulation software, is offering its second generation of multicore software development tools to sit on top of its platforms.
The Imperas product offering is divided into the Developer range of tools and the more fully-featured Multicore Software Development Kit (M*SDK). The software debug is based on so-called ToolMorphing technology in which debug tools and hardware models are merged in the same execution stream and compiled in a just-in-time manner. This produces faster than real-time execution performance improves verification throughput, Imperas claims.
For embedded software development, simulation is necessary but not sufficient," said Simon Davidmann, founder and CEO of Imperas. "Once they have simulated developers need to debug code."
The Developer product range includes 3 products of increasing capability: C*DEV, S*DEV, M*DEV, focusing on Controller, Standard, and Multicore embedded software development. The top-of-the-range M*SDK includes all the capabilities of the Developer product, copes with heterogeneous multicore processors and layers on top a suite of verification, analysis and profiling (VAP) capabilities, as well as 3Debug a multicore debugger that operates across the spatial, temporal and abstraction domains.
"We haven't done big-little system development, but certainly it could be done," said Davidmann, referring to the heterogeneous processor architecture from ARM based instruction-set compatible processor cores optimized for different application loadings.
Click on image to enlarge.Imperas product family offering
Each Developer product includes:
a) iGen™ model generator, used in the creation of the platform model and the behavioral components that populate the platform. iGen uses TCL as input and outputs C, C++, and SystemC TLM2.0 components.
b) Imperas Model library of more than 100 CPU models covering ARM, Imagination MIPS, Power, Synopsys ARC, Cadence Tensilica, Renesas, and others. The Model library also includes many example and reference board platforms such as the ARM Integrator, ARM Versatile Express, and MIPS Malta. The library also includes more than 80 peripheral components.
c) The Imperas simulator, which executes the platform, peripheral, and CPU models, and allows compiled binaries of bare metal embedded software, embedded operating systems and applications to execute un-modified on virtual platforms, in turn running on desktop PCs.
On top of these capabilities M*SDK includes features that accelerate code tuning and debug. These
include: code coverage, memory and cache analysis, execution profiling,
instruction and function tracing, fault injection, protocol
verification, exception and interrupt analysis, OS task tracing, OS
scheduler analysis, memory protection verification, and shared resource