General Information about OVP Models

Models on this OVP website are those developed by Imperas and those provided by 3rd parties to Imperas for inclusion into OVP. These models are provided as ready to run object and also many are available as source. The source of the models is provided in the packages downloaded from this site.

The models on the OVP site download packages will be those that have been validated by OVP and verified against a verification suite. Users can also upload their own packages onto the OVPworld library pages.

It is very easy to develop your own models - the APIs and OVPsim simulator are all you need. If you are doing a processor model, a good starting place is to look at the source of the OR1K model or the MIPS model and to see the VMI training material based around it.

If you are building platforms then iGen can make it much easier. iGen also can create the templates for peripheral models directly from a simple iGen input TCL script. iGen has very powerful set of commands to create all the interface connections and registers that are needed in peripheral models. iGen also provides the function stubs for you to add in your own behavioral code.

If you develop your own models and would like them to become hosted here on OVP then please contact us at info[at]ovpworld.org. We will need to be provided the source and the verification suites. When quality is sufficient they will be hosted here. You can also create your own page on the library wiki.

If you need a model that we do not have here - please request them in the forums.

If you need a model developed, then please contact us here, or contact one of the model building organizations such as Imperas at info[at]Imperas.com.

Below you will find specific information as to which models are currently available and those under development.

If you are planning building your own models - contact us for advice, assistance etc.

Are the models free you may ask - and yes the models from OVP are free - even the vendor verified advanced multicore processor models. There will be other providers of models in due course and they may charge for models.

At Imperas all OVP models are developed, compiled and validated against MinGW/MSYS on X86 PC running Windows and also using Linux on x86 PCs.

For users running Windows operating systems, OVP recommends using MinGW and MSYS from www.mingw.org.

The models on the OVP site are available in current version only from the main pages. There is also a previous releases page where many model packages are available from previous releases.

The OVPsim simulator executes the different models. VMI processor models are run as Just-In-Time Code Morphing Instruction Accurate models whereas peripheral models using BHM/PPM are simulated in the simulator on a Peripheral Simulation Engine (PSE) in a safe environment.

Models are typically provided as dynamically linked libraries. Platforms can be shipped as executables or dynamically linked libraries.

Platform Models

Currently there are many example platforms - from 1 to 24 processors. Several real platforms are currently under development, for example there is a MIPS Malta platform that boots Linux and Android, and several ARM platforms including the Versatile Express platform that can boot SMP Linux on ARM Cortex-A9MP.

To browse the various platform models please check the platform library tab and forum for latest details.

Peripheral Models

There are many peripheral models from many vendors. Some of these have full functionality like Ethernet, USB and some of them are just register stubs to allow an Operating Systems to boot.

To browse the various peripheral models please check the peripheral library tab and forum for latest details.

Processor Models

Several processor models have been developed using the OVP methodology and APIs. On this site there are currently several model families - OpenCores, ARM, Synopsys ARC, MIPS, PowerPC, Altera, Xilinx, Renesas,... There have been other models developed using OVP technology but these remain proprietary to their developers / users.

To browse the list of vendors click: www.ovpworld.org/vendors.

It is normal practise for each processor model to be listed on the OVP site with several examples / benchmarks enabling the verification that it is installed and running correctly.

For a list of all models currently available visit: www.ovpworld.org/variants.

In the OVP main download package there are demonstration scripts and application elf files that use the ISS program to instance a particular processor model variant and run several benchmarks on it. They allow connection of debuggers and GUIs and allow you to run your own cross compiled programs. When you have downloaded the main OVP package they are at Demo/Processors.