Un contrôleur vidéo¶
Introduction¶
L'objectif de ce microprojet est de bâtir une architecture de contrôleur graphique, pour affichage de vidéo sur la maquette FPGA DE10-Nano. Le travail consistera, partant d'une "page blanche" à construire pas à pas un environnement complet de simulation et de synthèse permettant de vérifier chaque étape du travail:
- Les contraintes liées à l'implantation sur du matériel "Réel" seront traitées tout au long du projet.
- Les étudiants disposeront de briques de base (contrôleur de mémoire, générateur vidéo (logiciel),...)
- Les étudiants disposeront des documentations techniques (carte DE10-Nano, paramètres vidéo,...)
- Les échanges entre blocs internes seront basées sur le protocole Avalon
La maquette DE10-Nano est basée sur un circuit CycloneV SoCFPGA. Ce circuit a pour caractéristique de regrouper dans un même boitier une architecture classique de FPGA et un bloc microprocesseur nommé HPS (pour Hard Processor System) composé d'un double processeur ARM Cortex A9.
Après réalisation des différentes étapes, le système final aura les caractéristiques suivantes :
- Le contrôleur graphique accèdera à une mémoire d'images via une interface Avalon (nommée avalon_if_sdram dans le projet) .
- Le contrôleur graphique prendra en charge l'affichage sur un écran LCD via une interface vidéo (nommée video_ifm dans le projet).
- Un système Linux (déjà opérationnel sur le HPS) transmettra au FPGA, via une interface Avalon (nommée avalon_if_stream dans le projet), un flux vidéo destiné à la mémoire d'image.
- Un arbitre permettra de partager l'accès à la mémoire entre le contrôleur graphique et le flux vidéo. Seuls les blocs indiqués en vert seront développés par les étudiants.
Travail à distance¶
Il est possible de travailler à distance, tout en testant les résultats obtenus sur votre PC personnel, allez voir dans le chapitre Quartus Programmer dans les Ressources du cours.