For this project, you will be building a small single-cycle CPU. Your CPU will be capable of running real programs (with conditionals, function calls, etc) and outputting numbers.

Project overview

The mcu91 architecture is a 16-bit architecture similar in scope and complexity to real CPUs from the 1970s and 1980s. It’s mostly a RISC architecture but has some CISC bits in there too, to make it interesting 😉

Breaking it up into pieces will make it much easier to build, test, and fix.

You also get partial credit for broken instructions, or for pieces of circuitry for an instruction that isn’t implemented.

Click here for the mcu91 ISA.

Keep it open along side these details:

Project Details

Click the link above for all the juicy implementation details.

Extra Credit

Done? Bored? Try this.

Logisim Hints

Ways to use Logisim more effectively, letting you work quicker.

Test Programs

Assembled programs for you to load into your machine’s ROM to test it.


Submission details

Your CPU can look any way you like, BUT IT MUST HAVE THE FOLLOWING THINGS ON ONE SCREEN IN THE MAIN CIRCUIT:

Kinda like this:

But with, like, wires and tunnels and a whole CPU hooked up to them.

You will submit a ZIP file named username_proj2.zip where username is your Pitt username. For example, I would name mine jfb42_proj2.zip.

Do not put a folder in the zip file, just the files you are submitting. When we open the zip file, we should see the following:

Submit here as usual.


Grading Rubric

The points break down as follows: