VHDL Basic 1
(1)
- 범용 IC : 일반적으로 쓰는 IC
- 주문형 IC(ASIC): Application Specified Integrated Circuit
- 완전 : 개발비 ↑, 개발기간 ↑, LSI 급
- 반주문 : CAD설계, VLSI 급 => 완전형에 비해 칩면적이 더 크다
(2)
- PLD : Programmable Logic Device
- 논리 기능을 직접 만들어 쓸 수 있는 IC
- PROM : Programmable Read Only Memory : 한개의 Decoder, 이차원 OR
- PLA : Programmable Logic Array : 입력 = AND 설계, 출력 OR설계
- PAL : Programmable Array Logic : AND 설계, OR 고정, PLA 에 비해 속도↑
- SPLD : Simple Programmable Logic Device : PAL 형식, GATE 200EA
- CPLD : Complex Programmable Logic Device : 빠른 성능, 정확한 Timing 예측
- FPGA : Field Programmable Gate Array : GATE 수가 많다
CPLD 내부구조
FPGA 내부구조
- FPGA는 CPLD 에 비해 속도가 느리지만, GATE가 더 많다
(3) 칩 제조사
- ALTERA : MAX, Flex, Apex
- Xlinx : Virtex FPGA, Spartan
- Vantis : Actel, Atmel, QuickLogic
(4)
VHDL 이란?
- Very High speed integrated circuit Hardware Description Language 의 약자
- 1981. 6~1993년 IEEE 제정
- CAD 업계 및 IEEE 표준 언어
- 칩의 집적화에 따라 VHDL 의 중요성 대두 (TR 수 : 486=100만개, 586=310만개, 686=55만개)
VHDL 이전?
- AHPL(A Hareware Programming Language)
- CDL(Computer Design Language)
- C 언어
- IDL (Interative Design Language)
- ISPS(Instruction Set Processor Specification)
- TDL(TEGAS HDL or Texas Instrument HDL)
- TDL(TEGAS HDL or Texas Instrument HDL)
- UDL / I (Unfied Design Language for IC)
- Verilog HDL
- ZEUS
- HILO
VHDL 특징
- 전체적인 설계 비용↓, 쉬운 정보교환, 대규모 설계용이, 재사용이 쉬움
- 미국 정부는 Hardware 문서화에 VHDL 사용
- 유럽 연합에서도 채택
문제점
- 설계 자체를 위한 것들을 위해서는 적합하지 않다
- 정확한 Timing, 임계 경로의 계산이 어려움
- 합성도구에 대한 지원 부족
- 설계 도구들 간의 호환성 결여
- Hardware Engineer 가 Software 설계 기법에 익숙치 못함
- 아날로그 시스템 모델링의 어려움 => CAD 업체의 노력으로 극복 중
(5) VHDL 의 표현 방법
동작적 모델링, 자료흐름 모델링, 구조적 모델링
동작적 모델링 | 구조적 모델링 | |
칩 | 알고리즘 | MP, RAM, ROM |
회로 | 미분 방정식 | TR, R, L, C |
게이트 | 부울 | 게이트 |
시스템 | 설계 명세 | 컴퓨터, 디스크 |
레지스터 | RTL | ALU, 카운터, 레지스터 |
(6)VHDL Language 의 특징
- 대, 소문자 구별 X
- 주석 은 --
- Line 의 끝은 ;
- Space와 Tab으로 낱말 구분
- Data Type 변형 용이
(7) VHDL 프로그래밍
AAAA.VHD
library ieee; -- C언어의 Header File이라 생각하면 됨
use ieee.std_logic_1164.all; --ieee의 std_logic_1164.를 쓰겠다는 의미
-- use ieee.std_logic_signed.all 도 있으며 다양함
entity AAAA is -- Entity 선언 다음에 오는 이름은 파일명과 같아야 한다
port (a, b : in std_logic; -- 다르게 하고 싶다면
c : out std_logic); -- Assignment-> Device-> General-> Top-level entity를 바꿔야 한다
end AAAA;
architecture arc of AAAA is -- arc 부분은 마음대로 쓸 수 있다.(ex :sample , ex 등)
begin
c <= a and b;
end arc;
--> 사용할 Quartus 6.0은 ALTERA 사에서 WEB EDITION으로 무료로 제공하고 있다.
--> Project 시작시 저장 할 폴더를 귀찮더라도 폴더별로 정리를 하면 나중에 편하므로 폴더별로 저장할 것을 권장한다
과제
AND, OR, NAND, NOR, XOR, XNOR 입력 2개 출력 6개로 설계 하고 시뮬레이션 확인