Emulators
Emulators are
software that allow to emulate a MIPS processor and eventually other
devices, such as timers, serial ports, hard drives.
Contents[]
Open Virtual Platforms (OVP) OVPsim
Open Virtual Platforms (OVP) ()
includes the freely available simulator OVPsim, a library of models of
processors, peripherals and platforms, and APIs which enable users to
develop their own models. The models in the library are open source,
written in C, and include the MIPS 4K, 24K, 34K, 74K, 1004K, 1074K and
M14K cores. These models are created and maintained by Imperas ()
and in partnership with MIPS Technologies have been tested and assigned
the MIPS-Verified(tm) mark. The OVP site also includes models of ARM,
NEC, Power Architecture, Tensilica and OpenCores/openRisc processors.
Sample MIPS-based platforms include both bare metal environments and
platforms for booting unmodified Linux binary images. These
platforms/emulators are available as source or binaries and are fast,
free, and easy to use. OVPsim is developed and maintained by Imperas
and is very fast (100s of million instructions per second), and built to
handle multicore architectures. To download the MIPS OVPsim
simulators/emulators visit .
GXemul
emulates ARM, M88K, MIPS, PowerPC, and SuperH processors and
machines. The MIPS emulation is fairly complete as it can run NetBSD,
OpenBSD, Linux, Ultrix, and Sprite. It emulates several different MIPS
ISA I-IV and MIPS32/64 processors. , , , ,
HPCmips, SGI, and Algorithmic machines are among the currently emulated
MIPS machines; however, the best supported of these machines is
probably the DECstation 5000/200. The GXemul homepage is at .
SimOS
models hardware similar to that of machines sold by and . The key component of such machines is the CPU, and SimOS currently provides models of the MIPS and
and Digital Alpha processor families. In addition to the CPU, SimOS
simulates caches, multiprocessor memory busses, disk drives, ethernet,
consoles, and other devices commonly found on these machines. By
simulating the hardware typically found on commercial computer
platforms, porting existing operating systems to the SimOS environment
is easy. IRIX 5.3, 6.4 and Digital UNIX have been ported; an Alpha port
of Linux is being worked on. The project, which is hosted at ,
seems to have been active in the 1998-2001 timeframe. Nothing new has
been added since then and the overall status of the project is
uncertain.
There is a
simulator based on SimOs. Currently it support two cpus, timer, DUART,
genbus, memory controller, dma, ether card and it also support gdb
remote debug. It can run and linux 2.6 kernel. The NICAT L4 Pistachio can be run in SimBCM.
Sulima
Sulima is an instruction set architecture (ISA) simulator,
originally designed as a research and teaching tool for internal use by
the Distributed Systems Group at the University of New South Wales. The
documentation is sparse but refers to the use of gcc-2.95 which
indicates a very old project. The Sulima homepage may be found at .
MIPSsim
is MIPS Technologies' proprietary MIPS simulator. It actually is
more like a family of several MIPS simulators which differ in
performance and accuracy allowing the user to choose the right tool for
the purpose. Linux supports MIPSsim as a special target platform.
MipsSim
MipsSim is a MIPS emulator for the
educational operating system. It's a fairly simple emulator, written in
Java, that emulates a R3000 processor. This project seems to be quite
old and inactive (the emulator needs some modifications to compile with
recent JDK). The MipsSim homepage
~gfa/MipsSim.html is now dead; it fortunately
has been at the .
SPIM
SPIM (which is just MIPS spelled in reverse) is an emulator
that supports a MIPS32 instruction set (no MIPS64 bit support) with some
minor restrictions in available instructions. It works by interpreting
MIPS assembler source code and thereby avoids binary "complications".
It seems most suitable for learning the basics of MIPS assembly
language. SPIM is available from
in source code and binary executables format for Linux, Windows and Mac
OS X (non native, running in X11) . The latest version is 7.5, dated
August 2009.
VMIPS
is an emulator. VMIPS comes with a few standard devices: SPIM-compatible console device, Standard clock device, Halt device and
5000/200-compatible devices. VMIPS isn't updated that often (the last
update was in January of 2005) but the author does maintain it and has a
mailing list (not too active) for news. VMIPS is written in C++ and is
extensible since the object-oriented way in which it is written makes
it easy to understand and modify. The VMIPS documentation is
well-written. Developing new devices for VMIPS is straightforward. The
VMIPS homepage is located at .
Virtutech Simics
is a commercial product (free for academic use) designed to emulate
systems such as Alpha, AMD64, ARM, EM64T, IA-64, MIPS, PowerPC, SPARC-V8
and V9, and x86 CPUs. For MIPS architectute Simics emulates with 4K or 5K CPU.
SandUPSim
was developed by
of the Chinese Academy of Sciences and is derived of VMIPS. Like VMIPS
it simulates a R3000-based system. SandUPSim's homepage can is located
at .
MPS
MPS is an emulator. English documentation is available only as a PostScript file. MPS is available at
YAMS
Yet Another MIPS Simulator, plus some hardware emulation to run NetBSD. YAMS is available at .
MAME/MESS
X-MAME and X-MESS no longer exist.
is a Multi Arcade Machine Emulator, a program that emulates the
hardware (and low-level firmware) of a massive variety of arcade
machines. MESS is a Multi Emulator Super System, an emulator for the
hardware of many different games consules (e.g. Sega, NES, SNES, etc.)
The official site of the MAME development team : http://www.mamedev.com/ . There is a port to the X/Unix: .
Among others MAME emultates a MIPS , /IV and Sony PSX CPUs. Emulated systems includes Atari/Midway Phoenix//Flagstaff consoles (which based on the R4700/R5000 and Galileo ), Sony consoles and SGI and Indigo.
MISSE
MISSE, the MIPS Instruction Set Simulator Environment is available from .
Cisco 7200 Simulator
is an emulator of a 7200, 3600 and 3700 routers. The software emulates a R4600 CPU and some of the peripherals of the Cisco routers (,
DEC Tulip 21140, DEC 21050, ...). This emulator is actively maintained.
There is a good deal of emphasis on emulating network devices, as you
might expect with a Cisco emulator. The Cisco 7200 Simulator homepage
is located at .
QEMU
has its .
VirtualMIPS
is an emulator of MIPS SoC's and systems, currently only supporting the Jz4740.
See also