Welcome to NUS CG3207 - Computer Architecture
Welcome to CG3207! In this repository, you will find the manuals for each of the 4 lab exercises you will complete for this course, as well as instructions on how to set up the tools you'll need.
Work in progress!
For AY25/26 Sem 1, this website is being significantly overhauled. Until 31 August 2025, all pages on this website should be considered drafts, and the contents may change significantly. After 31 August 2025, pages that are still non-final will still be clearly demarcated as such, with a warning message that looks like this one, but any other pages can be considered final.
Labs for this course are generally free and easy. Physical attendance is recommended, but not necessary EXCEPT FOR ASSESSMENTS. There are 4 lab assignments in total, each of which will first be introduced in a briefing, and then assessed in a subsequent (not necessarily the next) week. At least one member of the teaching team will always be present in the lab during lab sessions to assist with any doubts you have.
Check NUSMods for the lab venue corresponding to your lab slot.
Intended learning outcomes (labs)
In the lab component of this course, you will put into practice the concepts learned in lecture (as well as some you explore on your own), and see them come to life.
You will learn:
- The RISC-V architecture and assembly language.
- How to build your very own CPU which can execute real RISC-V programs.
- Advanced CPU design tricks to improve performance.
First steps
To make the most of the labs, we recommend doing some reading before you come for your first session.
-
First, the page on how to use this website. Pay special attention to the section on "How to get help", as it is very important.
-
Next, the prerequisites for the lab. If you have any concerns with these prerequisites, please approach the teaching team as early as possible. The background knowledge outlined in this page is critical for you to do well in this course.
-
Make sure you read Getting to know your Nexys 4 and install Vivado on your personal computer as soon as possible. If you do not have access to a Windows or Linux (preferred) PC, you should try your best to get/borrow one for this course. Vivado does work in Parallels Desktop on a Mac, but this is an expensive piece of software, and not entirely a supported configuration.
-
Finally, choose an architecture that you want to work with for the labs. You may choose between RISC-V (recommended), or ARM (deprecated, not well supported by teaching team). This might also be a good time to form teams of two to three people for labs 2, 3, and 4. Note that Lab 1 will be an individual exercise, and you will not be assessed as a team - though, of course, we encourage you to work together (academically honestly, of course - no copying or direct sharing of work, please).
Lab outline
Lab | Description | Marks | Remarks |
---|---|---|---|
1 | Familiarisation with HDL/FPGA and Assembly Language. Omae wa mou shindeiru. |
10 | Individual exercise |
2 | Basic CPU design. All your base are belong to us. |
30 | Teams of 2 or 3 students |
3 | ALU Design. Billions of blue blistering barnacles. |
20+5$ | Teams of 2 or 3 students |
4 | Advanced CPU design. It was the best of times, it was the worst of times. |
15+10$ | Teams of 2 or 3 students |
Total | 90 | = 45% of the module grade |
The lab repository contains all the files you need to download. Some other useful resources can also be found using the menu on the left of this page.
Lab Schedule
Week | Monday Lab Date (18:00-21:00) | Friday Lab Date (09:00-12:00) | Activity |
---|---|---|---|
4 | 1 Sep 2025 | 5 Sep 2025 | Lab 1 Intro |
5 | 8 Sep 2025 | 12 Sep 2025 | Lab 1 Demo, Lab 2 Intro |
6 | 15 Sep 2025 | 19 Sep 2025 | Lab 2 Consultation |
Recess | 22 Sep 2025 | 26 Sep 2025 | No Lab Session |
7 | 29 Sep 2025 | 3 Oct 2025 | Lab 2 Demo, Lab 3 Intro |
8 | 6 Oct 2025 | 10 Oct 2025 | Lab 3 Consultation |
9 | 13 Oct 2025 | 17 Oct 2025 | Lab 3 Demo, Lab 4 Intro |
10 | 20 Oct 2025 | 24 Oct 2025 | Lab 4 Consultation |
11 | 27 Oct 2025 | 31 Oct 2025 | No Lab - NUS Well-Being Day |
12 | 3 Nov 2025 | 7 Nov 2025 | Lab 4 Demo |
License
NUS CG3207 Labs © 2025 by NUS CG3207 Team is licensed under CC BY-NC-SA 4.0