Instruction de procédure - Exemple VHDL
Les procédures font partie d'un groupe de structures appelées sous-programmes. Les procédures sont de petites sections de code qui effectuent une opération qui est réutilisée dans votre code. Cela sert à nettoyer le code et à permettre la réutilisation.
Les procédures peuvent prendre des entrées et générer des sorties. Ils peuvent généralement être plus compliqués que les fonctions. Il n'est pas nécessaire de transmettre des signaux à une procédure. Dans l'exemple ci-dessous il y a une procédure p_INCREMENT_SLV dont le but est d'incrémenter un vecteur logique standard de 1 et de générer un signal avec le résultat.
Une note supplémentaire sur l'utilisation des instructions d'attente :
Les instructions d'attente PEUVENT être utilisées dans une procédure, tant que le processus qui appelle la procédure n'a pas de liste de sensibilité. Dans l'exemple ci-dessous, la procédure comporte une instruction d'attente de 1 ns pour le démontrer. Cela rend les procédures utiles pour créer du code de testbench.
library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity example_procedure_simple is end example_procedure_simple; architecture behave of ex_procedure_simple is signal r_TEST : std_logic_vector(7 downto 0) := X"42"; -- Purpose: Increments a std_logic_vector by 1 procedure p_INCREMENT_SLV ( signal r_IN : in std_logic_vector(7 downto 0); signal r_OUT : out std_logic_vector(7 downto 0) ) is begin r_OUT <= std_logic_vector(unsigned(r_IN) + 1); wait for 1 ns; -- Wait is OK here. end p_INCREMENT_SLV; begin process is begin wait for 10 ns; p_INCREMENT_SLV(r_TEST, r_TEST); wait for 10 ns; p_INCREMENT_SLV(r_TEST, r_TEST); wait for 10 ns; p_INCREMENT_SLV(r_TEST, r_TEST); wait; end process; end behave;
VHDL
- Tutoriel - Introduction au VHDL
- Exemples de conversions VHDL
- Enregistrements - Exemple VHDL
- Instruction de commutateur C #
- Instruction de rupture C#
- Instruction continue C #
- Comment créer une liste de chaînes en VHDL
- Instruction C++ Switch Case avec EXAMPLE
- Procédures de rédaction :simples et efficaces en passant au numérique