Ecole d'ingénieur et centre de recherche en Sciences du numérique
 

Systèmes numériques, intégration matériel - logiciel

[DigitalSystems]
T Enseignement Technique


Résumé

Ce cours propose une vue d'ensemble de la conception logicielle et matérielle pour les objets dits « intelligents ». Il montre comment spécifier, concevoir et vérifier des composants matériels numériques, comment les intégrer dans un système à base de microprocesseurs et comment les utiliser depuis les couches logicielles.

Techniques d'enseignement et d'apprentissage : Travail en équipe, séances de Travaux Pratiques (TPs). Les étudiants se voient confier des cartes de prototypage et les logiciels de conception associés pendant toute la durée du semestre.

 Règles du cours : La participation aux TPs est obligatoire

Bibliographie

Livre : S. Kilts, "Advanced FPGA design: architecture, implementation, and optimization", IEEE Computer Society Press

Livre : Peter J. Ashenden, "Designer's guide to VHDL", Morgan Kaufmann

Livre : P. Simpson, "La conception de systèmes avec FPGA" (français), Dunod

Livre : R. Zurawski, "Embedded systems handbook", CRC Press

Livre en ligne : "The Zynq book" (http://www.zynqbook.com/)             

Préalable Requis

Représentations binaires d'entiers (signe+magnitude et complément de deux). Logique booléenne, opérateurs booléens. Programmation de base en C. Interface de base en ligne de commande GNU/Linux. Git, démarquage..

Description

  • Conception de composants matériels numériques, langages de description de matériel, simulation, vérification formelle, synthèse logique.
  • Field Programmable Gate Arrays (FPGAs), systèmes intégrés embarquant microprocesseurs et FPGAs ainsi que leur utilisation pour concevoir des prototypes de produits logiciels / matériels.
  • Intégration système, interfaces entre composants d'un système numérique, pilotes logiciels de périphériques matériels, applications logicielles utilisant des périphériques matériels.
  • http://soc.eurecom.fr/DS/                                                                                                                              

Résultats d'apprentissage :

L'objectif principal est d'atteindre un niveau de compréhension suffisant pour concevoir seul un prototype de système intégrant un ou plusieurs opérateurs matériels pour le traitement et un microprocesseur, plus ses périphériques, pour le contrôle. La majeure partie du cours est consacrée à la conception d'un système matériel/logiciel sur une carte de prototypage intégrant un microprocesseur et une matrice FPGA comprenant des accélérateurs matériels numériques dédiés, leurs interfaces avec le microprocesseur, des pilotes Linux, des bibliothèques logicielles et des applications logicielles pour gérer les accélérateurs matériels à partir de la pile logicielle.

Nb heures : 42,00, une séance d'introduction (1,5h cours + 1,5h travail en équipe), 6 séances mixtes (1,5h cours + 1,5h TP) et 7 séances de TP sur un projet (1h travail guidé + 2h travail sur le projet)

Evaluation : 50% project (la moitié des labs sont dédiés au projet ), 50% examen écrit. 

Nombre d'heures: 42.00
Nombre d'heures par semaine: 3.00