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

튜토리얼 - VHDL 소개

VHDL은 끔찍한 약어입니다. V를 나타냅니다. HSIC H 하드웨어 D 설명 L 앙앙. 약어 안의 약어, 굉장합니다! VHSIC는 V를 나타냅니다. 에리 HS 오줌 통합된 C 일렉트릭. 따라서 확장된 VHDL은 V입니다. ery 고속 집적 회로 H 하드웨어 D 설명 L 앙앙. PHEW 한 입입니다. VHDL은 교육 및 비즈니스에서 FPGA 및 ASIC을 설계하는 데 사용하는 두 가지 언어 중 하나입니다. 이러한 매혹적인 회로에 익숙하지 않은 경우 먼저 FPGA 및 ASIC에 대한 소개를 통해 이점을 얻을 수 있습니다. VHDL 및 Verilog는 디지털 설계자가 회로를 설명하는 데 사용하는 두 가지 언어이며 C 및 Java와 같은 기존 소프트웨어 언어와는 설계상 다릅니다.

아래 예에서는 설명하는 VHDL 파일을 생성할 것입니다. 앤 게이트. 간단히 말해서 And Gate에는 두 개의 입력과 하나의 출력이 있습니다. 두 입력이 모두 1일 때만 출력은 1입니다. 아래는 VHDL로 설명할 And Gate의 그림입니다.

앤드 게이트

가자! VHDL의 기본 단위를 신호라고 합니다. . 지금은 신호가 0 또는 1일 수 있다고 가정해 보겠습니다(실제로 다른 가능성이 있지만 우리는 그것에 대해 알아보겠습니다). 다음은 몇 가지 기본 VHDL 논리입니다.

signal and_gate : std_logic;
and_gate <= input_1 and input_2;

코드의 첫 번째 줄은 std_logic 유형의 신호를 정의하며 이를 and_gate라고 합니다. Std_logic은 신호를 정의하는 데 가장 일반적으로 사용되는 유형이지만 배우게 될 다른 유형도 있습니다. 이 코드는 단일 출력(and_gate)과 2개의 입력(input_1 및 input_2)으로 AND 게이트를 생성합니다. 키워드 "and"는 VHDL에 예약되어 있습니다. <=연산자는 할당 연산자로 알려져 있습니다. 위의 코드를 구두로 구문 분석할 때 "The signal and_gate GETS input_1 and-ed with input_2"라고 큰 소리로 말할 수 있습니다.

이제 input_1과 input_2가 어디에서 왔는지 스스로에게 물을 수 있습니다. 이름에서 알 수 있듯이 이 파일에 대한 입력이므로 도구에 이에 대해 알려야 합니다. 파일에 대한 입력 및 출력은 엔티티에 정의됩니다. . 엔티티에는 파일에 대한 모든 입력 및 출력을 정의하는 포트가 있습니다. 간단한 엔터티를 만들어 보겠습니다.

entity example_and is
  port (
    input_1    : in  std_logic;
    input_2    : in  std_logic;
    and_result : out std_logic
  );
end example_and;

이것은 당신의 기본 엔티티입니다. example_and라는 엔티티와 3개의 신호, 2개의 입력과 1개의 출력을 정의하며, 모두 std_logic 유형입니다. 이 작업을 완료하려면 아키텍처가 하나의 다른 VHDL 키워드가 필요합니다. . 아키텍처는 특정 엔터티의 기능을 설명하는 데 사용됩니다. 논문이라고 생각하시면 됩니다. 엔터티는 목차이고 아키텍처는 내용입니다. 이 엔터티에 대한 아키텍처를 만들어 보겠습니다.

architecture rtl of example_and is 
  signal and_gate : std_logic;
begin
  and_gate <= input_1 and input_2;
  and_result <= and_gate;
end rtl;

위의 코드는 example_and 엔터티의 rtl이라는 아키텍처를 정의합니다. 아키텍처에서 사용하는 모든 신호는 "is"와 "begin" 키워드 사이에 정의되어야 합니다. 실제 아키텍처 논리는 "시작"과 "끝" 키워드 사이에 있습니다. 이 파일은 거의 완료되었습니다. 도구에 마지막으로 알려야 할 사항은 사용할 라이브러리입니다. 라이브러리는 특정 키워드가 파일에서 작동하는 방식을 정의합니다. 지금은 파일 상단에 다음 두 줄이 있어야 한다는 사실을 당연하게 생각하십시오.

library ieee;
use ieee.std_logic_1164.all;

축하합니다! 첫 번째 VHDL 파일을 만들었습니다. 완성된 파일은 여기에서 볼 수 있습니다:

library ieee;
use ieee.std_logic_1164.all;

entity example_and is
  port (
    input_1    : in  std_logic;
    input_2    : in  std_logic;
    and_result : out std_logic
    );
end example_and;

architecture rtl of example_and is
  signal and_gate : std_logic;
begin
  and_gate   <= input_1 and input_2;
  and_result <= and_gate;
end rtl;

바보 같은 게이트를 만들기 위해 많은 코드를 작성해야 했던 것 같습니까? 우선, 게이트는 바보가 아닙니다. 둘째, 당신이 옳습니다. VHDL은 매우 장황한 언어입니다. 소프트웨어에서 매우 쉬운 작업을 수행하면 Verilog 또는 VHDL과 같은 HDL에서 훨씬 더 오래 걸린다는 사실에 익숙해지십시오. 그러나 일부 소프트웨어 담당자에게 Conway의 Game of Life를 표시하는 VGA 모니터에 이미지를 생성해 달라고 하고 그들의 머리가 빙글빙글 돌아가는 것을 지켜보세요! 그건 그렇고, 그 비디오는 VHDL과 FPGA로 생성됩니다. 당신은 곧 그렇게 할 수 있을 것입니다!


VHDL

  1. 레코드 - VHDL 예
  2. 광조형(SLA) 소개
  3. 티타늄 합금 소개
  4. DC 회로 소개
  5. AC 회로 소개
  6. SPICE 소개
  7. C 튜토리얼
  8. Verilog 튜토리얼
  9. 고조파 소개:1부
  10. SINUMERIK 808D 소개 – 터닝 비디오 자습서 1부