Plateforme matérielle Vivado
Construire une plateforme Zynq dans IP Integrator, connecter les IP, attribuer les adresses et exporter le matériel vers Vitis.
Le rôle de Vivado
L'ingénieur utilise Vivado pour construire la partie matérielle d'un système Zynq. Le projet décrit le composant, le Processing System, la logique programmable, les horloges, les resets, les adresses et les broches de la carte.
IP Integrator fournit une vue graphique appelée Block Design. Une IP est un bloc matériel réutilisable, par exemple un GPIO, un timer ou un contrôleur mémoire. Dans cette vue, l'ingénieur ajoute les blocs et relie leurs interfaces. Le Block Design ne remplace pas le VHDL ou le Verilog contenu dans les blocs personnalisés.
Ce chapitre présente un flot complet. Vous créez le projet, exécutez des commandes Tcl, ajoutez des IP, modifiez leurs paramètres, insérez un bloc HDL, construisez une hiérarchie, marquez des nets pour le debug, configurez le PS, attribuez les adresses et générez le wrapper final.

Créer le projet
La carte ou le composant doit être choisi avec précision. Ce choix détermine les ressources disponibles, les banques d'entrées et sorties et le Processing System proposé par Vivado.
Un projet destiné à une ZCU104 utilise un Zynq UltraScale+ MPSoC. Un projet destiné à une ZedBoard ou une ZC702 utilise un Zynq-7000. Les noms des ports et des paramètres diffèrent entre ces familles.
La sélection d'un fichier de carte apporte des présélections utiles. Elle ne dispense pas de contrôler le brochage, les horloges et les interfaces réellement câblées sur la carte.
Ajouter et configurer le Processing System
Ajoutez le bloc du PS au Block Design depuis le catalogue d'IP. Vivado propose ensuite une automatisation de bloc. Lorsque vous la lancez, l'outil applique une configuration liée à la carte et crée les connexions de base.
Les paramètres du PS couvrent notamment les points suivants.
- La mémoire DDR.
- Les périphériques UART, SPI, I2C, Ethernet et SD.
- L'affectation MIO ou EMIO.
- Les horloges envoyées vers la PL.
- Les ports AXI entre le PS et la PL.
- Les interruptions provenant de la PL.
Une présélection doit être relue. Une interface activée sans broches valides ou sans horloge correcte ne fonctionnera pas sur la carte.
Ajouter une IP AXI GPIO
Pour rendre les étapes concrètes, nous construisons dans ce cours un mini-système composé de deux IP AXI GPIO. La première pilote les LED de la carte. La seconde lit les boutons. Une IP AXI GPIO possède une interface AXI-Lite pour ses registres et un ou deux canaux GPIO pour les signaux externes.
Le processeur est maître de la transaction AXI-Lite. Il lit et écrit les registres du GPIO. L'IP AXI GPIO est esclave. Dans la PL, ses sorties sont reliées aux LED et ses entrées aux boutons.