Difference between revisions of "Main Page"

From SoC Design Wiki
Jump to: navigation, search
(Documentation)
Line 108: Line 108:
 
* 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.
 
* 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.
  
==Documentation==
+
===Documentation===
 
* All documentation goes to wiki, messy and unorganized documentations are not acceptable.
 
* All documentation goes to wiki, messy and unorganized documentations are not acceptable.
 
* <span style="color:red"> '''If you have a problem with some of the labs, check the [[Labs known Issues]] page before asking for help.''' </span> Sometimes the issue is already solved.
 
* <span style="color:red"> '''If you have a problem with some of the labs, check the [[Labs known Issues]] page before asking for help.''' </span> Sometimes the issue is already solved.

Revision as of 13:42, 27 January 2017

Logo SoC.png

Introduction

Welcome to SoC design wiki. We started this series of labs/projects from 2014 and we are upgrading and fixing problems every year to make it better.

Learning Objectives

By completion of this SoC Design labs, you should be able to:

Tutorials:

  1. Kernel Driver: How to write a simple kernel driver and use it to control a simple IP on ZedBoard.
  2. Building custom SoC on ZedBoard:
    • Creation of simple SoC with Vivado from existing IPs
    • Building a custom embedded Linux system to be run on the SoC
    • Using custom kernel drivers to control the IPs in the SoC
  3. Custom IP creation:
    • Development of simple custom IP
    • Integrating IP into the SoC using AXI bus
    • Controlling the IP from Linux using custom driver
  4. Setup 1 board system for the lab
    • Complex system integration
    • Preparation for project

                                  

Project:

  • Component reuse and system improvement
  • Functional test and analysis
  • Work in a team

Workshop:

  • Introduction to a Network on Chip Simulator
  • Routing algorithms in NoC based systems
  • QoS in NoC based systems

Labs Requirements

For this labs we assume that you have passed the following courses:

  • IAY0600: Digital Systems Design
  • IAY0330: Embedded Systems

So that you are familiar with digital systems (you should be familiar with High Level Description Languages like VHDL or Verilog (our main focus is on VHDL but if you know Verilog, its also ok!)) and Embedded Systems.

Labs Regulations

Important dates

  • Week 1: Test Lab
  • Week 2, week 3, week 4: Lab 1
  • Week 5: Lab 2
  • Week 6, week 7, week 8: Lab 3
  • Week 9, week 10: Lab 4
  • End of week 15: Project Deadline

                                  

Lab grading policy

  • Basic Tutorials (Pass/Fail - prerequisite for project) (30%) (this is prerequisite for project)
  • Project (20%) (prerequisite for Exam)
  • Workshop (10%) (prerequisite for Exam)
  • Final Course Examination (40%)

                                  

Grading.png

Current Lab Results

Statistics-512.png
You can view you current lab results and statistics here

Contact Us

In case of any questions, please contact us:

Redphone.png
Karl Janson
Siavoosh Payandeh Azad

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.

Writing code

We would like to re-use your codes later on so keep these things in mind:

  • Use comments in your code. Even you, as the programmer, who wrote the code, will otherwise not understand your code after a while.
  • Write a a proper doc-string for the functions. It makes the life of you and others a lot 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.

Documentation

  • All documentation goes to wiki, messy and unorganized documentations are not acceptable.
  • If you have a problem with some of the labs, check the Labs known Issues page before asking for help. Sometimes the issue is already solved.
  • If it is not solved yet and you find a workaround for it, please document it in Labs known Issues. This way others can don't have to invent the wheel again.


Lab Tutorials

The following is the test lab for the first week of the semester. :) Enjoy!

Here you can find lab manuals for the tutorials:

Labs additional readings

Additional reading and more information about the labs can be found here:

General documents

Lab specific documents

Labs known issues

Please add related issues to each lab under the Labs known Issues page.

Tutorial Labs Archive

Audio Mixer Project

Project Description

Mixer.jpg
Zedboard icon.png

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

Git

Github.png

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]

Team Organization

The following page is for clear and transparent team organization for design project:

Design project