VHDL을 이용한 디지털 회로 설계

Download Report

Transcript VHDL을 이용한 디지털 회로 설계

서론
IT CookBook, VHDL을 이용한 디지털 회로 설계
학습목표
VHDL이란?
설계 흐름
EDA 도구 및 관련 회사
VHDL을 이용한 코드 작성의 예
목차
1. VHDL이란
2. 설계 흐름Design Flow
3 . EDAElectronic
도구
Design
Automation
4. VHDL 코드를 회로로 변환
5. 설계 예
Section 01 VHDL이란?
 HDLVHSIC Hardware Description Language이란?
• 하드웨어 기술 언어(Hardware Description Laguage)
• 하드웨어 동작을 모델링하기 위한 프로그래밍 언어
• 전자회로의 설계 및 시뮬레이션에 이용
• HDL의 종류
- VHDL: VHSIC HDL
- Verilog
Section 01 VHDL이란?
 HDL과 프로그램 언어의 비교
HDL 설계
HDL 설계
(동작 기술)
컴퓨터 프로그래밍
HLL 프로그램
(고급언어 프로그램)
합성
Gate level 설계
(구조 기술)
실리콘
컴파일러
어셈블리어
프로그램
고급언어
컴파일러
어셈블러
Layout 설계
기계어 프로그램
Section 01 VHDL이란?
 VHDLVHSIC Hardware Description Language 발전 과정
• 1981: VHSICVery High Speed Integrated Circuits(초고속 집적회로) 프로젝트의 일환으로
미국방성 지원아래 HDL에 대한 표준화 착수
• 1983-1985: VHDL 및 지원 소프트웨어 개발(Intermetrics, IBM, TI)
• 1987: IEEE전기전자공학회에서 IEEE Standard 1076-1987 확정(VHDL 87)
• 미국방성은 military standard 454 제정
• 1991: IEEE Standard 1164(standard 9-valued logic)
• 1993: IEEE Standard 1076-1993(VHDL 93)
사용 동기 및 용도
• 기술/공급업체 독립적인 언어로 표준화되어, 이식과 재사용 가능
• 회로 시뮬레이션simulation
• 회로 합성synthesis
- PLD(CPLD, FPGA 등)을 위한 물리적 레이아웃
- ASIC을 위한 마스크 생성
• 설계의 문서화
Section 02 설계 흐름
 VHDL 설계 흐름
• 컴파일
- 고수준 표현을 저수준 표현으로 변환
- 예) RTL 레벨을 게이트 레벨로
• 최적화
- 속도와/또는 면적 측면을 고려
- 이 수준에서의 시뮬레이션
• 배치 및 배선
- PLD 칩을 위한 물리적 레이아웃 생성
- ASIC을 위한 mask 생성
[그림 1-1] VHDL 설계 흐름 요약
Section 03 EDA 도구
 EDA 도구
• Electronic Design Automation Tool
• 회로 합성, 구현, 시뮬레이션
 대표적인 EDA 공급 업체 및 설계 도구 세트
• Altera의 Quartus II(Altera CPLD/FPGA 칩 합성용)
• Xilinx의 ISE(Xilinx CPLD/FPGA 칩 합성용)
• Mentor Graphics의 Precision, LeonardoSpectrum(FPGA 용)
 기타
• Synplicity의 Synplify(합성기)
• Model Technology의 ModelSim(시뮬레이터)
Section 04 VHDL 코드를 회로로 변환
 전가산기 설계
• 동작에 대한 이해(설계 사양)
[그림 1-2] 전가산기 회로도와 진리표
Section 04 VHDL 코드를 회로로 변환
 전가산기 설계
• VHDL 코드 작성
- ENTITY와 ARCHITECTURE로 구성
- ARCHITECURE의 내용은 여러 가지 형태로 기술
동작적 모델링(가장 높은 수준의 추상적 표현)
입력에 따른 출력 결과만을 고려하여 기술
하드웨어 구조에 상관없는 기능적 또는 수학적 알고리즘을 사용하여 시스템 동작 기술
데이터 플로우 모델링
입력에서 출력까지의 경로 표현 위주
구조적 모델링(하드웨어에 가장 근접한 가장 낮은 수준의 표현)
회로의 컴포넌트, 게이트의 상호연결 상태 표현)
[그림 1-3] 전가산기에 대한 VHDL 코드
Section 04 VHDL 코드를 회로로 변환
 전가산기 설계
• 최종 회로를 위한 합성
- 목표 기술(PLD/FPGA, ASIC/CMOS)에 따라 달라짐
- 합성 주안점(속도, 면적)에 따라 최적화되어 달라짐
[그림 1-4] 전가산기에 대한 VHDL 코드로부터 합성된 여러 회로 결과
Section 04 VHDL 코드를 회로로 변환
 전가산기 설계
• 설계 회로의 검증
- 각 레벨(시스템 레벨, RTL 레벨, 게이트 레벨, 회로 레벨 등)에서 동작 검증을 위한 시뮬레이션
- 구현 비용을 줄이기 위함
[그림 1-5] VHDL 설계에 대한 시뮬레이션 결과
Section 05 설계 예
 완전한 설계 예
• 설계지향적 방식으로 만든 설계 예를 각 장마다 제시
• 덧셈기, ALU, 배럴 시프트, 비교기, 계수기, 디코더, 인코더
• 교통신호제어기, 자판기제어기, 주파수분배기
• 등등
1장 서론 끝