IP AXI et pilote personnalisé
Créer un périphérique AXI-Lite, définir sa carte de registres, le packager puis intégrer un pilote dans le BSP.
Partir d'une interface stable
Une IP personnalisée est un bloc matériel réutilisable conçu pour un besoin précis. Son contrat comprend les ports, les paramètres, la carte de registres, le comportement du reset et les erreurs possibles.
Pour appliquer la méthode, nous créons dans ce cours une IP appelée LED_Controller. Elle reçoit des commandes par AXI-Lite et pilote un bus de LED. Après le lancement de Create and Package IP, Vivado génère le squelette de l'esclave AXI-Lite et de ses registres. Nous ajoutons ensuite la logique fonctionnelle dans un module séparé.
Carte de registres
Une carte courte suffit pour un premier périphérique.
| Offset | Nom | Accès | Rôle |
|---|---|---|---|
0x00 | DATA | Lecture et écriture | Valeur affichée |
0x04 | CONTROL | Lecture et écriture | Activation et mode |
0x08 | STATUS | Lecture | État du périphérique |
0x0C | VERSION | Lecture | Version de l'interface |
Les bits réservés doivent avoir une valeur définie à la lecture. Une écriture partielle doit respecter WSTRB. Chaque bit de ce masque indique quel octet de WDATA est réellement valide. Le reset doit ramener les registres à une valeur documentée.