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), outputting numbers, and even printing things to a screen and accepting keyboard input. You know, like a real computer!

Project overview

The cpu2214 architecture is a 16-bit architecture with some similarities to MIPS. It is a single-cycle Harvard architecture machine.

You can get partial credit for broken instructions, or for pieces of circuitry for an instruction that isn’t implemented. However, a terrible strategy is to “try to get a little of everything done.” I don’t know who keeps teaching you to do this but you should stop. It’s much better to understand 70% of the project well than to understand all of it poorly.

The cpu2214 ISA

Keep this open alongside these details:

Project Details

Click the link above for all the juicy implementation details.

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 Logisim circuit file named username_proj2.circ where username is your Pitt username. For example, I would name mine jfb42_proj2.circ.

Submit here as usual.


Grading Rubric

The points break down as follows: