티스토리 뷰

프로그래밍/Quartus 2

[VHDL] VHDL 개요

대싕:) 2018. 3. 16. 18:27

VHDL이란?


VHSIC Hardware Description Language의 약자로 VHSIC은 또 Very High Speed Integrated Circuits의 약자이다. 디지털 회로를 표현하는 하드웨어 기술 언어이다.



탄생배경


VHDL은 미국 국방부에서 주문형 집적회로(ASIC  = Application Specific Integrated Circuit)를 문서화하기 위해 제안되었다. 처음엔 동작을 기술하는 데에서 시작하였지만 반대로 기술된 문서로 회로를 디자인할 순 없을까? 생각하게 되었고 이를 통해 동작할 수 있는 회로를 구성할 수 있게 되었다. 오늘날에는 검증, 시연 등의 다양한 기능을 내포하게 되었다.



특징


특정 기술이나 공정에 대해 독립적

- 공통된 기술 언어로 특정 기술이나 공정에 관계없이 설계가 가능


표준화 및 문서화

- IEEE에 의해 표준화 되어 있으며 기술적 특징을 문서화 할 수 있음


VHDL로 완전한 회로 시뮬레이션은 가능하지만 모든 구성이 합성되진 않음


일반적인 컴퓨터 프로그램에 비해 병렬적으로 동작함.

- 순차적 실행이 아닌 동시에 동작하는 방식이다. 전류가 모든 회로에 동시에 흐르듯 VHDL로 구술한 프로그램 또한 같은 특성을 지닌다.


많은 시간과 노력이 필요

- VHDL 자체의 하드웨어적인 특징으로 Flow 대로 구현하다 보면 시간이 많이 소요되고 복잡하다.


합성 툴에 따라 회로 성능이 좌우 됨

- 합성 툴에 따라 VHDL 구문의 지원여부가 달라져 성능상의 문제가 발생



Design Flow



Design Entry : Schemetic 또는 VHDL로 회로를 구성하는 단계

Synthesis : 파형으로 입력레벨을 설정하는 단계

Functional Simulation : 입력레벨에 따른 출력레벨을 시뮬레이션 하는 단계

Design Correct? : 출력레벨을 확인

Fitting : Quartus 2 프로그램 내 Full Compilation, Programmer

Timing Analysis and Simulation : 회로의 물리적 특징에 의한 time delay를 시뮬레이션

Timing Requirements Met? : 적정 수준의 time delay인지 확인

Pragramming and Configuration : 물리적인 동작을 확인한다.



VHDL의 구조


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
library ieee;
-- VHDL은 IEEE 국제 표준을 사용한다.
    use ieee.std_logic_1164.all;
    use ieee.std_logic_arith.all;
    use ieee.std_logic_unsigned.all;
    
entity and_gate is
-- Entity 선언부 는 설계하고자 하는 시스템의 외적 연결을 담당 한다.
-- 회로의 내부적인 구조나 연결등을 고려할 필요가 없으며, 
-- 여기서 정의한 것을 통해 다음 Architecture Body 에서 내부적 동작을 표현한다.
-- 즉, 입출력 선을 정의 하는 부분이다.
    port(
        A : in std_logic;
        B : in std_logic;
        Y : out std_logic
        -- 선언부 마지막 문장에 세미콜론이 없음에 유의하자.
    );
end and_gate;
    
architecture BEH of and_gate is
-- 시스템의 동작을 세부적으로 정의한다.
begin
    Y <= A and B;
end BEH;
 
cs


'프로그래밍 > Quartus 2' 카테고리의 다른 글

[VHDL] COUNTER 설계  (0) 2018.03.26
[VHDL] 논리 게이트  (0) 2018.03.16
[VHDL] 간단한 프로그램 만들기(VHDL)  (0) 2018.03.16
[VHDL] 간단한 프로그램 만들기(Schematic)  (0) 2018.03.12
[VHDL] Quartus2 설치방법  (0) 2018.03.12
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함