vgizatulin / mipt-mips

Cycle-accurate pre-silicon simulator of MIPS CPU

Home Page:http://mipt-ilab.github.io/mipt-mips/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build StatusBuild status

MIPT-MIPS

This project is a part of ILab activity at Moscow Institute of Physics and Technology (MIPT).

The aim of the project is to teach the students the computer architecture through development of a microprocessor implementing the MIPS instruction set in both functional and performance simulators.

This repository contains source files of cycle-accurate simulator (aka performance or pre-silicon simulator) of MIPS CPU.

More details about the project are available on Wiki

Getting started

  1. Install MIPS binutils if you need to build MIPS ELF binaries.
  2. MIPT-MIPS requires LibELF and Boost. We have an instruction how to get them
  3. In POSIX environment (Linux, OSX, Windows-Ubuntu, and Msys) you can build MIPT-MIPS just by make mipt-mips command
  4. WIP on MS Visual Studio support. Currently you can build MIPT-MIPS in command line using build.cmd batch file.

C++ requirements

MIPT-MIPS is written in C++14. Thus, you have to use one of these compilers:

  1. GCC 5 or higher
  2. MS Visual Studio 2015 or higher
  3. Clang 3.4 or higher

Required version of Boost is 1.55.

Basic command line options

  • -b <filename> — provide path to ELF binary file to execute
  • -n <number> — number of instructions to run
  • -f — enables functional simulation only
  • -d — enables detailed output of each cycle

Known issues

  • Reduced subset of MIPS instructions is supported at the moment.

May I contribute?

Yes, if you attend MIPT-MIPS lectures. See our CONTRIBUTING.md file for details.

About

Cycle-accurate pre-silicon simulator of MIPS CPU

http://mipt-ilab.github.io/mipt-mips/

License:MIT License


Languages

Language:C++ 95.6%Language:Makefile 3.3%Language:Batchfile 1.1%