MIPS32 Built in Logisim-ITA

MIPS32 made in Logisim-ITA built in free time! Soon to be in an FPGA.

Similar projects worth following
This is a homemade 32-bit MIPS CPU made in Logisim, that I made when I got bored. It's a fun project, and I want to expand it's functionality, but I can only do so much in a day. I plan on porting this into Logisim-Evolution, and converting it into Verilog or VHDL, fo that I can put it in an FPGA. but that would be a lot of work, seen as I need to learn VHDL and Verilog. I would rather like to learn Verilog but I first need an FPGA board. I need to just get the CPU to work in the way I can.

I have a very long way yet to finish this project, but I should be able to get it done quicker now that summer break is here and school isn't interfering with everything it possibly can.

My current issues:
I need to get syscall working. Especially so that I can print strings and integers on my little display.
I need a bunch more branch functions, and one or two more jumps.
I need to get a keyboard input in the circuit sim, so that I can type.
And lastly I need to clean up my

Links: .circ file download

Already working instructions:

add, addi, addiu, and, andi, or, ori, sub, slt, slti, beq, bne, bgtz, j, syscall (exit)

Instructions yet to be added:

addu, subu, sb, lb, jal, jr, bltz, blez, bgezal, mfhi, mflo, sllv, srlv, lui, sll, srl, xor, xori, syscall (print int, print str, read str, print char, read char)

I will be updating my list of working instructions when I get 2 or more working and can guarantee they work. I will also be porting this to logism-evolution when I completely finish the MIPS CPU. Thus being able to use a color display to test its capabilities. I will also be taking advantage of Logism-evolutions ability to convert its circuit into VHDL or Verilog. But I first have to learn one of the two. I plan on learning Verilog due to its more "C" like nature and less verbose nature. Less verbose = smaller code.


My MIPS CPU Logisim File

circ - 133.81 kB - 04/16/2020 at 04:27


  • 1
    Download your version of Logisim

    Download Logisim, I recommend Logisim-ITA or Logisim-EVO. Except you'll have to edit the circuit a bit in Logisim Evolution because of how it is. You will also download my .circ file and import it into Logisim.

  • 2
    Download my 32-BIT-MIPS.circ file

    Download the .circ file and import it into Logisim.

  • 3
    Download MARS, MIPS assembler.

    Download MARS, a MIPS assembler, which is a pretty awesome piece of software if you ask me.

    Open your .asm file in MARS, save your file, then click the "Assemble" button. You'll be brought to a new page in MARS, and you can click the "Run Program" green play button to simulate your .asm file.

    *NOTE* Please read the updated supported instructions list. I'll be adding different instructions when I have the time.

View all 5 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates