Systèmes sur Puces
Ref: SPG-ELE-008
Description
Le concept de System on Chip existe depuis un certain temps ; l’implication est qu’une seule puce de silicium peut être utilisée pour mettre en oeuvre les fonctionnalités d’un système entier, plutôt que de nécessiter plusieurs puces physiques différentes. Dans le passé, le terme SoC faisait généralement référence à un circuit intégré spécifique à une application (ASIC), qui peut inclure des composants numériques, analogiques et radiofréquence, ainsi que des blocs de signaux mixtes pour la mise en oeuvre de convertisseurs analogique-numérique et numérique-analogique. (ADC et DAC). En nous concentrant un instant sur l’aspect numérique, un SoC peut combiner tous les aspects d’un système numérique : traitement, logique haut débit, interfaçage, mémoire, etc. Toutes ces fonctions pourraient autrement être réalisées à l’aide de dispositifs physiquement séparés et combinées dans un système au niveau des cartes de circuits imprimés (PCB). La solution SoC est moins coûteuse, permet des transferts de données plus rapides et plus sécurisés entre les différents éléments du système, présente une vitesse globale du système plus élevée, une consommation d’énergie inférieure, une taille physique plus petite et une meilleure fiabilité. Les principaux inconvénients des SoC basés sur ASIC sont (i) le temps et le coût de développement, et (ii) le manque de flexibilité. Il existe un besoin évident d’une solution plus flexible, et c’est ce qui motive le système sur puce programmable, une version spécifique de SoC implémentée sur un appareil programmable et reconfigurable. La solution naturelle a longtemps été le FPGA. Les FPGA sont des dispositifs intrinsèquement flexibles qui peuvent être configurés
pour implémenter n’importe quel système arbitraire, y compris des processeurs embarqués si nécessaire. Les FPGA peuvent également être reconfigurés aussi souvent que souhaité, offrant ainsi une plate-forme fondamentalement plus flexible que les ASIC pour la mise en oeuvre des SoC. Il n’y a pratiquement aucun risque à déployer un FPGA dans des applications où des mises à niveau du système sont nécessaires. Ce cours a pour objectifs de donner les bases nécessaires à la compréhension de ce type de plateforme, la capacité de concevoir des systèmes complexe sur ces dernières et de les mettre en oeuvre dans le cadre d’une application spécifique.
Période(s) du cours
Semestre 9
Prérequis
SPR-INF-003: Programmation
SPR-MAT-004: Fondement de l’IA
SPR-ELE-013 Nafkha Amor Electronique numérique
SPR-ELE-014 Nafkha Amor VHDL sur FPGA
SPR-INF-011 Salvador Perea Ruben + Amor Architecture des Processeurs (1)
SPR-INF-043 Nafkha Amor OS embarqué
SPG-ELE-002 Kolar Architecture des processeurs (2)
Syllabus
Ce cours se fait presque entièrement en mode projet. Il secompose de 2 parties :
1- Un tutorial complet de mise en oeuvre d’un SOC sur 16h
2- Un projet d’application sur 32h
Composition du cours
Ce cours est en mode projet en binomes
Ressources
Corps Professoral: Dr. Mroue et Dr. Kolar
Plateforme: Xilinx SoC Zynq
Résultats de l'apprentissage couverts par le cours
à l’issue de ce cours l’étudiant sera capable de :
— Expliquer la structure d’un SoC CPU-FPGA et d’en expliquer les avantages et inconvénients
— Concevoir un système sur un SoC CPU-FPGA en utilisant un outil de conception professionnel
— Analyser les performances d’un système