Objectives
The objective of this course is to learn how to implement an embedded design with software/hardware co-design. Hardware interacts with Software. This project is teamwork, teams consist of 4 to 5 students.
Project management is important. Each member has a specific role in the team. Tasks need to be tracked and progress has to be reported.
Assignment
"Design an embedded system, using hardware/software co-design, which has several inputs, processes those inputs and generates some kind of output."
The whole process of the team needs to be well documented, as well as the design choices and motivated changes. Document how to setup and use the embedded system. Where appropriate, do a comparison between different implementations.
Idealy the deliverable is a package with instructions that can be easily reused.
Practicalities
For the progress tracking use Gitlab Issue Boards. Gitlab Pages with markdown and mkdocs will be used to produce documentation for your project. Doing so you can automate the generation of your documentation by using git with Continous Integration.
Design Strategy
Discuss each others strengths and weaknesses. Decide who will take up which role. Divide the work, make a schematic overview that clarifies which parts need to be investigated and what the interfaces between parts will look like. Who will focus on which part? Who can help you out in case you get stuck?
It is important to make some decisions here:
- Which modules will you need?
- How will they interface with each other?
- What are the requirements of each module (speed/memory/interfaces/...).
- Will the module be implemented in Hardware or in Software?
- How can each module be tested when other modules have not been tested yet? Which testbenches will be required?
- Alternatives if a module fails or is too hard to develop?
- Will you need PCB's to be designed?
- What is the planning? Set some deadlines for yourselves.
Submission
The Team submits the project and gives a presentation to the whole group. After the presentation there will be questions from the audience. All files need to be on gitlab before starting the presentation.
DEADLINE : See Planning
Boards
This year we have different boards that you can use. Depending on the project you choose we will decide what board is best. This is an overview of the boards we have:
Extra material
Sensors
If you need sensors, send an email to one of the instructors. Specify which sensor, what it will be used for, where we can buy it (prefer the same sites as for EE3: Farnell, Mouser, Digikey, Tinytronics) and what the cost is.
PCB
You are allowed to make PCB's, before ordering them ask your instructor to have a look at the PCB Design and please make sure you do not break any boards due to short circuits.