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 WishBone

La maquette DE10-Nano est basée sur un circuit Cyclone V SoC FPGA. 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 Wishbone (nommée wshb_if_sdram dans le projet) .

  • Le contrôleur  graphique  prendra en charge  l'affichage sur un écran LCD via une interface video (nommée video_ifm dans le projet).

  • Un système Linux (déjà opérationnel sur le HPS) transmettra au FPGA, via une interface Wishbone (nommée wshb_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.