인프런 커뮤니티 질문&답변

parkseongu님의 프로필 이미지
parkseongu

작성한 질문수

설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)

VHDL 과 Verilog-HDL

해결된 질문

작성

·

1.1K

2

VHDL 과 Verilog-HDL에 대해서 개인적으로 궁금해서 글을 남깁니다!

 

HDL 이라는 Hardware Description Language 라는 것은 동일한데

VHDL에서 C언어 문법과 유사하게 개발된 것이 Verilog-HDL이라고 알고 있습니다.

그리고 추세 또한 Verilog-HDL을 공부하는 것이 좋다고 말씀하십니다.

이외에도 Verilog-HDL 을 쓰는 중요한 이유가 있는지에 대해서 궁금합니다.

 

또한 제가 학교에서 CMOD S7 보드를 활용해 FPGA기반의 프로젝트를 진행한 경험이 있습니다. 이때 윈도우에서 Xilinx Vivado 툴을 이용했는데 교수님께서 Verilog-HDL이라는 말은 들어본적이 없고 VHDL을 가르쳐주시고 이를 활용했습니다. (코드는 밑에 문장과 같습니다. 혹시나 VHDL이 아닐 수도 있기에 적겠습니다.)

또한, 기업에서 활용툴이라는 것을 보게되었는데 VHDL 이라고만 적혀있었습니다.

 

두서 없이 작성해서 죄송합니다. 궁금한 것들을 요약하자면

  1. Verilog-HDL 을 사용해야만, 공부해야만 하는 장점이 무엇인가요?

  2. 기업에서 요구한 VHDL이 Verilog-HDL이랑 같다고 생각해도 되는가요?

 

이제 FPGA 시즌1 들으려고 하는데 강의 잘 듣고 있고 항상 감사드립니다!

 

 

Verilog-HDL 인지 VHDL 인지 모르겠으나 제가 학교에서 VHDL이라고 배우고 사용했던 코드 일부 중 하나 보여드리겠습니다. D 플립플롭 코드 인 것 같습니다. VHDL이 맞는지 궁금하네용ㅎㅎㅎ

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity TEST10_D_FLIP_FLOP is
  port(CLOCK : in std_logic;
       DATA_INPUT : in std_logic;
       DATA_OUTPUT : out std_logic;
       NOT_DATA_OUTPUT : out std_logic);
end TEST10_D_FLIP_FLOP;

architecture Behavioral of TEST10_D_FLIP_FLOP is
begin
  process(CLOCK)
  begin
    if rising_edge(CLOCK) then
      DATA_OUTPUT <= DATA_INPUT;
      NOT_DATA_OUTPUT <= not DATA_INPUT;
    end if;
  end process;
end Behavioral;


------------------------------------------------------------------------------------------------------------------

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY TB_TEST10_D_FLIP_FLOP IS
END TB_TEST10_D_FLIP_FLOP;

ARCHITECTURE behavior OF TB_TEST10_D_FLIP_FLOP IS
  COMPONENT TEST10_D_FLIP_FLOP
  PORT(
       CLOCK : IN std_logic;
       DATA_INPUT : IN std_logic;
       DATA_OUTPUT : OUT std_logic;
       NOT_DATA_OUTPUT : OUT std_logic
      );
  END COMPONENT;

  signal CLOCK : std_logic := '0';
  signal DATA_INPUT : std_logic := '0';
  signal DATA_OUTPUT : std_logic;
  signal NOT_DATA_OUTPUT : std_logic;
BEGIN
  uut: TEST10_D_FLIP_FLOP PORT MAP (
       CLOCK => CLOCK,
       DATA_INPUT => DATA_INPUT,
       DATA_OUTPUT => DATA_OUTPUT,
       NOT_DATA_OUTPUT => NOT_DATA_OUTPUT
     );

  CLOCK0: process
  begin
    CLOCK <= '0';
    wait for 10 ns;
    CLOCK <= '1';
    wait for 10 ns;
  end process;

  DATA_INPUT0: process
  begin
    DATA_INPUT <= '0';
    wait for 20 ns;
    DATA_INPUT <= '1';
    wait for 20 ns;
  end process;
END;

 

답변 1

1

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 :)

Verilog-HDL 을 사용해야만, 공부해야만 하는 장점이 무엇인가요?

알고계신 이유도 있겠지만, 그 이유때문에 회사에서 Verilog HDL 을 많이 사용합니다.

VHDL -> Verilog HDL -> System Verilog 순으로 언어가 개발이 되었고요.

당연히 최신의 언어일 수록 장점이 있겠죠.

최근에는 System Verilog 도 현업에서 RTL 설계시 많이 사용합니다.

그 언어를 배우려면 Verilog HDL 은 필수라고 생각해요.

결론은 현재 반도체 설계 씬에서 VHDL 보다, Verilog HDL 을 더 많이 사용합니다.

이것도 세월이 지나면 답이 바뀔 수 있겠죠? 저희는 적응을 하면 됩니다.

기업에서 요구한 VHDL이 Verilog-HDL이랑 같다고 생각해도 되는가요?

HDL (Hardware desctription language) 관점에서는 동일하지만 VHDL 과 Verilog HDL 은 다른 언어입니다. 저는 다르다고 보고요. 채용공고를 보시면 Verilog HDL 이 이제는 더 많은 기업에서 요구하는 것을 아실 수 있을꺼에요. 앞선 1번의 답과 연결됩니다.

 

즐공하세요 ;)

parkseongu님의 프로필 이미지
parkseongu
질문자

정말 명쾌한 답변 감사합니다! 속이 시원한 느낌이네요~ 궁금증이 바로 해결되었어요!

parkseongu님의 프로필 이미지
parkseongu

작성한 질문수

질문하기