Project 3: CS61CPU

Part A Deadline: Thursday, March 16, 11:59:59 PM PT

Part B Deadline: Thursday, April 13, 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 18-23, Labs 5-6, Discussions 7-8, Homework 6. 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. 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 git@github.com:61c-student/sp23-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/sp23-proj3-starter.git
    

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 test.sh 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.