Implémentation matérielle des traitements numériques

Ref: 3SQ4160

Description

Ce cours présente et forme à la méthodologie d’implémentation d’architecture de traitements numériques sur FPGA et est séparé en deux parties. La première partie consiste en un projet d’implémentation d’un réseau de neurones sur FPGA afin de faire de la reconnaissance de chiffres sur des images provenant d’une caméra. Cela sera l’occasion de perfectionner leur connaissance du langage VHDL abordé lors des cours précédents. La seconde partie est la présentation et la prise en main d’un logiciel industriel pour l’implémentation de système embarqué sur FPGA (Vivado). Cela donnera l’occasion de mettre en œuvre un système embarqué complet et de voir l’interaction entre le matériel et le logiciel.

Période(s) du cours

SM11

Prérequis

Ce cours est la suite logique des cours d’Architecture et conception des systèmes embarqués (SD9) de la dominante SCOC et d’Électronique numérique avancée (SM10) de la mention ELEN.

Syllabus

Lors de la première partie du cours, les étudiants seront amenés à concevoir et dimensionner un réseau de neurones de type CNN pour de la reconnaissance de chiffre sur une image avant de réaliser la description VHDL de l’architecture électronique associée pour faire du test sur carte.
Lors de la seconde partie, les étudiants découvriront et utiliseront le logiciel professionnel Vivado, en utilisant comme support le tutoriel officiel de l’entreprise Xilinx, pour implémenter des premiers exemples de systèmes de traitements numériques complexes.

Composition du cours

L’ensemble du cours se déroulera en mode projet, où la prise d’autonomie des étudiants sera encouragée, le tout sous la supervision des enseignants référents.

Ressources

Les étudiants seront amenés à pratiquer sur des logiciels professionnels (Vivado, Quartus, Modelsim) sur des stations de travail qui seront mises à leur disposition. Des cartes de développement FPGA seront mises à disposition pour tester leurs architectures.

Résultats de l'apprentissage couverts par le cours

A l’issue de ce cours, les étudiants sont capables d’utiliser un logiciel industriel pour réaliser un système de traitement numérique fonctionnel composé d’un processeur couplé à un accélérateur matériel. Ils seront par ailleurs capables d’optimiser cet accélérateur en concevant une architecture efficace, sur la base d’un cahier des charges.