Programme d’études 2020-2021English
Edge Computing
Activité d'apprentissage
CodeTitulaire(s)Co-Titulaire(s)Suppléant(s) et autre(s)Établissement(s)
I-SEMI-114
  • VALDERRAMA SAKUYAMA Carlos Alberto
      • UMONS
      Langue
      d’enseignement
      Langue
      d’évaluation
      HT(*) HTPE(*) HTPS(*) HR(*) HD(*) Période
      d’enseignement
      AnglaisAnglais600000Q2

      Modalités d'organisation des évaluations de fin de Q3 2020-2021 (Covid-19) à distance ou en présentiel (selon les informations reprises à l'horaire)
      • Epreuve orale (Questions - réponses, présentation d'un travail individuel ou collectif, commentaire et argumentation à propos d'un travail écrit,...)
      • Réalisation d'une production (travail individuel ou de groupe, essai, rapport, mémoire, ...)
      Description des modalités d'évaluation de fin de Q3 2020-2021 (Covid-19) à distance ou en présentiel (selon les informations reprises à l'horaire)
      Remise finale de livrable pour Projet/Travail personnel (rapport, prototype, maquette, plan): une semaine avant la date du premier examen.
      Présentation finale de Projet/Travail personnel en session/période d'examen:  maximum 30' de présentations par groupe, maximum 6 présentations par épreuve de 4 heures.   Covid-19: Via Teams.

      Modalités d'organisation des évaluations de fin de Q2 2020-2021 (Covid-19) à distance ou en présentiel (selon les informations reprises à l'horaire)

      • Epreuve orale (Questions - réponses, présentation d'un travail individuel ou collectif, commentaire et argumentation à propos d'un travail écrit,...)
      • Réalisation d'une production (travail individuel ou de groupe, essai, rapport, mémoire, ...)

      Description des modalités d'évaluation de fin de Q2 2020-2021 (Covid-19) à distance ou en présentiel (selon les informations reprises à l'horaire)

      Remise finale de livrable pour Projet/Travail personnel (rapport, prototype, maquette, plan): une semaine avant la date du premier examen.
      Présentation finale de Projet/Travail personnel en session/période d'examen:  maximum 30' de présentations par groupe, maximum 6 présentations par épreuve de 4 heures.   Covid-19: Via Teams.

      Contenu de l'AA

      Embedded Software using Python/SoC 
      FR. L'émergence de l'environnement de développement Python Productivity for Zynq (PYNQ) basé sur des notebooks Jupyter permet de résoudre les problèmes de programmabilité FPGA. Grâce à une carte de développement spécialement conçue pour prendre en charge PYNQ, les développeurs avec peu d'expérience FPGA peuvent implémenter rapidement des conceptions capables de tirer pleinement parti des performances des FPGA pour accélérer les applications impliquant des tâches de calcul intensives, pour des applications tels que la Domotique, IoT et Machine Learning. La programmation basique des FPGA se fait avec 2 langages possibles : le langage Verilog, et le VHDL. Le VHDL nécessite en outre une connaissance de l'électronique combinatoire et séquentielle, au contraire de Python, un langage open source, reconnu pour sa simplicité et très courant chez les programmeurs.
      Architectures. Les architectures hétérogènes
      Components. Les composants de base des sous-systèmes programmables
      Methodology. Les étapes de développement de software embarquée (Python et Linux)
      Overlays. Le développement des interfaces, périphériques et drivers associées
      IOPs. Les interfaces configurables et programmables
      Tools. Les outils et environnements de développement (Pynq, Jupyter, SDSoC)
      Cas d'application : des exemples de développement : interfaces audio, interfaces périphériques (I2C, UART, Analog, PWM, etc.), Domotique, IoT, Machine Learning (YOLO, BNN Binary Neural Networks)
      Edge Computing High Level Synthesis
      FR. Cette section présente une vue unifiée des domaines matériel et logiciel en tant que solutions de remplacement d'implémentations basées sur l'exploration de la conception et les métriques. L'objectif du cours est d'apprendre à développer un système complet programmable et configurable, appelé de System-on-Chip (SoC). Ces systèmes utilisent des langages de haut niveau, tels que Python et C / C ++. Cependant, certaines fonctionnalités, telles que le calcul intensif, accès au périphériques, traitement de signaux, ou contrôle en temps réel, on besoin d'accélérateurs matériels. Ces accélérateurs et leurs interfaces programmables associées sont le résultat de étapes de développement donnant accès à une électronique reconfigurable, ou FPGAs. Des accélérateurs et leurs interfaces programmables associées sont le résultat de étapes de développement donnant accès a une électronique reconfigurable, ou FPGAs. On ne passe pas par la logique combinatoire et séquentielle pour programmer un FPGA ; on dispose des outils de haut niveau, tels que SDSoC et HLS (High Level Synthesis). On procède à la programmation d'un niveau supérieur, pour réaliser une architecture matérielle dans un circuit FPGA. Le circuit FPGA peut être une carte Zybo, Pynq ou une Zed Board, où on développe des applications avancées comme du traitement d'image. Le système sera considéré comme un system-on-chip ou SoC, dans lequel, l'exécution des applications en Python peuvent être accélérées par des accélérateurs matériels reconfigurables. Le cours explore les différentes tendances, composantes et alternatives en fonction de l'objectif final. La conception au niveau du système est introduite dans un premier temps par une description des différents composants impliqués, depuis la conception et l'utilisation des circuits intégrés jusqu'aux logiciels, processeurs et processeurs matériels personnalisés. Il couvre également les méthodologies de conception, les techniques d'optimisation et les environnements de test. Le cours est complété par des exercices pratiques et des séances de laboratoire utilisant les technologies de pointe, les tendances en matière de technologies et les défis de conception.
      Exploration de l'architecture SoC. Analyse de conception et alternatives de mise en oeuvre.
      Améliorer les performances. Stratégies d'optimisation. Améliorer les ressources.
      Synthèse d'interface. Encapsulation matériel / logiciel et protocoles IO.
      Etapes de vérification et de validation. Prototypage, planification, simulation et émulation.
      Création de la propriété intellectuelle. Création et utilisation de composants.
      Considérations de codage.
       

      Supports principaux non reproductibles

      FR. Tutorials available on GitHub and Xilinx Vivado Pynq and Vitis

      Support complémentaires non reproductibles

      Sans objet

      Autres références conseillées

      Sans objet

      Mode d'enseignement

      • Mixte

      Types d'activités

      • Cours magistraux
      • Conférences

      Evaluations

      Les modalités d'évaluation de l'AA sont précisées dans la fiche de l'UE dont elle dépend

      (*) HT : Heures théoriques - HTPE : Heures de travaux pratiques encadrés - HTPS : Heures de travaux pratiques supervisés - HD : Heures diverses - HR : Heures de remédiation - Dans la colonne Pér. (Période), A=Année, Q1=1er quadrimestre et Q2=2e quadrimestre
      Date de génération : 09/07/2021
      20, place du Parc, B7000 Mons - Belgique
      Tél: +32 (0)65 373111
      Courriel: info.mons@umons.ac.be