Cet enseignement est organisé autour de la méthodologie de conception de systèmes matériels numériques. Dans une première partie, la conception, l’implémentation et l’optimisation des performances ( fréquence, puissance consommée …) de systèmes numériques complexes sur FPGA /ASIC est enseignée. Des notions de sécurité matérielle de systèmes numérique, typiquement les processeurs, pourrons aussi être présentés.
Ensuite, le cycle de vie de Systèmes on Chip (SoC) ou Systèmes on Programmable Chip (SoPC) (cahier de charges, spécifications, conception, réalisation) est abordé dans le cadre de développement conjoint matériel/logiciel, suivi de la présentation de techniques de co-design et de co-vérification matériel-logiciel. L’approche de conception de systèmes complexes analogiques et numériques à base de chiplets pourras aussi être présentée.
Une 3ème partie abordera les notions de l’IA embarquée en présentant les différents types de réseaux de neurones et leur implémentation matérielle sur FPGA.Une ouverture sera faite sur les nouveaux type de processeurs incluant de partie neuronales : neural engine, neural processor unit (NPU), tensor processeur unit (TPU).
Les travaux pratiques porterons sur la conception en VHDL et l’implémentation:
-d’un microprocesseur de type RISC sur FPGA
-d’un perceptron et d’un réseaux de neurones (MLP) sur FPGA