Difference between revisions of "Main Page"
(→Writing Code) |
(→Writing Code) |
||
Line 94: | Line 94: | ||
===Writing Code=== | ===Writing Code=== | ||
We would like to re-use your code later on so keep these things in mind: | We would like to re-use your code later on so keep these things in mind: | ||
− | * '''Every code you write should print out your name as the first thing it does | + | * '''Every code you write should print out your name as the first thing it does, ''otherwise you are not allowed defend the lab!''''' Kernel modules should print your name when they are inserted. |
+ | (This requirement only applies for codes that you edit) | ||
* '''Use comments in your code.''' Even you, as the programmer who wrote the code, will otherwise not understand it after a while. | * '''Use comments in your code.''' Even you, as the programmer who wrote the code, will otherwise not understand it after a while. | ||
* '''Write a proper doc-string for the functions.''' It makes the life of you and others much easier. | * '''Write a proper doc-string for the functions.''' It makes the life of you and others much easier. |
Revision as of 12:13, 5 September 2019
Contents
Introduction
Welcome to the wiki for the SoC Design course! We started this series of labs/projects in 2014 and we are upgrading and fixing problems every year to make it better.
Slides for the introductory presentation are available here
Learning Objectives
After the completion of the labs, you are able to:
Tutorials:
|
|
Project:
|
Requirements for Taking the Labs
For these labs we assume that you have basic knowledge of the following:
- C language <- This is a must!
- Digital Systems Design
- Embedded Systems Programming
Lab Organization
Important dates
|
|
Lab Grading Policy
In order to pass the course, you have to get a positive result in both the project and the exam. You cannot finish the project without passing all tutorial labs! |
|
Rules and Regulations
Please read the following page before you start the course:
Timing and Plans
Please note that the project ends at the end of semester and will not be extended.
General Rules
- Unplugging any cables from the lab computers is NOT ALLOWED! If you use your own computer, please use Wi-Fi.
- It is OK to discuss your code with co-students during the labs.
- Copying co-student's code is not OK! You need to write it yourself.
- You must understand the code you write! We will check everyone.
Writing Code
We would like to re-use your code later on so keep these things in mind:
- Every code you write should print out your name as the first thing it does, otherwise you are not allowed defend the lab! Kernel modules should print your name when they are inserted.
(This requirement only applies for codes that you edit)
- Use comments in your code. Even you, as the programmer who wrote the code, will otherwise not understand it after a while.
- Write a proper doc-string for the functions. It makes the life of you and others much easier.
- Use meaningful variable names. The purpose of a variable with the name "counterMaxValue" is much easier to understand that the same variable with the name "cMNum", for example.
In Case of Problems
Please use the following methods in the following order for solving your issues:
- Check the current lab's additional materials.
- Re-read the lab manual to make sure you did not miss anything.
- Google your problems
- Ask the lab assistants for help.
NOTE: In case you find a problem with the documentation, please tell the assistants. Then we can fix the problem and everyone will be happy :)
Lab Results
You can view you current lab results and statistics here |
---|
Contact Us
In case of any questions, please contact us:
• Karl Janson | |
• Madis Kerner |
Labs
Lab Tutorials
Here you can find lab manuals for the tutorials:
- Lab 1: Kernel Driver TBU
- Lab 2: Building custom SoC on ZedBoard TBU
- Lab 3: Custom IP creation TBU
- Lab 4: Setup 1 board system for the lab TBU
Additional Material
Additional reading materials and more information about the labs can be found here:
Lab Specific Information
- Lab1 Additional Material
- Lab2 additional material TBU
- Lab3 additional material TBU
- Lab4 additional material TBU
General Information
Audio Mixer Project
Design project is defined in each round for System on Chip design(IAY0550) students with the aim of providing them with real world experience of working on a SoC project, teamwork and project management. This wiki will serve as a platform for students to pass-on their designs and documents to students in the next round of course. Full description of the project can be found on the Project Description page
- Project Description page.
Using Own Computer for the Labs
You can find some information about using your own computer on the Using Own Computer page.
Please note that using any other computer than the ones in lab is not officially supported. The information on this page is not checked by the lab supervisors and might not be up-to-date and might not work! We recommend not to rely your course progress on getting the systems running on your personal machine and use the lab computers!
However, if you decide to follow the instructions on the page, please let us know about the problems you encounter, so we can update the manual for the benefit of other students.
Git
The project code should be stored in git. Every component of the project should be uploaded as a separate branch.
There exists a dedicated Github repository for the course, that can be accessed here: [1]
Archive
Tutorials:
Design project: