Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> VHDL

Introduction à VHDL : construire votre première porte ET

VHDL, acronyme de Very High Speed Integrated Circuit Hardware Description Language, est l'un des deux langages de description matérielle principaux utilisés pour concevoir des FPGA et ASIC. Bien qu'il puisse sembler verbeux comparé aux langages logiciels, sa syntaxe est précise et conçue pour décrire la logique numérique à un très haut niveau d'abstraction.

Avant de plonger dans le code VHDL, il est utile de comprendre le contexte dans lequel il est utilisé. Les FPGA (Field‑Programmable Gate Arrays) et ASIC (Application‑Specific Integrated Circuits) sont les briques de base des systèmes numériques modernes, de l'électronique grand public aux applications aérospatiales. VHDL et son homologue Verilog fournissent un moyen textuel de décrire le comportement et la structure de ces circuits.

Dans ce tutoriel, nous allons parcourir la création d'une simple porte ET en VHDL. Une porte ET accepte deux entrées binaires et produit une sortie unique qui est haute seulement quand les deux entrées sont hautes.

Introduction à VHDL : construire votre première porte ET

Définir les signaux et opérations

Le concept central en VHDL est le signal, qui représente un fil ou un élément de stockage pouvant contenir une valeur. Un signal peut être déclaré avec le type std_logic, le type le plus courant pour les signaux binaires. Voici un exemple minimal de déclaration d'une opération porte ET :

signal and_gate : std_logic; and_gate <= input_1 and input_2;

La première ligne déclare un signal nommé and_gate. La seconde ligne assigne à ce signal le ET logique de input_1 et input_2. L'opérateur <= est l'opérateur d'affectation de signal VHDL, et le mot-clé and est un opérateur réservé pour la conjonction logique.

Créer une entité

Tous les fichiers VHDL exposent une entité de niveau supérieur qui définit l'interface externe du design. Pour la porte ET, l'entité liste deux ports d'entrée et un port de sortie :

entity example_and is port ( input_1 : in std_logic; input_2 : in std_logic; and_result : out std_logic ); end example_and;

Chaque port spécifie sa direction (in ou out) et son type (std_logic).

Définir l'architecture

L'architecture contient le comportement interne de l'entité. Elle peut déclarer des signaux internes additionnels et la logique combinatoire qui pilote les sorties. Une architecture typique pour notre porte ET ressemble à ceci :

architecture rtl of example_and is signal and_gate : std_logic; begin and_gate <= input_1 and input_2; and_result <= and_gate; end rtl;

Dans l'architecture, tous les signaux internes sont déclarés entre les mots-clés is et begin. Les instructions exécutables qui pilotent les signaux apparaissent entre begin et end.

Inclure les bibliothèques standard

Au début de chaque fichier VHDL, vous devez référencer la bibliothèque standard IEEE qui définit le type std_logic :

library ieee; use ieee.std_logic_1164.all;

Ces deux lignes apportent les types et opérateurs nécessaires dans la portée pour le reste du fichier.

Exemple complet

Voici le code source VHDL complet pour une porte ET à deux entrées. Copiez-le dans votre éditeur VHDL et simulez ou synthétisez-le pour confirmer son comportement.

library ieee; use ieee.std_logic_1164.all; entity example_and is port ( input_1 : in std_logic; input_2 : in std_logic; and_result : out std_logic ); end example_and; architecture rtl of example_and is signal and_gate : std_logic; begin and_gate <= input_1 and input_2; and_result <= and_gate; end rtl;

Bien que le code puisse sembler verbeux comparé aux langages de programmation conventionnels, ce niveau d'explicité est essentiel pour une synthèse et une simulation matérielles fiables. À mesure que vous gagnerez de l'expérience, vous découvrirez des raccourcis et abstractions qui réduisent la répétition tout en maintenant la clarté.

Avec cette base, vous êtes prêt à explorer des circuits plus complexes, apprendre les instructions concurrentes, et intégrer des designs VHDL dans des projets FPGA ou ASIC plus vastes.

VHDL

  1. Exploiter les records VHDL pour des interfaces FIFO propres et réutilisables
  2. Stéréolithographie (SLA) impression 3D : Résine durcie UV pour prototypes rapides et solides
  3. Alliages de titane 101 : résistance, nuances et avantages clés pour ingénieurs
  4. Fondamentaux des circuits DC : comprendre le courant continu et concepts électriques de base
  5. Comprendre les circuits AC : Guide pour débutants
  6. Démarrer avec SPICE : outil de simulation de circuits en mode texte
  7. Maîtriser la programmation C : Tutoriel complet pour débutants
  8. Maîtriser Verilog : Tutoriel complet pour la conception de circuits numériques
  9. Comprendre les harmoniques électriques : Partie 1 – Fondamentaux et impact