Académique Documents
Professionnel Documents
Culture Documents
Dans ce TP, on exploite à la fois la partie processeur du Zynq (PS pour Processing System)
et le réseau de portes configurable (PL pour Programmable Logic).
On commence par ajouter l'IP du processeur à notre projet en cliquant sur le bouton + (soit
dans la palette d'outils de la section Diagram; soit en cliquant sur le + présent au centre du
diagram).
Dans la liste qui apparaît, sélectionner l'IP ZYNQ7 Processing System qui englobe donc les
coeurs ARM Cortex A9 ainsi que toute la logique d'interconnexion AXI vers le réseau de
portes configurables puis valider par Entrer ou par un double clic sur le nom de l'IP à
intégrer.
Résultat :
Vivado facilite largement l'usage des IP grâce à des assistants qui automatisent les tâches de
configuration des IPs. Cliquer sur le texte Run Block Automation qui apparaît sous la barre
d'outils de la fenêtre Diagram (un clic droit sur l'espace de travail du diagramme permet aussi
d'accéder à cet outil).
L'automate fournit toute la connectivité nécessaire entre la mémoire DDR de la carte Zybo et
les coeurs ARM du Zynq mais aussi entre les coeurs ARM et différents périphériques de la
carte Zybo (interface Ethernet, mémoire Flash ...) par l'intermédiaire du bus FIXED_IO.
Pour que le Processing System puisse accéder aux LEDs, ajouter un IP AXI_GPIO au projet
(bouton + comme précédemment) puis lancer le processus d'automatisation pour connecter
l'IP AXI GPIO au PS.
Configurer la boite de dialogue comme ci-dessus (mode All Automation et
sélectionner leds_4bits dans les options GPIO Select Board Part Interface. Valider par OK.
Effectuer un clic droit dans la zone de travail du diagramme pour Regénerer le Layout et
obtenir un diagramme semblable à ceci :
Pour clore toute cette partie, commencer par générer le bitstream destiné à la configuration du
Zynq en cliquant sur Generate Bitstream dans la catégorie PROGRAM AND DEBUG de la
section Flow Navigator.
La suite propose de programmer le processeur ARM du Zynq en langage C. Pour rendre cette
étape possible, on termine par l'export des fichiers matériels : menu File->Export->Export
Hardware...
Penser à cocher la case à cocher Include bitstream et valider par OK.
La configuration matérielle créée dans Vivado est le premier élément chargé dans le SDK.
Note : la première partie de ce fichier contient un tableau qui renseigne sur les plages
d'adresses attribuées à chacun des composants de la structure matérielle.
Les bibliothèques et pilotes sont parfaitement documentés dans le dossier d'information BSP
Documentation. Un clic sur l'intitulé gpio_vx_y permet d'accéder à l'ensemble de la
documentation générée par doxygen pour l'IP GPIO sur internet.
Pour ce premier projet, on part d'un code source existant proposé par Xilinx pour le test d'un
GPIO.
Effectuer un clic droit avec la souris sur le code source ci-dessous pour l'enregistrer dans le
dossier ProjetSoC1\ProjetSoC1.sdk\testLEDs\src de votre projet.
Note : pour en savoir plus sur l'usage de l'IP GPIO dans un programme en C sous le SDK,
penser à consulter la documentation dont le lien est présent dans le dossier BSP du projet.