Project 3: CS61CPU

Part A Deadline: Wednesday, March 20, 11:59:59 PM PT

Part B Deadline: Tuesday, April 9, 11:59:59 PM PT

In this project, you will be building a CPU that runs actual RISC-V instructions.


You must complete this lab on your local machine. See Lab 0 if you need to set up your local machine again.

For common errors with Logisim or Project 3-specific errors, please look at the common errors page.

Setup: Git

This assignment can be done alone or with a partner.

Warning: Once you create a group on Gradar, you will not be able to change (add, remove, or swap) partners for this project (both Project 3A and 3B), so please be sure of your partner before starting the project. You must add your partner on both Gradar and to every Gradescope submission.

If there are extenuating circumstances that require a partner switch (e.g. your partner drops the class, your partner is unresponsive), please reach out to us privately.

  1. Visit Gradar. Log in and register your Project 3 group (and add your partner, if you have one), then create a GitHub repo for you or your group. If you have a partner, one partner should create a group and invite the other partner to that repo. The other partner should accept the invite without creating their own group.

  2. Clone the repository on your workspace. Please use your local machine (you don't need the hive machine at all for this project). Windows users should clone outside WSL (Git Bash is recommended).

    git clone 61c-proj3

    (replace USERNAME with your GitHub username)

  3. Navigate to your repository:

    cd 61c-proj3
  4. Add the starter repo as a remote:

    git remote add starter

If you run into git issues, please check out the common errors page.

Setup: Logisim

This project is done in Logisim. In the 61c-proj3 directory, run bash download_tools to download Venus and Logisim for this project. (You only need to run this once.)

For the rest of the project, to open Logisim, run java -jar tools/logisim-evolution.jar.

Restoring Starter Files

To restore starter files, please check out the common errors page.