System on chip
Conception et programmation d'un SOPC
Table des matières
Introduction
Durant ce TP, on étudiera mettra pour la première fois en place un System On a Programmable Chip (SOPC). Pour ce faire, on utilisera une carte DE2 sur laquelle on développera, dans un premier temps, le matériel, puis, dans un deuxième temps, le logiciel.
Ce TP constituera donc une première approche du SOPC et un approfondissement du flot de développement Altera.
Création du système
Durant cette étape, nous avons suivi les directives de la documentation disponible sur ICampus.
Dans un premier temps, nous avons mis en place grâce à QSYS les différents modules nécessaires au bon fonctionnement de notre SOPC. Parmi ces modules, on trouve le module de debug JTAG qui, comme le montre la figure suivante, un module nous permettant de communiquer avec la carte DE2 en mode débogage.
Figure - Rôle du module JTAG
Nous avons aussi ajouté des modules permettant de gérer les E/S du processeur (pour l'instant, des interrupteurs et des LEDs). Le nom générique de ces modules est Peripherals Inputs Output (PIO). Bien que ceux-ci ait été unidirectionnels, nous avons choisis de préciser la différence entre un PIO Bidir et un PIO InOut. Comme on peut le voir sur les figures suivantes, le PIO paramétré en Bidir n'aura qu'un bus qui sera bidirectionnel alors que celui paramétré en InOut en procédera un en entrée et un en sortie. On peut ainsi facilement imaginer que la gestion des E/S sera plus rapide et surement plus simple avec l'option InOut qu'avec l'option Bidir.
Figure - PIO Bidir
Figure - PIO InOut
On ajoute aussi un module sysid qui, comme nous l'indique la documentation, permet en fait de vérifier que le programme a bien été compilé pour notre carte, et nous protège ainsi d'une erreur de compilation.