Le module d'affichage:
Ce module SystemC est le complément du module VideoGen
, il permet d'afficher à des images à partir d'un flux vidéo en utilisant la bibliothèque graphique SDL
.
Le module SystemC (C++ class
) correspondant est Display
.
Le code correspondant à ce module se trouve dans le dossier:
IPs/display
Vous y trouverez:
- Le fichier d'en-tête définissant le module
- Le code SystemC
- Le fichier de méta-données SocLib
- Un exemple de configuration de l'environnement de compilation
Ce module utilise la bibliothèque graphique SDL pour l'affichage. Il faudra donc changer la configuration de l'outil de compilation pour la prendre en compte.
Constructeur du module:
sc_module_name insname, // nom du module SystemC
const int w = 640, // largeur de la zone valide de l'image
const int h = 480, // hauteur de la zone valide de l'image
const int lsync = 160, // largeur de la synchro. horizontale
const int fsync = 40 // hauteur de la synchro. verticale
);
Remarques:
- Les paramètres du constructeur ont des valeurs par défaut correspondant au format vidéo utilisé.
L'interface SystemC du module:
sc_in<bool> reset_n;
sc_in<bool> line_valid;
sc_in<bool> frame_valid;
sc_in<unsigned char> pixel_in;
En plus des signaux correspondant aux flux vidéo (tous en entrée) ce module nécessite les deux signaux suivants:
- une horloge
clk
correspondant à l'horloge pixel. - un signale de remise à zéro
reset_n
actif sur niveau bas.
Configuration des variables de compilation:
Comme ce module utilise la bibliothèque SDL
il faut ajouter le chemin vers les fichiers d'en-tête pour la compilation et la bibliothèque pour l'édition de liens.
La commande sdl-config
peut vous aider à trouver les paramètres adéquats.
sdl-config --cflags
# Pour obtenir les paramètres d'édition de liens
sdl-config --libs
Inspirez vous du fichier soclib.conf.example
pour adapter la configuration des outils SocLib.