Skip to content

CEG5203 Assignment Manuals

Welcome to the exciting world of hardware acceleration. We have prepared a series of labs for this course to give you hands-on experience in Hardware/Software Co-design. Each lab consists of two parts: 1) the first part consists of a tutorial with step-by-step guidance and 2) the second part is an assignment to allow students to use practical knowledge gained from the first part to solve a fairly simple design and implementation problem.

Board

Board Collection Venue

Digital Electronics Lab (E4 level 3). Only 9 am to 12 noon, and 2 pm to 5 pm on working days.

Kria Board

You will be provided a Kria KV260 SOM Vision Starter Kit containing an AMD/Xilinx Zynq Ultrascale+ SoC. More information about the board can be found at https://www.amd.com/en/products/system-on-modules/kria/k26/kv260-vision-starter-kit.html (scroll down).

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.

Policies

Late demo/submission policy

You are supposed to submit your assignment to Canvas by the deadline for uploading - if you submit after the deadline, you will be given a high penalty. You are expected to submit the exact same code to assignments and demonstrate to the teaching assistant - any bug fixes/improvements after the deadline could you useful for future labs and project, but will not result in an increase in marks after the submission.

A late demo is allowed (with no penalty) only if you can produce documented evidence to explain the late demo/submission - in such a case, please let us know as soon as you can.

Email policy

Kindly DO NOT send emails regarding labs wherever possible. See below on how to get help. Only if the matter is personal/administrative, please contact the lecturer via Canvas Inbox (not emails).

How to get help

If you have any questions regarding the content of any of the assignments, please follow these steps, in this order, to answer them.

  1. Please read the assignment manual closely. We will try our best to keep the manual updated with any common errors or issues that you may face.

  2. If the assignment manual does not answer your question, the GitHub 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.

  3. 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.

  4. 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.

Plagiarism Warning

It might be tempting to 'refer' to the code found in the textbook / online sources. However, please note that we take dishonesty very very seriously. If we are confident that you did plagiarize, you might not even be given a chance to explain. Consequences can range from an unpleasant surprise on the day of the release of results to having an interview with the NUS board of discipline.

If you think renaming variables / rearranging code helps circumvent plagiarism detection, you might want to read this - http://en.wikipedia.org/wiki/Plagiarism_detection#In_source_code.

Discussions are encouraged, but 'we had discussed' is not a valid excuse if your codes turn out to be uncomfortably similar.

Though there will be intra-team differentiation in marks according to the contribution levels, a team will be collectively responsible for plagiarised code. Your teammates might be better off with no contribution at all from you than to receive plagiarised code.

Updates



License

NUS CEG5203 Assignment Manuals © 2025 by NUS CEG5203 Team is licensed under CC BY-NC-SA 4.0