Open Virtual Platforms (OVP) Fast Processor Models are instruction accurate, and very fast, focused on enabling embedded software developers, especially those building hardware-dependent software such as firmware and bare metal applications, to have a development environment available early to accelerate the software development cycle. OVP Fast Processor Models employ a state of the art just-in-time code morphing engine to achieve the simulation speed. Virtual platforms utilizing these OVP processor models can be created with the OVP peripheral and platform models, or the processor models can be integrated into SystemC/TLM-2.0 based virtual platforms using the native TLM-2.0 interface available with all OVP models. The native TLM-2.0 interface enables multiple instantiations of the processor models in a single virtual platform, just as any other component would be instantiated. The OVP simulator can also be encapsulated within the Eclipse IDE, enabling easy use for software developers.
These models run different benchmarks up to 2,000 million instructions per second on an average desktop PC. For most processor families several bare metal OVP platforms are available showing usage of 1 processor core, 2 cores, and 24 cores. These show how a platform is constructed, how cross compiled application software is loaded onto the platform and the how the platform is run. The platforms are available as C and SystemC TLM-2.0, with the source of the platforms provided.
To get the high speed required for real applications, processor hardware is modeled only to the minimum necessary level for correct or plausible instruction behavior so that software cannot tell it is not running on real hardware. Processor core models are instruction accurate. There is no timing information, no cycle approximation. These models are developed to simulate as fast as possible, enabling software developers to use OVP as their early development environment.
Where possible, processor core model functionality is verified by the processor vendor themselves, or with technology provided by the processor vendor.
The OVP Fast Processor Models are written in C and use the OVP APIs. They are provided as source and are released using a modified Apache 2.0 open source license.