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