EE-390(a) / 3 credits

Teacher(s): Atienza Alonso David, Peon Quiros Miguel

Language: English

Withdrawal: It is not allowed to withdraw from this subject after the registration deadline.


Summary

During the course, we cover the design of multi-core embedded systems running Linux on an FPGA. Students learn how to develop hardware-software co-design solutions for complex tasks using high-level synthesis languages. We cover debugging co-designed embedded systems with integrated logic analyzers.

Content

Keywords

Embedded system, co-design SW-HW, FPGA, AXI4, Linux, device drivers, High-Level Synthesis (HLS).

Learning Prerequisites

Required courses

- Systèmes embarqués microprogrammés (EE-310)
- Systèmes numériques (EE-334)

Important concepts to start the course

Architecture of embedded devices.
Design of digital systems in VHDL.
Programming in C.
Basic operating system (Linux) concepts.

Learning Outcomes

By the end of the course, the student must be able to:

  • Compose un système embarqué complexe
  • Develop des composants matériels personnalisés et les intégrer
  • Synthesize une spécification et une architecture à partir d'une idée abstraite
  • Explain les fondations et les principes gouvernant le matériel d'un système digital embarqué

Teaching methods

Work on small projects that build up the final SW-HW platform. During the course, we introduce the required concepts to build step-by-step a platform composed of SW and HW components. Among other projects, we use HLS to build HW accelerators for convolutions that are later integrated into complete CNNs running on Linux, and a basic video gaming platform with sprite acceleration capabilities.

Expected student activities

Participation in class sessions and delivery of weekly practical assignments.

Assessment methods

During the semester, continuous evaluation of weekly assignments will represent a 70% of the final grade. During class hours, the students will be asked (individually) to explain their exercises, either to the teachers or to the whole class. Over the last weeks of the course, one or more guided projects will be completed in groups; the evaluation of these group projects will account for 30% of the final grade. The code of all the assignments will be delivered via a git repository.

Resources

Moodle Link

In the programs

  • Semester: Spring
  • Exam form: During the semester (summer session)
  • Subject examined: Lab on hardware-software digital systems codesign
  • Practical work: 3 Hour(s) per week x 14 weeks
  • Semester: Spring
  • Exam form: During the semester (summer session)
  • Subject examined: Lab on hardware-software digital systems codesign
  • Practical work: 3 Hour(s) per week x 14 weeks

Reference week

 MoTuWeThFr
8-9     
9-10     
10-11     
11-12     
12-13     
13-14     
14-15   MXF014
INM10
 
15-16    
16-17    
17-18     
18-19     
19-20     
20-21     
21-22     

Thursday, 14h - 17h: Exercise, TP MXF014
INM10

Related courses

Results from graphsearch.epfl.ch.