It was only a matter of time before an established electronic system-level (ESL) vendor cast an eye toward creating virtual hardware platforms. The concept of virtual hardware platforms isn't new, but an ESL vendor can bring a hardware perspective to the early development of system software. CoWare is attempting to do just that with its Virtual Platform family, which supports the creation, distribution, and use of virtual hardware platforms for software development (see the figure).
In general, the development of embedded application software is a process that starts relatively late in the overall system-development cycle. CoWare's approach takes advantage of a SystemC-based hardware modeling environment. It moves software development up in the cycle so that it not only is parallel with the hardware development, but it also enables software to be designed so it's a perfect match with the hardware.
Native-host software development is limited by the fact that it doesn't represent the hardware that the software ultimately will run on. Waiting until there's RTL for the hardware is little or no help, as RTL simulation is too slow and the RTL firms up too late anyway. Instruction-set simulators are limited to the processor itself and don't encompass the entire hardware platform.
CoWare's approach starts with the Virtual Platform Designer. This virtual-platform creation tool includes a graphical modeling environment, a SystemC environment, an Eclipse-based SystemC integrated development environment, and automated generation of packaging for virtual platforms.
The product of the tool is the Virtual Platform itself. This self-contained and distributable package includes the executable virtual-platform model, the tools required to leverage that model, and the scripting and application programming interface to link the virtual platform to the software developer's environment.
As the hardware development process progresses and the hardware is further refined, updated models can be generated and distributed to software development teams. In this manner, hardware and software development can progress together in lockstep.
The Virtual Platform products hinge on CoWare's earlier announcement of a standards-based SystemC modeling library, which provides the infrastructure for user-defined and highly reusable transaction-level peripheral models. Pricing for the Virtual Platform products depend on configuration, but prices start at $5000 per seat for a one-year subscription.