Project 3: CS61CPU

Part A Deadline: Monday, July 25, 11:59:59 PM PT

Part B Deadline: Monday, August 1, 11:59:59 PM PT

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

Content in scope for this project: Lectures 13-15, Lab 3, Discussions 7-8, Homework 5. Also, make sure you've finished the setup in Lab 0.

Setup: Git

This assignment can be done alone or with a partner.

Warning: Once you create a GitHub repo, you will not be able to change (add, remove, or swap) partners for this project (both 3A and 3B), so please be sure of your partner before starting the project.

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 Galloc. Log in and start the Project 3 assignment. This will create a GitHub repository for your work.

  2. Clone the repository on your workspace. We recommend using 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 git@github.com:61c-student/su22-proj3-USERNAME.git 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 https://github.com/61c-teach/su22-proj3-starter.git
    

Setup: Logisim

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

We've updated Logisim with some new features and defaults. Please run java -jar tools/logisim-evolution.jar --clear-prefs to make sure you have the latest defaults.

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

Restoring Starter Files

While running tests, if you see an error message like "tests/file.txt was changed from starter", this means that you accidentally modified one of the starter files that you shouldn't change. To restore the original file from the starter repo, run

git checkout starter/main tests/file.txt

replacing tests/file.txt with the filepath that you saw in the error message.