Skip to content

SpaceBod/MIPS-CPU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Synthesisable MIPS-Compatible CPU

This CPU implements a subset of the MIPS IV ISA revision 3.2 and operates using 32, 32-bit registers, following the basic principles of a bus architecture (instructions and data share the same interface to the CPU). As shown in the top-level diagram below, core components of the CPU are the ALU, controller, instruction register,program counter, register file.

Group Members:

DomJustice
sheriff4000
xc720
Hannah Shewan
Andyli-1020

CPU Design

Diagram

As per the specification, the CPU uses the Intel Avalon memory mapping interface, allowing for a more accessible solution. We use a 32 bit, big endian system and there is no support for double word instructions or instructions involving floating point numbers.

Environment Requirements

The CPU and testbench are designed to work in the Ubuntu 18.04 environment, with version 11.0 of Icarus verilog compiled and installed. All verilog files are to be compiled with -g 2012. We assume that the standard Ubuntu packages are already installed, alongside the following packages:

  • build-essential (g++, make)
  • git
  • gcc-mips-linux-gnu
  • qemu-system-mips
  • python3
  • cmake
  • verilator
  • libboost-dev
  • parallel

About

2021 EIE Coursework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published