Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> VHDL

Оператор процедуры — пример VHDL

Процедуры являются частью группы структур, называемых подпрограммами. Процедуры — это небольшие участки кода, которые выполняют операцию, которая повторно используется в вашем коде. Это служит для очистки кода, а также для повторного использования.

Процедуры могут принимать входные данные и генерировать выходные данные. Как правило, они могут быть более сложными, чем функции. Никаких сигналов процедуре передавать не требуется. В приведенном ниже примере есть процедура p_INCREMENT_SLV, целью которой является увеличение стандартного логического вектора на 1 и генерация сигнала с результатом.

Еще одно замечание об использовании операторов ожидания:
Операторы ожидания МОГУТ использоваться в процедуре, если процесс, вызывающий процедуру, не имеет списка чувствительности. В приведенном ниже примере процедура имеет оператор ожидания 1 нс, чтобы продемонстрировать это. Это делает процедуры полезными для создания кода тестового стенда.

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;



Самые популярные страницы Nandland

VHDL

  1. Учебное пособие — Введение в VHDL
  2. Примеры преобразования VHDL
  3. Записи — пример VHDL
  4. Подписанный и неподписанный в VHDL
  5. Оператор переключения C#
  6. Оператор C# break
  7. C# оператор продолжения
  8. Как создать список строк в VHDL
  9. Оператор C++ Switch Case с ПРИМЕРОМ
  10. Процедуры написания:простые и эффективные благодаря переходу на цифровые технологии