Plateforme matérielle Vivado
Construire une plateforme Zynq dans IP Integrator, connecter les IP, attribuer les adresses et exporter le matériel vers Vitis.
Chargement…
Construire une plateforme Zynq dans IP Integrator, connecter les IP, attribuer les adresses et exporter le matériel vers Vitis.
Dans Vivado, vous définissez le matériel visible par le logiciel : processeurs, IP, adresses, horloges et resets. L'export transmet ensuite cette description à Vitis.
IP Integrator propose une vue Block Design. Vous y ajoutez les blocs et reliez leurs interfaces. Cette vue conserve le VHDL ou Verilog des blocs personnalisés ; elle organise leurs connexions.
Choisissez la référence exacte du composant ou de la carte. Une ZCU104 utilise un MPSoC, tandis qu'une ZedBoard ou une ZC702 utilise un Zynq-7000. Les ports et paramètres ne sont pas identiques.
Ajoutez le PS et appliquez la présélection de carte si elle existe. Relisez ensuite DDR, périphériques, MIO/EMIO, horloges PL, ports AXI et interruptions. Une présélection utile ne garantit pas le bon câblage de toutes les interfaces.
Le système proposé utilise un AXI GPIO pour les LED et un autre pour les boutons. Le PS accède à leurs registres par AXI-Lite ; les canaux GPIO rejoignent les signaux externes.
L'automatisation peut ajouter les ressources nécessaires :
| Bloc | Rôle |
|---|---|
| AXI SmartConnect ou AXI Interconnect | Relie un ou plusieurs maîtres à un ou plusieurs esclaves |
| Processor System Reset | Produit des resets synchrones adaptés au domaine d'horloge |
| AXI GPIO | Fournit les registres et les signaux GPIO |
| Concat | Regroupe plusieurs interruptions sur un bus |
Contrôlez le sens des interfaces, la largeur des données, les domaines d'horloge et la polarité des resets après ces connexions.
Un bloc RTL local peut être ajouté comme référence de module. Pour le réutiliser avec une interface configurable, envisagez une IP empaquetée. Dans les deux cas, une connexion graphique valide ne sécurise pas un passage entre horloges : le CDC doit être conçu explicitement.
L'Address Editor définit les segments visibles depuis les maîtres AXI. Ces choix passent dans le XSA puis dans les informations générées du BSP, notamment xparameters.h :
#define XPAR_FPT_LED_BANK_BASEADDR 0xA0010000U
#define XPAR_FPT_LED_BANK_HIGHADDR 0xA001FFFFUCes constantes sont illustratives. Utilisez les symboles réellement générés pour votre projet plutôt qu'une adresse provenant d'un autre design.
La validation recherche des interfaces manquantes, horloges absentes et incohérences d'adresses. Elle ne prouve ni le comportement interne d'une IP ni le respect du besoin.
Relisez les fréquences, la synchronisation des resets, les segments non chevauchants, les interruptions et les contraintes des ports externes. La simulation, l'analyse de timing et les mesures sur carte restent nécessaires.
Générez le wrapper HDL, puis lancez synthèse, implémentation et production du bitstream. Le XSA exporté contient la description matérielle et peut inclure le bitstream.
Après un changement d'IP, d'adresse ou d'interruption, régénérez le XSA et mettez à jour la plateforme Vitis. Sinon, le logiciel peut compiler contre une description périmée.
Des scripts Tcl versionnés rendent la reconstruction du projet et du Block Design reproductible. Conservez les paramètres maîtrisés, plutôt que de dépendre uniquement des fichiers générés.
Les guides Vivado détaillent ces opérations pour chaque version.
Tester mes connaissances - Quiz du chapitre