Aller au contenu

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 :

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 :

y <= (a and b) or enable;
z <= a xor b;

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 :

  1. Quel matériel doit exister ? Porte, multiplexeur, registre, compteur, mémoire ou machine à états ?
  2. Quand l'état peut-il changer ? Normalement uniquement sur le front choisi d'une horloge.
  3. Comment prouver que cela fonctionne ? Écrire le comportement attendu dans le banc de test avant d'utiliser la carte.

Boucle de conception recommandée

  1. Écrire une spécification courte de l'interface et du comportement.
  2. Dessiner le chemin de données et repérer tous les états mémorisés.
  3. Réaliser le plus petit bloc RTL complet.
  4. Compiler tôt pour détecter les erreurs de type et de syntaxe.
  5. Écrire un banc de test auto-vérifiant avec cas normaux, limites et invalides.
  6. Lancer la suite de tests depuis une ligne de commande propre.
  7. Ajouter les contraintes XDC de broches et de timing.
  8. Synthétiser puis examiner avertissements, matériel inféré et utilisation.
  9. Implémenter et exiger le respect des contraintes temporelles.
  10. 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.