Bibliothèque VHDL, Vivado et Basys 3¶
Ce manuel vous accompagne depuis votre première entité VHDL jusqu'à un système vérifié, contraint temporellement et programmé sur la Digilent Basys 3. Il sert à la fois de cours progressif et de bibliothèque consultable pendant vos projets.
L'habitude essentielle
N'utilisez pas la carte FPGA comme premier outil de débogage. Décrivez le circuit, simulez-le avec un banc de test auto-vérifiant, synthétisez-le, examinez les rapports temporels, puis seulement programmez la carte.
Contenu de la bibliothèque¶
-
:material-code-braces: Syntaxe VHDL
Entités, architectures, signaux, processus, types, génériques, paquetages, machines à états et VHDL-2008.
-
:material-chip: Méthodes de conception RTL
Logique combinatoire, registres, validations d'horloge, stratégie de reset, hiérarchie, composants réutilisables et CDC sûres.
-
:material-test-tube: Vérification automatisée
Assertions, modèles de référence, boucles exhaustives, vecteurs lus dans des fichiers, scoreboards, gardiens temporels et scripts XSim reproductibles.
-
:material-memory: Vivado et Basys 3
Projets, sources, contraintes, synthèse, implémentation, bitstreams, programmation, utilisation des ressources, DRC et timing.
Votre installation¶
Cette édition est adaptée à votre environnement :
| Élément | Configuration locale |
|---|---|
| Carte FPGA | Digilent Basys 3, Artix-7 |
| Composant | xc7a35tcpg236-1 |
| Horloge principale | Oscillateur 100 MHz, broche W5 |
| Suite de conception | AMD Vivado 2026.1 |
| Installation | D:\FPGA\2026.1\Vivado |
| Norme HDL | VHDL-2008 lorsqu'elle est prise en charge |
| Simulateur | Vivado Simulator : xvhdl, xelab, xsim |
| Documentation | MkDocs Material, port local 8001 |
Utiliser la bibliothèque¶
Pour apprendre, suivez le parcours dans l'ordre. Pendant une conception, allez directement vers :
- l'aide-mémoire pour les patrons de syntaxe ;
- les recettes réutilisables pour des circuits éprouvés ;
- les bancs de test auto-vérifiants afin d'éliminer la vérification manuelle des chronogrammes ;
- l'automatisation XSim pour exécuter tous les tests en une commande ;
- le dépannage lorsqu'un message Vivado est difficile à comprendre.
Penser en description matérielle¶
Un fichier VHDL n'est pas une suite d'instructions de processeur. Il décrit du matériel qui fonctionne simultanément :
Les deux affectations pilotent leur circuit en permanence et en parallèle. Un processus décrit lui aussi du matériel : ses instructions sont évaluées séquentiellement en simulation, mais les portes et registres synthétisés fonctionnent simultanément.
Trois questions évitent de nombreuses erreurs :
- Quel matériel doit exister ? Porte, multiplexeur, registre, compteur, mémoire ou machine à états ?
- Quand l'état peut-il changer ? Normalement uniquement sur le front choisi d'une horloge.
- Comment prouver que cela fonctionne ? Écrire le comportement attendu dans le banc de test avant d'utiliser la carte.
Boucle de conception recommandée¶
- Écrire une spécification courte de l'interface et du comportement.
- Dessiner le chemin de données et repérer tous les états mémorisés.
- Réaliser le plus petit bloc RTL complet.
- Compiler tôt pour détecter les erreurs de type et de syntaxe.
- Écrire un banc de test auto-vérifiant avec cas normaux, limites et invalides.
- Lancer la suite de tests depuis une ligne de commande propre.
- Ajouter les contraintes XDC de broches et de timing.
- Synthétiser puis examiner avertissements, matériel inféré et utilisation.
- Implémenter et exiger le respect des contraintes temporelles.
- Programmer la Basys 3 et effectuer un court test matériel de cohérence.
Signification des encadrés¶
Tip
Habitude ou patron de conception recommandé.
Warning
VHDL légal mais risqué, ambigu ou susceptible d'inférer un circuit inattendu.
Danger
Patron pouvant produire un matériel non fiable, par exemple une entrée asynchrone non synchronisée.
Example
Modèle réutilisable. Adaptez les largeurs, noms, polarités et délais à votre projet.