LIBRARY  |  COMPANIES |   PLATFORMS |   PROCESSORS |   PERIPHERALS
Mips32MaltaLinuxModifyingPlatformInstructions

Modifying the MIPS Malta Platform


A pre-built executable of the MIPS32 Malta Platform is provided as a demonstration of OVP, as described on Mips32MaltaLinuxBootingInstructions.

All the source code of the MIPS32 Malta Platform, the MIPS32 processor and the peripherals are provided as open source. This allows the user to re-build the same platform executable and library containing processors and peripherals. It further enables the user to modify existing peripherals and/or easily add new peripherals into the MIPS Malta Platform.

The source code for models is provided as part of the OVPsim installation. Once installed the source library can be found at IMPERAS_HOME/ImperasLib/source. This is structured into a Vendor/Library/Name/Version (VLNV) library structure.

The vendor names generally follow the rule of .ovpworld.org. For example a 16450 UART model from national semiconductors is found at national.ovpworld.org/peripheral/16450/1.0


Pre-Requsites for Platform Recompilation


OVP Simulator

The OVP simulator, OVPsim, provides the high performance simulator at the core of OVP. This download includes a model source code library, a pre-compiled binary library containing all the components used in the MIPS32 Malta Platform and the platform executable itself.

Click to log in before viewing / downloading[for Windows] Main OVP Download including OVPsim Simulator and Self Contained Examples of all CPU Models using The (174.47 MB)
Binary of the simulator, headers, examples of creating processors, peripherals and platforms, and running. Includes full documentation. Includes many models as source code. Includes single and multicore examples running fibonacci, linpack, dhrystone etc.

Click to log in before viewing / downloading[for Linux] Main OVP Download including OVPsim Simulator and Self Contained Examples of all CPU Models using The (241.26 MB)
Binary of the simulator, headers, examples of creating processors, peripherals and platforms, and running. Includes full documentation. Includes many models as source code. Includes single and multicore examples running fibonacci, linpack, dhrystone etc.


OVP PSE Toolchain

Models of peripherals use a Peripheral Simulation Engine (PSE). It is, therefore, required to download and install the toolchain to allow compilation of peripheral models.

Click to log in before viewing / downloading[for Windows] OVP PSE Tools (70.58 MB)
GCC and GDB tools for Peripheral Simulation Engines (PSEs) for behavioral modeling.

Click to log in before viewing / downloading[for Linux] OVP PSE Tools (88.18 MB)
GCC and GDB tools for Peripheral Simulation Engines (PSEs) for behavioral modeling.


Installing MSYS / MINGW Environment for Windows Hosts

The compilation environment that is recommended for use on a Windows system uses MSYS and MINGW. Obtaining and installing the MSYS and MINGW environmemnt is described in Imperas_Installation_and_Getting_Started.pdf

Recompiling Source Code

The source code for all of the library components is now part of the installation package OVPsim. The following is a basic guide to re-compiling source code that has been modified.

When modifying any model source code it is recommended to take a copy of the model source and create your own 'user' source library following the same structure. This will reduce the chance of you overwriting all your source code changes when installing a new version of OVPsim.

The following instructions are applicable when compiling an individual model from its source code and should be executed from the model source directory.

Compile into System Library


WARNING: This will overwrite binary models downloaded and installed as part of OVPsim



In an MSYS or bash shell go into the directory containing the downloaded source. At the command line type

> make VLNVSYSTEM=1

This will compile into the system VLNV library.

Compile into Local Library


In an MSYS or bash shell go into the directory containing the downloaded source. At the command line type

> make VLNVROOT=$(pwd)/localVLNVLib

This will compile into a local VLNV library structure called localVLNVLib in the current working directory.

To then use the compiled components from the library by default the environment variable IMPERAS_VLNV must be set. This can be set in the shell (and will take effect in this shell) by typing the following at the command line
> export IMPERAS_VLNV = $(pwd)/localVLNVLib

you may just want to add this as an additional library

> export IMPERAS_VLNV = $IMPERAS_VLNV:$(pwd)/localVLNVLib



MipsPlatforms ImperasPage
Page was generated in 0.0187 seconds