Lab in digital systems design
EE-390(a) / 3 credits
Teacher(s): Atienza Alonso David, Peon Quiros Miguel
Language: French/English
Retrait: Il n'est pas autorisé de se retirer de cette matière après le délai d'inscription.
Résumé
Dans ce cours, nous abordons la conception de systèmes embarqués exécutant Linux sur un FPGA. Nous apprenons à faire une conception mixte matériel-logiciel des tâches complexes. Nous apprenons également à déboguer une co-conception des systèmes embarqués à l'aide des analyseurs logiques intégrés.
Contenu
Architecture of embedded systems. SW-HW co-design
Architecture and SW-HW co-design of embedded systems. Memory hierarchies for multi-core systems. Coherence between custom HW modules and processor memory hierarchy.
Integration of custom HW in the Linux operating system. Physical address space and virtual memory; address translation. Device drivers.
Tools and design flows
Division of tasks between SW and HW. Design of peripherals for the ARM AXI4 bus. Integration of HW components in a multi-core system. Simulation and debugging at the system level the complete co-design process.
High-level synthesis as a productivity booster for the design of HW components that implement complex functionality.
Mots-clés
Embedded system, co-design SW-HW, FPGA, RTL, VHDL, AXI4, Linux, device drivers, High-Level Synthesis (HLS).
Compétences requises
Cours prérequis obligatoires
- Systèmes embarqués microprogrammés (EE-310)
- Systèmes numériques (EE-334)
Concepts importants à maîtriser
Architecture of embedded devices.
Design of digital systems in VHDL.
Programming in C.
Basic operating system (Linux) concepts.
Acquis de formation
A la fin de ce cours l'étudiant doit être capable de:
- Composer un système embarqué complexe
- Développer des composants matériels personnalisés et les intégrer
- Synthétiser une spécification et une architecture à partir d'une idée abstraite
- Expliquer les fondations et les principes gouvernant le matériel d'un système digital embarqué
Compétences transversales
- Utiliser une méthodologie de travail appropriée, organiser un/son travail.
- Comparer l'état des réalisations avec le plan et l'adapter en conséquence.
- Fixer des objectifs et concevoir un plan d'action pour les atteindre.
- Evaluer sa propre performance dans le groupe, recevoir du feedback et y répondre de manière appropriée.
- Persévérer dans la difficulté ou après un échec initial pour trouver une meilleure solution.
- Planifier des actions et les mener à bien de façon à faire un usage optimal du temps et des ressources à disposition.
Méthode d'enseignement
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. The final guided exercise is a basic video gaming platform. We co-design and implement a game cheating device in custom HW that changes the number of lives in a game from outside the game application, which allows us to explore coherence across the complete memory hierarchy.
Travail attendu
Participation in the class sessions, delivery of weekly (practical) assignments, and realization of a final project.
Méthode d'évaluation
During the semester, continuous evaluation of the weekly assignments. Delivering all the assignments on a timely manner is compulsory; they represent a 20% of the final grade. At the end of the semester, a final project executed in groups (submission of code) and an oral presentation.
Encadrement
Office hours | Oui |
Assistants | Oui |
Forum électronique | Oui |
In the programs
- Semester: Spring
- Exam form: During the semester (summer session)
- Subject examined: Lab in digital systems design
- Practical work: 3 Hour(s) per week x 14 weeks
- Semester: Spring
- Exam form: During the semester (summer session)
- Subject examined: Lab in digital systems design
- Practical work: 3 Hour(s) per week x 14 weeks
Reference week
Mo | Tu | We | Th | Fr | |
8-9 | |||||
9-10 | |||||
10-11 | |||||
11-12 | |||||
12-13 | |||||
13-14 | |||||
14-15 | |||||
15-16 | |||||
16-17 | |||||
17-18 | |||||
18-19 | |||||
19-20 | |||||
20-21 | |||||
21-22 |
Légendes:
Lecture
Exercise, TP
Project, other