/MIPS-Processor

An implementation of a MIPS processor that supports a majority of the MIPS instruction set

Primary LanguagePythonMIT LicenseMIT

MIPS Processor

Overview

An implementation of a MIPS processor using Logisim to build the circuitry and Python to test the processor itself.

Screenshot Screenshot Screenshot

The project implements the following parts:

  1. Regfile - for the necessary read/write ports and registers needed to store values
  2. Memory - for storing values in long term memory when a programmer runs out of registers to use or needs to use a stack
  3. ALU - for performing arithmetic instructions for the processor
  4. Processor - for controlling the logic for instructions to compute correctly and update registers/memory when needed

Supported Instructions

  • sll
  • srl
  • sra
  • add
  • addu
  • addiu
  • addi
  • jal
  • jr
  • j
  • slt
  • sltu
  • sltiu
  • slti
  • and
  • or
  • andi
  • ori
  • lui
  • lw
  • sw
  • beq
  • bne
  • clz