OVPsim

OVPsim
OVPsim
Developer(s) Imperas
Stable release 20110906.3 / September 6, 2011; 38 days ago (2011-09-06)
Operating system Windows, Linux
Type Emulator
License Proprietary, Apache License 2.0 for models
Website http://www.OVPworld.org/

OVPsim is a multiprocessor platform emulator that uses dynamic binary translation technology to achieve high simulation speeds. It has public APIs allowing users to create their own processor, peripheral and platform models. Various models are available as source [1]. OVPsim is a key component of the Open Virtual Platforms initiative. Requires registration to actually download.

Contents

Licensing

OVPsim is written and maintained by Imperas. The core simulation platform is proprietary software; it is available free of charge for non-commercial usage, but commercial usage requires a license from Imperas. Various processor, peripheral and platform models are available as free software under the Apache License 2.0.

Details

There are three main components of OVP: open source models, fast OVPsim simulator, and modeling APIs. These components are designed to make it easy to assemble multi-core heterogeneous or homogeneous platforms with complex memory hierarchies, cache systems and layers of embedded software that can run at hundreds of MIPS on standard desktop PCs. OVPSim is not cycle-accurate. There are many examples of components, and complete virtual platforms that can boot Linux in under 5 seconds at OVP Homepage.

Open source models

Within OVP there are several different model categories. These models are provided as both pre-compiled object code, and as source files. Currently there are processor models of ARM (processors using the ARMv4, ARMv5, ARMv6, ARMv7 instruction sets), MIPS (processors using the MIPS32 and microMIPS instruction sets), ARC600/ARC700, NEC v850, PowerPC and OpenRisc families. There are also models of many different types of system components including RAM, ROM, cache, and bridge. There are also peripheral models including DMA, UART, and FIFO. There are also models of several different pre-built platforms including software like ucLinux to run on them. One of the main uses of the OVP simulation infrastructure is the ability to create and simulate your own models - either from scratch, or by using one of the open source models as a starting point. The OVP APIs are tailored to different model types: processors, behavioral models of peripherals, and platforms.

OVPsim simulator

The OVPsim is available as an OVP reference and is free for non-commercial usage. The simulator uses dynamic binary translation technology to achieve very high simulation speeds (more than a billion simulated instructions per second is possible in some cases on regular desktop PC machines). OVPsim is available for x86 Windows and Linux hosts.

OVPsim comes with a GDB RSP interface to allow simulated processors to be debugged with any standard debugger that supports this GDB RSP interface.

OVPsim can be encapsulated and called from within other simulation environments and comes as standard with wrappers for C, C++, and SystemC. OVPsim includes native SystemC TLM2.0 wrappers. It is also possible to encapsulate legacy models of processors and behavioral models so that they can be used by OVPsim.

Modeling APIs

OVP models are created using C/C++ APIs. There are three main APIs: ICM, VMI, BHM/PPM.

ICM

For platforms there is the ICM API for controlling, connecting, and observing platforms. This API can be called from C, C++, or SystemC. The platform provides the basic structure of the design and creates, connects, and configures the components. The platform also specifies the address mapping, and software that is loaded on the processors. It is very easy with ICM to specify very complex and complete platforms of many different processors, local and shared memories, caches, bus bridges, peripherals and all their complex address maps, interrupts and operating systems and application software.

VMI

For processor modeling there is the VMI API. These API functions provide the ability to easily describe the behavior of the processor. A processor model written in C using the VMI decodes the target instruction to be simulated and translates this to native x86 instructions that are then executed on the PC. VMI can be used for modeling 8, 16, 32, and 64 bit architectures. There is an interception mechanism enabling emulation of calls to functions in the application runtime libraries (such as write, fstat etc) without requiring modification of either the processor model or the simulated application.

PPM & BHM

Behavioral components, peripherals, and the overall environment is modeled using C code and calls to these two APIs. Underlying these APIs is an event based scheduling mechanism to enable modeling of time, events, and concurrency. Peripheral models provide callbacks that are called when the application software running on processors modeled in the platform access memory locations where the peripheral is enabled.

External links

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • List of emulators — This article lists software that emulates arcade and console game systems, computing platforms and CPUs.Arcade systems* Ace CPS1/CPS2/Neogeo emulator * Calice CPS1/CPS2 emulator * Callus * Daphne Arcade Laserdisc Emulator * EmuDX Enhanced Arcade… …   Wikipedia

  • Comparison of platform virtual machines — Platform virtual machines are software packages which emulate the whole physical computer machine, often giving multiple virtual machines on one physical platform. The table below compares basic information about platform virtual machine (VM)… …   Wikipedia

  • ARC International — Тип приобретена Virage Logic и Synopsys Год основания 1998 Расположение Edgware, Англия Ключевые фигуры …   Википедия

  • Virtual machine — A virtual machine (VM) is a completely isolated guest operating system installation within a normal host operating system .[1] Modern virtual machines are implemented with either software emulation or hardware virtualization or (in the most… …   Wikipedia

  • Dynamic recompilation — In computer science, dynamic recompilation (sometimes abbreviated to dynarec or the pseudo acronym DRC) is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling… …   Wikipedia

  • Full system simulator — A full system simulator is a computer program that simulates computer systems at such a level of detail that complete software stacks from real systems can run on the simulator without any modification. A full system simulator effectively… …   Wikipedia

  • Computer architecture simulator — In computer science, a computer architecture simulator, or an architectural simulator, is a piece of software to model computer devices (or components) to predict outputs and performance metrics on a given input. An architectural simulator can… …   Wikipedia

  • List of computer system emulators — This article lists software and hardware that emulates computing platforms.64 bit systemsx86 64* QEMUDEC Alpha* Simics * [http://es40.org/ Open Source AlphaServer ES40 Emulator] =DEC MIPS= * GXemul * QEMUItanium (formerly IA 64)* NUE * Simics *… …   Wikipedia

  • MIPS-Architektur — MIPS R4400 Prozessor von Toshiba Die MIPS Architektur (englisch Microprocessor without interlocked pipeline stages; deutsch etwa ‚Mikroprozessor ohne Pipeline Sperren‘) ist eine Befehlssatzarchitektur im RISC Stil, di …   Deutsch Wikipedia

  • MIPS (архитектура) — У этого термина существуют и другие значения, см. MIPS. MIPS (англ. Microprocessor without Interlocked Pipeline Stages)  микропроцессор, разработанный компанией MIPS Computer Systems (в настоящее время MIPS Technologies) в соответствии… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”