A virtual prototype is a software model that emulates the hardware.
Design teams can use a virtual prototype to model the digital
aspects of a microcontroller unit, an electronic control unit or
even a complete ECU network, and run the simulation on a desktop PC.
Virtual prototypes run the same binary software as the real
hardware. Because the virtual prototype is a soft model, software
teams can get access to it months before the actual hardware device
Virtual prototypes give development teams more than just software
models for simulating the hardware; they are environments that allow
them to debug and analyze hardware/software interactions. They also
offer full visibility of the internal and external registers and
signals, provide full control over program execution, and are
Engineers can use virtual prototypes to freeze the full system
execution at any point in time (even with multi-core hardware) and
read and modify internal values. They can also use advanced analysis
features to correlate software (at the application level) with
hardware events, measure code coverage, apply fault injection, and
use scripts to automate the simulations.
Virtual prototypes integrate seamlessly into existing software tool
chains and connect to external third-party tools for
hardware-in-the-loop and rest-of-bus complete simulations.
Teams can easily deploy and scale simulation models. Virtual
prototypes are easy to share, archive and deploy across a worldwide
Fault injection using virtual prototyping technology
Virtual prototypes enable users to access all the internal hardware
elements of a design – memory content, registers, signals – as well
as specific, fault-tolerant mechanisms, like error correction codes
(ECC) on memories, assuming, of course, that those features have
been modeled. Users can create virtual prototype models without much
effort by mirroring the functionality of the block at a more
Virtual prototypes can model both transient and permanent faults.
Users can inject faults through mechanisms on the simulation
framework, without having to modify the embedded software models.
They can also visualize and trace all hardware and software events
that have been modeled on the systems. Visualization tools present
both hardware and software execution and events on the same windows
using the same timeline, which allows users to correlate them and
see the cause-and-effect of a fault.