Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> VHDL

Declaración de procedimiento:ejemplo de VHDL

Los procedimientos son parte de un grupo de estructuras llamadas subprogramas. Los procedimientos son pequeñas secciones de código que realizan una operación que se reutiliza en todo el código. Esto sirve para limpiar el código y permitir su reutilización.

Los procedimientos pueden tomar entradas y generar salidas. Generalmente pueden ser más complicados que las funciones. No es necesario pasar ninguna señal a un procedimiento. En el siguiente ejemplo existe un procedimiento p_INCREMENT_SLV cuyo propósito es incrementar en 1 un vector lógico estándar y generar una señal con el resultado.

Una nota adicional sobre el uso de sentencias de espera:
Las declaraciones de espera PUEDEN usarse en un procedimiento, siempre que el proceso que llama al procedimiento no tenga una lista de confidencialidad. En el siguiente ejemplo, el procedimiento tiene una declaración de espera de 1 ns para demostrar esto. Esto hace que los procedimientos sean útiles para crear código de banco de pruebas.

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;



Páginas de Nandland más populares

VHDL

  1. Tutorial - Introducción a VHDL
  2. Ejemplos de conversiones VHDL
  3. Registros:ejemplo de VHDL
  4. Firmado vs. Sin firmar en VHDL
  5. Variables - Ejemplo de VHDL
  6. Declaración de cambio de C#
  7. Declaración de interrupción de C#
  8. Declaración de continuación de C#
  9. Cómo crear una lista de cadenas en VHDL
  10. Declaración de caso de cambio de C ++ con EJEMPLO
  11. Procedimientos de escritura:sencillos y eficientes gracias a la digitalización