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

Comment utiliser la boucle et la sortie en VHDL

Dans le tutoriel précédent, nous avons appris à retarder le temps en utilisant le wait for déclaration. Nous avons également appris la boucle de processus. Nous savons maintenant que si nous le laissons faire, le "thread" du processus bouclera à l'intérieur du processus pour toujours.

Mais que se passe-t-il si nous voulons faire quelque chose une seule fois au début du processus ? Et puis boucler sur un autre code à la fin ? Le type de boucle le plus simple en VHDL peut être créé en utilisant le loop déclaration.

Cet article de blog fait partie de la série de didacticiels VHDL de base.

La syntaxe de la boucle simple est :

loop
end loop;

Une telle boucle continuera indéfiniment, ou jusqu'à un exit; est rencontré. Le exit peut être utilisée pour sortir de n'importe quelle boucle.

Exercice

Ce didacticiel vidéo vous apprend à créer une boucle simple et à en sortir :

Le code final que nous avons créé dans ce tutoriel :

entity T03_LoopTb is
end entity;

architecture sim of T03_LoopTb is
begin

    process is
    begin
 
        report "Hello!";
        
        loop
            report "Peekaboo!";
            exit;
        end loop;
        
        report "Goodbye!";
        wait;
        
    end process;

end architecture;

La sortie vers la console du simulateur lorsque nous avons appuyé sur le bouton d'exécution dans ModelSim :

VSIM 2> run
# ** Note: Hello!
#    Time: 0 ns  Iteration: 0  Instance: /t03_looptb
# ** Note: Peekaboo!
#    Time: 0 ns  Iteration: 0  Instance: /t03_looptb
# ** Note: Goodbye!
#    Time: 0 ns  Iteration: 0  Instance: /t03_looptb

Analyse

Lors de l'exécution du code final dans le simulateur, nous avons vu que le premier "Hello!" a été imprimé sur la console ModelSim. Ensuite, le "Peekaboo!" entre le loop; et end loop; a été imprimé. Sur la ligne suivante, le programme frappe le exit; déclaration, provoquant la sortie du programme de la boucle. Enfin, "Au revoir!" a été imprimé. Après cela, plus rien ne se passe car le programme est mis en pause pour toujours sur le wait; déclaration.

Nous pouvons voir à partir des horodatages des impressions que tout s'est passé à un temps de simulation de 0 ns. Comme nous l'avons appris du tutoriel précédent, tout autre que wait les instructions ne consomment aucun temps.

À emporter

Aller au tutoriel suivant »


VHDL

  1. Comment utiliser une procédure dans un processus en VHDL
  2. Comment utiliser une fonction impure en VHDL
  3. Comment utiliser une fonction en VHDL
  4. Comment utiliser une procédure en VHDL
  5. Comment créer une minuterie en VHDL
  6. Comment utiliser l'instanciation de Port Map dans VHDL
  7. Comment installer un simulateur et un éditeur VHDL gratuitement
  8. Microcontrôleur PIC18 :qu'est-ce que c'est et comment l'utiliser
  9. Qu'est-ce qu'un désignateur de référence et comment l'utiliser dans l'assemblage ?