With Open Virtual Platforms you can use any of your existing C/C++/SystemC environments.
You can use your existing models in C, C++, SystemC with OVP models and platforms. You can use a SystemC platform with OVP models and subsystems underneath - thus maintaining use of existing components - while making use of new, faster modeling with OVP.
OVP is fully compatible with your SystemC methodology - have a look, download some of the examples in the demo area.
If you are using TLM2 and need extremely fast processor models, then OVP is what you need - as OVP models work with TLM2 platforms - please visit this page.
OVP has three main components
- the OVP APIs that enable a C model to be written efficiently and then used in SystemC
- a library of open source processor / peripheral models, callable from C, C++, SystemC
- tools including OVPsim: a simulator that executes these models - fast. 100s MIPS normal, up to 1,000 MIPS.
With OVP you can put together a simulation model of a platform as a C/C++ or SystemC top level program, compile it to an executable, and connect it to your debugger to provide a very efficient fast embedded software development environment.
All models are completely free from OVP, ..., for you to use, your project to use, and for your customers to use.
Models and platforms are easily usable with C/C++/SystemC.
OVP models and subsystems can be encapsulated in your SystemC platforms and harnesses using:
- sc_clock(), i.e. at the detailed instruction or clock level, or
- TLM2, i.e. the OSCI Transaction Level Modeling approach
OVP can connect at any level - though if you use the sc_clock() level - then you will get pretty poor performance. If you use the latest technology with TLM2 - then the OVP models will not be slowed down too much. OVP models are designed to run at 100s of MIPS. Care needs to be taken not to slow this down. To read more about how OVP models work with TLM2, please visit this page.
For more information have a look at some of the demo examples and the examples in the OVPsim download package. Also have a look in the forum for any posts regarding SystemC and OVP.
If you do not find what you are looking for - then contact info[at]ovpworld.org and lets see about getting somebody to help you.
In 2016 Imperas made iGen downloadable and usable from the OVP website alongside OVPsim. iGen can take a very simple yet powerful input script that defines a complete platform, and can write out a complete SystemC TLM2 platform that can run with OSCI or any of the main SystemC simulator vendors. These generated platforms will make calls to the SystemC interfaces of the instanced behavioral components. Thus you can use any of the OVP components in a SystemC platform and iGen allows you to create that SystemC TLM2 platform very easily.