Programme d’études 2021-2022English
Edge Computing
Unité d’enseignement du programme de Master : ingénieur civil mécanicien à la Faculté Polytechnique

CodeTypeResponsable Coordonnées
du service
Enseignant(s)
UI-M2-IRMECA-565-MUE optionnelleVALDERRAMA SAKUYAMA Carlos AlbertoF109 - Electronique et Microélectronique
  • VALDERRAMA SAKUYAMA Carlos Alberto

Langue
d’enseignement
Langue
d’évaluation
HT(*) HTPE(*) HTPS(*) HR(*) HD(*) CréditsPondération Période
d’enseignement
  • Anglais
Anglais60000055.002e quadrimestre

Code(s) d’AAActivité(s) d’apprentissage (AA) HT(*) HTPE(*) HTPS(*) HR(*) HD(*) Période
d’enseignement
Pondération
I-SEMI-114Edge Computing600000Q2100.00%

Unité d'enseignement

Objectifs par rapport aux acquis d'apprentissage du programme

  • Imaginer, concevoir, réaliser et exploiter des solutions (machines, équipements, procédés, systèmes ou unités) pour apporter une solution à un problème complexe en intégrant les besoins, les contraintes, le contexte et les enjeux techniques, économiques, sociétaux, éthiques et environnementaux.
    • Concevoir et dimensionner de manière optimale des machines, équipements, procédés, systèmes ou unités répondant au problème posé, en s'appuyant sur l'état de la technique, une étude ou une modélisation ; les évaluer compte tenu des différents paramètres du cahier des charges.
    • Concrétiser la solution sous la forme d'un dessin, d'un schéma, d'un diagramme ou d'un plan conformes aux normes, d'une maquette, d'un prototype, d'un logiciel et/ou d'un modèle numérique.
    • Evaluer la démarche et les résultats en vue de l'adaptation ou de l'optimisation de la solution proposée.
  • Mobiliser un ensemble structuré de connaissances et compétences scientifiques et techniques spécialisées permettant de répondre, avec expertise et adaptabilité, aux missions de l'ingénieur civil en mécanique.
    • Etudier une machine, un équipement, un système, un procédé ou une unité en sélectionnant de manière critique des théories, des modèles et des approches méthodologiques et en tenant compte des aspects pluridisciplinaires.
  • Planifier, gérer et mener à bien des projets compte tenu de leurs objectifs, ressources et contraintes et en assurant la qualité des activités et des livrables.
    • Respecter les échéances et le plan de travail, se conformer au cahier des charges.
  • Travailler efficacement en équipe, développer son leadership, prendre des décisions dans des contextes multidisciplinaires, multiculturels, et internationaux.
    • Interagir efficacement avec d'autres acteurs pour réaliser un travail commun dans des contextes variés (multidisciplinaires, multiculturels, et internationaux).
  • Communiquer et échanger des informations de manière structurée - oralement, graphiquement et par écrit, en français et dans une ou plusieurs autres langues - sur les plans scientifique, culturel, technique et interpersonnel en s'adaptant au but poursuivi et au public concerné.
    • Argumenter et convaincre, tant à l'oral qu'à l'écrit, vis-à-vis d'un client, d'un collègue, des enseignants et des jurys.
    • Sélectionner et utiliser les modes et supports de communication écrite, graphique ou orale adaptés au but poursuivi et au public concerné.
    • Utiliser et produire des documents scientifiques et techniques (rapport, plan, cahier des charges,...) adaptés au but poursuivi et au public concerné.
  • Agir en professionnel responsable, faisant preuve d'ouverture et d'esprit critique, inscrit dans une démarche de développement professionnel autonome.
    • Exploiter de manière critique les différents moyens mis à disposition pour se documenter et se former de manière autonome.
  • Contribuer par un travail de recherche à la solution innovante d'une problématique en sciences de l'ingénieur.
    • Récolter et analyser des données avec rigueur.
    • Communiquer, à l'écrit et à l'oral, sur la démarche et ses résultats en mettant en évidence tant les critères de scientificité de la recherche menée, que les potentialités d'innovation théoriques ou techniques et les possibles enjeux non techniques.

Acquis d'apprentissage UE

FR. Cette unité d'enseignement sera dispensée en langue anglaise et décomposé en deux parties. En premier lieu, " Embedded Software using Python/SoC ", les architectures embarquées, outils de développement et le développement des applications utilisant des langages d'haut niveau Python et C++ seront développées, accompagnés des cas d'application dans les domaines de la Domotique, l'IoT (Internet-of-Things) et Machine Learning.  La deuxième partie, " Edge Computing High Level Synthesis", présente les outils de développement de dispositifs System-on-Chip, composées de parties programmables et reconfigurables, les étapes de développement, l'exploration d'architecture et optimisations. Maîtriser la conception de systèmes, concepts, méthodologies et outils de développement ; depuis sa spécification au niveau du système, en passant par la modélisation du problème, l'exploration, l'analyse et l'optimisation de solutions réalisables, jusqu'à l'obtention d'un système répondant aux besoins économiques et techniques. Mieux comprendre les avantages et les inconvénients des solutions existantes et des alternatives de mise en oeuvre, en fonction d'un ensemble de critères d'évaluation (architecture, coûts de développement, taille, performances, consommation d'énergie, etc.). En pratique, l'élève doit s'occuper de la mise en oeuvre d'une solution, partielle ou complète (y compris logiciel, système d'exploitation ou développement de composants IP - Propriété intellectuelle - sur étagère - COTS), le tout à l'aide de technologies programmables et reconfigurables et outils de développement couramment disponibles dans l'industrie.
 

Contenu de l'UE

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.

 

Compétences préalables

Embedded Systems, Microprocessors

Types d'évaluations Q2 pour l'UE

  • Présentation et/ou travaux
  • Epreuves pratiques
  • eTest

Commentaire sur les évaluations Q2 de l'UE

Edge Computing (28759) UI-M2-IRMECA-565-M: Total 2ème session (2ème quadrimestre - juin): 100%. Travaux pratiques de laboratoire TP 10%; Epreuve pratique des résultats de laboratoire hors-session d'examen 10% ; Livrables finaux pour Projets/Travaux personnels (rapport, prototype, maquette, plan,...) 45%. Présentation finale de Projets/Travaux personnels 35%.  Commentaires complémentaires introduits par l'enseignant: Test pratique des résultats du laboratoire en dehors de la session d'examens: au moins 1 semaine après la dernière session de travaux pratiques, séparation des évaluations selon le regroupement ou duplication des travaux pratiques selon les finalités; Remise des résultats des travaux pratiques et remise finale du livrable pour le projet / travail personnel (rapport, prototype, maquette, plan, etc.): une semaine avant la date du premier examen. Présentation finale du Projet / Travail personnel en session / période d'examen : séparation des évaluations selon le regroupement ou duplication des travaux pratiques selon les finalités, présentations en groupes de 2-3 étudiants, maximum 30 'de présentations par groupe, maximum 6 présentations par groupe de 4 heures.

Types d'évaluation Q3 pour l'UE

  • Présentation et/ou travaux
  • eTest

Commentaire sur les évaluations Q3 de l'UE

Edge Computing (28759) UI-M2-IRMECA-565-M: Total 2eme session 100% : livrables finaux pour Projets/Travaux personnels (rapport, prototype, maquette, plan...) 60%. Présentation finale de Projets/Travaux personnels 40%. Commentaires complémentaires introduits par l'enseignant : remise des résultats des Travaux pratiques et 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 : séparation des évaluations selon le regroupement ou la duplication des TPS selon les finalités, présentations par groupes de 2-3 étudiants, maximum 30' de présentations par groupe, maximum 6 présentations par épreuve de 4 heures.    

Types d'activités

AATypes d'activités
I-SEMI-114
  • Cours magistraux
  • Conférences

Mode d'enseignement

AAMode d'enseignement
I-SEMI-114
  • Mixte

Supports principaux

AA
I-SEMI-114

Supports principaux non reproductibles

AASupports principaux non reproductibles
I-SEMI-114FR. Tutorials available on GitHub and Xilinx Vivado Pynq and Vitis

Supports complémentaires

AA
I-SEMI-114

Supports complémentaires non reproductibles

AASupport complémentaires non reproductibles
I-SEMI-114Sans objet

Autres références conseillées

AAAutres références conseillées
I-SEMI-114Sans objet

Reports des notes d'AA d'une année à l'autre

AAReports des notes d'AA d'une année à l'autre
I-SEMI-114Non autorisé
(*) 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 dernière mise à jour de la fiche ECTS par l'enseignant : 23/05/2021
Date de dernière génération automatique de la page : 06/05/2022
20, place du Parc, B7000 Mons - Belgique
Tél: +32 (0)65 373111
Courriel: info.mons@umons.ac.be