Virtual Prototype is a register accurate, loosely-timed, fast simulation representation of the SoC / Microcontroller on which you can load & run the un-modified software binary. These can simulate up to 1000 times faster than RTL, or as fast as real hardware. The higher speed is achieved by carefully choosing the abstraction. Only that functionality is modelled which is visible to the software.
Embedded software teams can start developing and testing the firmware using the virtual prototypes even before the SoC is designed and manufactured. This also allows identifying the architecture bugs quite early in the cycle, and refining the functional specs such that it works perfectly with the target software application. It also provides a window to refine and validate what functionality should go into software and what goes inside the chip.
CircuitSutra works with the customers as their methodology team for effective deployment of virtual prototypes in their embedded software development & verification flow.
Benefits
Virtual prototypes integrate with the same standard embedded software tools that work with hardware boards, hence embedded software engineers can seamlessly migrate from using the hardware board to the virtual prototypes for standard development and debug methodologies. Virtual prototypes also integrate with the new set of tools which allow advanced hardware level debug analysis, hardware-software co-debug and automation. These tools are called Virtual Prototyping tools, and provide the additional features that make using virtual prototypes more powerful as compared to using hardware boards.
Following are the various important features enabled by virtual prototypes
-
Automated unit testing setup for firmware & embedded applications
-
Hardware - Software co-debug
-
Automated and quick board configuration and bring up
-
Visibility, Controllability and Reproducibility
-
Reproducing complex system scenarios
-
Error injection