Composante
ENSEIRB-MATMECA
Code interne
EE9EN325
Description
L'objectif de cet enseignement est de faire prendre conscience aux élèves-ingénieurs des différents niveaux d'abstraction séparant les spécifications d'un système de son implémentation matérielle. La cible technologique utilisée sera le circuit ZYNQ. Il s'agit d'un System on Chip (SoC) développée par AMD-Xilinx, qui combine un processeur généraliste (ARM) avec une matrice programmable de type FPGA (Field-Programmable Gate Array) sur une seule puce. Cette architecture permet d’associer les avantages d’un processeur conventionnel (flexibilité logicielle) et d’un FPGA (accélération matérielle et traitement parallèle).
Objectifs
Les 8 séances du module se dérouleront comme suit :
- séance 1: 1h20 cours + 2h40 TDM sur le circuit Zynq de chez Xilinx-AMD
objectif : après le cours, une séquence d'initiation à Vitis IDE couplé à Vivado permettra d'enrichir l'usage du processeur généraliste ARM.
- séance 2 : 4h00 de TDM sur le Zynq de chez Xilinx-AMD
objectif : conception, intégration et exploitation de blocs IPs VHDL intégrés sur la partie PL du SOC.
Contrôle Continu à la fin de la séance 2 sur le thème du Zynq et du flots de conception associé.
- séance 3 : 1h20 cours + 2h40 TDM sur la synthèse d'architecture (HLS)
objectif : après le cours, une séquence d'initiation à Vitis HLS couplé à Vivado et Vitis IDE sur deux exemples pédagogiques à savoir l'opération MAC et la multiplication matricielle.
- séance 4 : 4h00 de TDM sur la synthèse d'architecture
objectif : exploiter la synthèse d’architecture pour la génération d’architectures de filtres à réponse impulsionnel fini (FIR) : utilisation de directives et gestion des formats de données.
Contrôle Continu à la fin de la séance 4 sur le thème de la synthèse d'architecture
- séance 5 : 1h20 cours + 2h40 TDM sur l'Initiation à la programmation d’overlay avec PYNQ
objectif : interagir avec des blocs IPs décrits en VHDL ou issus de la synthèse d'architecture.
- séance 6 : 4h00 de TDM sur l'Initiation à la programmation d’overlay avec PYNQ
objectif : introduction aux flux de données (Axi-Stream) et aux accès DMA. Utilisation de ces concepts pour la génération d’architectures de filtres à réponse impulsionnel fini.
Contrôle Continu à la fin de la séance 6 sur le thème de l'approche PYNQ
- séances 7 et 8 : 8 heures de TDM (journée) sur un projet avancé. Le sujet est de concevoir et d'implémenter une architecture pour une fonction numérique avancée.
- description d'une version de référence de la fonction en python sous Jupyter qui doit être exécutée sous l'environnement PYNQ;
- utilisation de Vitis-HLS pour la définition d'un modèle comportemental synthétisable;
- intégration de l'IP dédié sous VIVADO;
- génération de l'overlay pour l'environnement PYNQ;
- comparaison des implémentations logicielles et matérielles.
Compte-rendu de deux pages sur le projet avancé.
Pré-requis obligatoires
Afin de suivre cette séquence pédagogique il est nécessaire de maitriser le développement de circuits numériques avec le langage VHDL ainsi que les concepts de programmation objets (C++)
Informations complémentaires
Electronique numérique, conception conjointe, modélisation de systèmes.
Modalités de contrôle des connaissances
Évaluation initiale / Session principale - Épreuves
Type d'évaluation | Nature de l'épreuve | Durée (en minutes) | Nombre d'épreuves | Coefficient de l'épreuve | Note éliminatoire de l'épreuve | Remarques |
---|---|---|---|---|---|---|
Contrôle Continu Intégral | Contrôle Continu | 1 |