VHDL Module Overview

Ce document présente une introduction au langage VHDL, destiné aux étudiants en électronique, énergie électrique et automatique. Il couvre les principes fondamentaux du VHDL, sa syntaxe, ses éléments de base, ainsi que son utilisation pour la modélisation, la simulation et la synthèse de systèmes numériques.

D'après le document VHDL Module Overview

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source

VHDL Module Overview

Electronics, Digital System Design · PDF · 14 pages · 1981

Afficher l'aperçu du document

Consulter le document original →

Ce document présente une introduction au langage VHDL, destiné aux étudiants en électronique, énergie électrique et automatique. Il couvre les principes fondamentaux du VHDL, sa syntaxe, ses éléments de base, ainsi que son utilisation pour la modélisation, la simulation et la synthèse de systèmes numériques.

Présentation du langage VHDL

VHDL signifie VHSIC Hardware Description Language, où VHSIC est l'acronyme de Very High Speed Integrated Circuit. Ce langage est utilisé pour la modélisation et la description de circuits numériques. Il a été développé initialement pour la simulation, mais son usage s'est étendu à la synthèse logique, notamment avec l'essor des circuits logiques programmables (CLP).

Le VHDL est un langage non propriétaire, standardisé très tôt, et largement adopté par de nombreux outils. Il est souvent comparé à d'autres langages HDL comme Verilog.

Principes généraux du VHDL

Avec l'augmentation de la taille et de la complexité des circuits à concevoir, la description au niveau porte devient difficile à gérer. Le VHDL permet une description à un niveau d'abstraction plus élevé, suivant une démarche descendante, similaire à la programmation logicielle où l'on passe du langage C à l'assembleur.

Les objectifs des HDL sont :

  • Décrire l'application au niveau approprié
  • Permettre la simulation et la vérification
  • Faciliter la conception et la validation

Le VHDL a été normalisé par l'IEEE en 1987 (IEEE 1076) pour couvrir la description, la modélisation, la simulation, la synthèse et la documentation. Des normes complémentaires ont suivi, notamment IEEE 1164 en 1993 pour les signaux logiques multivalués et IEEE 1076.3 en 1996 pour la synthèse.

Éléments de base du VHDL

Les briques fondamentales du VHDL sont :

  • Entity (Entité) : définit l'interface externe d'un composant, c'est-à-dire ses ports d'entrée et de sortie.
  • Architecture : décrit le fonctionnement ou la structure interne de l'entité.
  • Configuration : permet d'associer plusieurs architectures à une même entité, par exemple une architecture pour la simulation et une autre pour la synthèse.
  • Package : facilite la conception modulaire et la réutilisation de composants.
  • Library (Bibliothèque) : organise les packages et entités dans des bibliothèques, dont la bibliothèque de travail par défaut est nommée work.

Vue externe et interne

L'entité définit l'interface externe du composant, avec ses ports d'entrée et de sortie. L'architecture décrit la structure interne, qui peut contenir plusieurs blocs ou composants imbriqués.

L'entité (Entity)

Une entité est définie par ses ports, qui sont des signaux d'interface entre l'entité et l'extérieur. Chaque port possède un nom, un mode et un type. L'ordre de déclaration des ports n'a pas d'importance dans l'entité, mais il est conservé lors de l'utilisation de cette entité à un niveau supérieur.

Modes des ports

Le mode définit le sens du signal :

  • in : signal d'entrée monodirectionnel
  • out : signal de sortie monodirectionnel
  • inout : signal bidirectionnel (entrée/sortie)
  • buffer : signal de sortie pouvant être réutilisé en entrée (rebouclage), peu utilisé car remplacé par une sortie associée à un signal interne

Déclaration d'une entité

ENTITY nom_entite IS
  GENERIC (parametres_generiques : type := valeur_par_defaut);
  PORT (
    entrees : IN type_entrees;
    sorties : OUT type_sorties;
    entreessorties : INOUT type_entreessorties;
    entreessorties_buffer : BUFFER type_entreessorties_buffer
  );
END nom_entite;

Exemple d'entité : additionneur 8 bits synchrone

ENTITY adder_pip IS
  PORT(
    clk : IN bit;
    a, b : IN bit_vector(7 DOWNTO 0);
    cin : IN bit;
    s : OUT bit_vector(7 DOWNTO 0);
    cout : OUT bit
  );
END adder_pip;

Dans cet exemple, l'entité adder_pip possède :

  • Un signal d'horloge clk en entrée
  • Deux vecteurs d'entrée a et b de 8 bits chacun
  • Un signal d'entrée cin pour la retenue
  • Un vecteur de sortie s de 8 bits pour la somme
  • Un signal de sortie cout pour la retenue de sortie

Glossaire des termes clés

  • VHDL : Langage de description matériel pour circuits numériques.
  • Entity (Entité) : Définition de l'interface externe d'un composant.
  • Architecture : Description interne du fonctionnement ou de la structure d'une entité.
  • Port : Signal d'interface entre une entité et son environnement, avec un nom, un mode et un type.
  • Mode : Direction du port (in, out, inout, buffer).
  • Configuration : Association d'une entité à une ou plusieurs architectures.
  • Package : Ensemble de définitions et composants réutilisables pour la conception modulaire.
  • Library (Bibliothèque) : Regroupement de packages et entités, avec une bibliothèque de travail par défaut appelée work.
  • Synthèse : Transformation du code VHDL en circuit logique réel.
  • Simulation : Exécution virtuelle du comportement du circuit décrit en VHDL.

Points clés à retenir

  • Le VHDL est un langage standardisé pour la description, la simulation et la synthèse de circuits numériques.
  • Il permet une description à différents niveaux d'abstraction, facilitant la gestion de la complexité croissante des systèmes.
  • L'entité définit l'interface externe, tandis que l'architecture décrit le fonctionnement interne.
  • Les ports ont des modes qui définissent la direction des signaux : in, out, inout, buffer.
  • La modularité est favorisée par les packages et les bibliothèques.
  • Le VHDL est utilisé aussi bien pour la simulation que pour la synthèse, deux concepts complémentaires mais distincts.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions