Home
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.
Lab outline
All labs will be conducted at Digital Systems and Applications laboratory, E4A-04-08.
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 (Tentative)
Week | Monday Lab Date (18:00-21:00) | Friday Lab Date (09:00-12:00) | Activity | Remarks |
---|---|---|---|---|
4 | 2 Sep 2024 | 6 Sep 2024 | Lab 1 Intro | |
5 | 9 Sep 2024 | 13 Sep 2024 | Lab 1 Demo, Lab 2 Intro | |
6 | 16 Sep 2024 | 20 Sep 2024 | Lab 2 Consultation | |
Recess | 23 Sep 2024 | 27 Sep 2024 | No Lab Session | |
7 | 30 Sep 2024 | 4 Oct 2024 | Lab 2 Demo, Lab 3 Intro | |
8 | 7 Oct 2024 | 11 Oct 2024 | Lab 3 Consultation | |
9 | 14 Oct 2024 | 18 Oct 2024 | Lab 3 Demo, Lab 4 Intro | |
10 | 21 Oct 2024 | 25 Oct 2024 | Lab 4 Consultation | |
11 | 28 Oct 2024 | 1 Nov 2024 | No Lab - NUS Well-Being Day | |
12 | 4 Nov 2024 | 8 Nov 2024 | Lab 4 Demo |
How to get help
If you have any questions regarding the content of any of the labs, please follow these steps, in this order, to answer them.
-
Please read the lab manual closely. We will try our best to keep the manual updated with any common errors, or issues, that you may face.
-
If the lab manual does not answer your question, the lab repository has a discussions page. Please search here for your question, in case it has already been answered before. We will leave questions and answers from previous semesters on this page, so over time, more and more information should be covered between here and the manuals.
-
If you cannot find an answer to your question in the discussions either, then please create a new discussion. Make sure your title is as succinct, but descriptive, as possible, for the benefit of others who may search the issues page later. Also, do make sure you include all relevant details in the discussion content. This webpage offers some helpful advice on how to ask good technical questions.
-
Please DO NOT send emails to the teaching staff asking technical questions regarding the lab activities. We will ignore all such emails, with no exception. Post all technical questions to the discussions page. This benefits others, because anyone who has the issue in the future can solve it quickly with a search. It also benefits you, because you may receive an answer faster from a classmate, than from us.
On that subject, please do join in and help each other out in the discussions as far as possible.
Board Handling Guidelines
Like most development boards and PCBs, your FPGA board is fragile. Treat it with care and respect, as if it were your own. It is reasonably expensive at over S$500, and not so easy to get replaced.
Here are some tips to take good care of your board:
- Do not touch the PCB tracks, or the components on the board. Static discharge can damage or destroy electronic components, and these boards can be particularly susceptible.
- Use the nice plastic box with foam lining to transport your FPGA board. Do not use a plastic bag or other plastic container to carry your boards, and most certainly don't put it bare in your backpack/tote/briefcase/whatever you bring to class.
- When using the board, keep it on a stable, flat surface. Do NOT have it hanging off the USB cable, or hanging off the edge of a table, or on your lap, or anywhere that isn't a suitable, solid surface.
- Absolutely DO NOT DROP your board. When moving it around, hold the board by the edges and make sure the USB cable is unplugged so as to minimize strain on the port and to avoid it getting caught on something.
- Avoid plugging and unplugging the micro-USB cable more than necessary. To reset the board, you can use the power switch on the top left of the board, or unplug the USB-A connector from your computer if really necessary. Micro USB is a notoriously fragile connector, and it's best to avoid putting more strain on it than necessary. USB-A is much sturdier so that end of the cable is not as much of a concern.
- Apply common sense and standard practices for taking care of electronics: don't eat or drink near your board in case you get crumbs (or worse, a spill) on the board. Don't throw the board around. Plug and unplug accessories with care. Be gentle when using the switches and buttons.
License
NUS CG3207 Labs © 2024 by NUS CG3207 Team is licensed under CC BY-NC-SA 4.0