산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> VHDL

절차문 - VHDL 예

프로시저는 서브프로그램이라고 하는 구조 그룹의 일부입니다. 프로시저는 코드 전체에서 재사용되는 작업을 수행하는 코드의 작은 섹션입니다. 이것은 코드를 정리하고 재사용을 허용하는 역할을 합니다.

프로시저는 입력을 받고 출력을 생성할 수 있습니다. 일반적으로 함수보다 복잡할 수 있습니다. 절차에 신호를 전달할 필요는 없습니다. 아래 예에는 표준 논리 벡터를 1씩 증가시키고 결과로 신호를 생성하는 것이 목적인 프로시저 p_INCREMENT_SLV가 있습니다.

wait 문 사용에 대한 추가 참고 사항:
프로시저를 호출하는 프로세스에 민감도 목록이 없는 한 대기 문을 프로시저에서 사용할 수 있습니다. 아래 예에서 절차에는 이를 보여주기 위한 1ns wait 문이 있습니다. 이것은 테스트벤치 코드 생성에 유용한 절차를 만듭니다.

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# switch 문
  6. C# break 문
  7. C# 계속 문
  8. VHDL에서 문자열 목록을 만드는 방법
  9. EXAMPLE이 있는 C++ Switch Case 문
  10. 작성 절차:디지털화하여 간단하고 효율적