Document 7735328

Download Report

Transcript Document 7735328

FPGA 설계
이상훈
경남대학교 전기전자공학부
1
강좌목표

디지털 회로의 설계기법을 배우고 ALTERA사의
MAX+PLUS II TOOL을 활용하여 이들 회로들을
회로도 입력 방법과 VHDL Coding 방법으로 직접
설계하여 시뮬레이션을 통한 설계한 회로의 검
증작업을 통해 FPGA 및 ASIC 칩에 대한 설계능
력을 얻고자 한다.
2
평가방법
1. 출석 : 20%
2. 중간고사 : 30%
3. 기말고사 : 30%
4. 과제물 : 20%
3
교재 및 참고문헌

전희종외 “디지털 디자인 CPLD 및 VHDL”, 인터비젼, 2003

Dueck, “Digital Design with CPLD Applications and VHDL”,
Delmar, 2001.

빔 프로젝트 강의교재

“Altera MAX+PLUS II”, Free download, www.altera.com

M. Morris Mano and Charles R. Kime, “Logic and Computer
Design Fundamentals”, Prentice Hall, 2000.

이승호, 박용수, 박군종, 이주현 “Altera MAX+PLUS II를
사용한 디지털 논리회로 설계의 기초와 활용”, 복두출판사
4
강의순서
개요
 Altera MAX+PLUS II Tool
 조합논리회로 설계
 디지털산술 및 산술회로
 순차회로 개요
 PLA 소개
 카운터 설계
 상태머신설계
 논리 게이트 인터페이스
 아날로그 및 디지털 인터페이스 회로
 메모리 시스템

5
개요

용어설명

PLDs(Programmable Logic Devices)

ROM(Read-Only Memory)

PLA(Programmable Logic Array)

PAL(Programmable Array Logic)과 GAL(Generic Array Logic)

CPLD(Complex Programmable Logic Device)

FPGA(Field-Programmable Gate Array)

ASIC(Application Specific Integrated Circuit)

Summary
6
PLDs(Programmable Logic Devices)
 PLDs – ROM(Read-Only Memory), PLA(Programmable Logic Array),
PAL(Programmable Array Logic), GAL(Generic Array Logic),
CPLD(Complex Programmable Logic Device), FPGA(FieldProgrammable Gate Array)
 Programming Technology
• Permanent Type(Nonvolatile) ;
 Fuse(normal on) - ‘CLOSE(intact)’ ‘OPEN(blown)’
 Mask programming - Mask ROM
 Antifuse(normal off) - just the opposite of a FUSE
• Nonpermanent Type ;
 SRAM bit driving + n-MOS Tr. (Volatile)
 Building Look-up Table using SRAM (Volatile)
- Logic inputs(SRAM addr.), Logic outputs(stored SRAM table data)
 MOS Tr. Switching Control using Floating Gate (Nonvolatile)
- EPROM, EEPROM
7
ROM(Read-Only Memory)

비휘발성

32 x 8 ROM 내부 논리도
2k x n크기의 ROM
- k-to-2k 의 Decoder
- n 개의 OR Gate
8
ROM(Read-Only Memory)

조합논리의 구현
– k개의 입력을 갖는 디코더 : 2k개
의 minterm 발생
– ROM : 디코더 + OR 게이트
A7(I4 I3 I2 I1 I0 )= m(0, 2,3, …,29)
9
ROM(Read-Only Memory)

앞의 진리표에 따른 ROM Programming
10
ROM(Read-Only Memory)

조합논리의 구현 응용
–복잡한 조합논리 구현 : 보통의 입력과 대량의 출력
–코드변환, 산술연산

설계 <-- 진리표 (논리도 불필요)

예 : 3비트 2진수의 제곱을 구하는 회로
11
3가지 PLDs의 기본 배열
12
PLA(Programmable Logic Array)

PROM과 유사
프로그램 표
- 차이점 : Programmable AND Array

3입력, 4곱항, 2출력의 PLA
출력을 반전
X 1 = X’
F1 = AB’ + AC + A’BC’
F2 = (AC + BC)’
13
PLA(Programmable Logic Array)

PLA의 크기
- 입력의 개수, 곱 항의 개수, 출력의 개수
- 예 : 16 입력, 48 곱의 항, 8 출력

PLA를 이용한 설계 <--프로그램 표

마스크 프로그램과 현장 프로그램(FPLA)이 가능

설계 시 유의 사항 :
- 곱의 항 개수 최소화
- 불필요한 변수 제거
14
PLA(Programmable Logic Array)

예제 : 다음의 부울 함수 설계
– F1(A, B, C) = m(0, 1, 2, 4)
– F2(A, B, C) = m(0, 5, 6, 7)

간략화
– F1 = (AB + AC + BC)’
– F2 = AB + AC + A’B’C’
15
PAL*(Programmable Array Logic)
고정된 OR + 프로그
램 가능한 AND 배열
로 된 PLD

피드백 회로 :
순차회로 구성에 이용
프로그램이 쉽지만,
유연하지는 못함

OTP(One Time
Programmable)

*PAL(Advanced Micro Devices Inc.)
16
PAL(Programmable Array Logic)

예 : W(A, B, C, D) = m(2, 12, 13)
X(A, B, C, D) = m(7, 8, 9, 10, 11, 12, 13, 14, 15)
Y(A, B, C, D) = m(0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15)
Z(A, B, C, D) = m(1, 2, 8, 12, 13)
피드백
17
PAL(Programmable Array Logic)
 내부 연결도
피드백
18
GAL*(Generic Array Logic) or Universal PAL**
 대부분의 PAL/PLA소자는 OTP, 반면에 GAL/EPLD는
소거가 가능하고 다시 프로그램 할 수 있다.(일명 universal
PAL).
 대부분의 GAL은 입력이나 출력으로 지정 가능한 I/O
pin을 사용할 수 있다.(반면 PAL은 고정됨.)
 출력은 전기적으로 지울 수 있는 Cell에 기초한
프로그래밍 매트릭스에 따라서 조합논리나 레지스터
형태로 배열될 수 있다.(not Fuses).
 GAL Macrocell의 주요부분은 D-FF과 4:1 멀티플렉서로
구성된다.
*GAL(Lattice Semiconductor), **Universal PAL(Vantis Co.)
19
GAL or Universal PAL
GAL Device Numbering
 GAL 소자는 ‘22V10’등으로 명명된다. 여기서
22는 이용 가능한 총I/O핀 수이고 숫자 10은 최대
출력의 수 혹은 이용 가능한 macrocell의
수이다.(“V” stands for “variable” or “versatile”
architecture.)
 A GAL22V10는 10개 출력(MC)과 12(=22-10)개
입력 혹은 1개의 출력과 21개(=22-1)의 입력을
가질 수 있다.
20
GAL or Universal PAL
 Macrocell for a PALCE16V8 Universal PAL
Feedback
Input
Programmable SOP array
21
GAL or Universal PAL
 GAL22V10 OLMC(Output Logic Macrocell)
22
CPLD(Complex Programmable Logic Device) and FPGA

PLD의 장점 : 복잡한 논리회로를 하나의 IC로 구현 가능

보다 큰 규모의 복잡한 회로 : VLSI 이용

VLSI 설계방식
- 완전주문 맞춤(Full Custom Design) : 고집적, 고속, 고비용
- 표준 셀 설계(Standard Cell Design)
- 게이트 배열(Gate Array) : SOG, CMOS, BiCMOS, ECL, GaAs

CPLD와 FPGA
- 1,000에서 2,000,000 게이트의 Gate Array가 가능
- 프로그램 가능한 조합논리
- 사전에 제작된 FF내장
- 프로그램 가능한 연결 부분(입출력 등)
Embeded
- CPLD(빠른성능, 정확한 타이밍) vs FPGA(많은 FFs, 게이트 용량)
23
CPLD and FPGA
 Altera
MAX
7000CPLD
EEPROM의 부
유 게이트 기술


1FF + 기본 조합회로
EPM7128SLC84
-EPM7
: MAX7000
family
-
16 Logic Array blocks:
- LAB = 16 macrocells
- Macrocell =
3 상태 버퍼
128 : macrocells 수
S : in-system
programmable
-
-
LC84 : 84pins PLCC
24
CPLD and FPGA
 Altera MAX 7000CPLD Block Diagram
25
CPLD and FPGA
 Altera MAX 7000CPLD Macrocell
26
CPLD and FPGA
 Altera FLEX10K Block Diagram
- SRAM based technology(volatile), 66MHz, up to 200,000 gates, 0.22u 5-metal layers
- APEX series : 125MHz, up to 2,000,000 gates
27
CPLD and FPGA
 Altera FLEX10K Logic Element
28
CPLD and FPGA
논리모듈
 Actel ACT
I/O 모듈
3 FPGA
Gate Array와 유사
한 구조

기술 : 영
구적이면서 비휘발
성 프로그래밍
 Antifuse

OTP
크기가 작고 속도
가 빠름

29
CPLD and FPGA
 Actel
의 논리모듈
MUX에 의한 조합논리 구현
- 최대 8변수 함수
30
CPLD and FPGA

Xilinx XC4000 FPGA
- SRAM 기술 이용
- 프로그램 로드 기능(<-PROM)
- 프로그램 모드,
동작모드
31
CPLD and FPGA

SRAM 비트를 이용한 논리구현의 세가지 기법
하나의 SRAM cell
If (A,B,C)=(0,0,0)
1st SRAM cell의
내용이 선택 출력됨l
32
CPLD and FPGA

Xilinx의 연결 방식
- 선로 세그먼트(수평, 수직)
- 장거리 선로(long line)

Xilinx의 switch Matrix
33
CPLD and FPGA
Xilinx 논리회로 :
CLB와 IOB 내에 존
재

CLB(Configurable
Logic Block) 개략도

34
CPLD and FPGA
 Xilinx IOB(Input/Output Block) 구조
35
CPLD and FPGA
 FPGA Design Flow
Functional Simulation
Post-Layout Simulation
36
ASIC(Application Specific Integrated Circuit)
ASIC ?
특정 사용자를 위하여 특정 용도로 설계, 제작되는 고객
사양의 집적 회로 (IC) 로 시스템이나 설계전문업체가 개
발하여 반도체 제조업체가 칩으로 생산하여 특정제품에
사용됨.
광의의 정의로써 비메모리 분야의 모든 IC를 ASIC라 통
칭하기도 함. 주문 제작된 IC가 여러 사용자에 의해 사용
되는 경우에는 ASSP (Application Specific Standard
Product ) 로 구분.
37
ASIC
ASIC(광의)
ASCP(협의)
Full
Custom
ASSP
Programmable
IC
PLD/CPLD
Lattice
Semicustom
FPGA
통신용 AV용
IC
IC
Programmable
Xilinx & IBM
ASIC: XBlue
ispXP
Standard cell
Gate array
ASCP(Application Specific Custom Product)
ASSP(Application Specific Standard Product)
38
ASIC(Application Specific Integrated Circuit)
 ASIC Design Flow
Functional Simulation
Post-Layout Simulation
39
ASIC
 ASIC 현황
 우리 나라의 반도체 메모리 부분은 총 수출의 6.9%
 세계 반도체 시장의 비메모리 산업부문은 79%
나라
미국
일본 한국(수입의존도)
비메모리생산비중
91%
78%
12%(90%)
 정보통신기기의 ASIC의대부분 수입(국산화율)
- 휴대폰 53%
- 디지털 TV 30%
* 자료출처 : ADA(ASIC Design-company Association)
40
EDA(Electronics Design Automation) Tool
Vendors
Tools
Altera
Mentor Graphics
OrCAD
QuickLogic
Summit Design
Synopsys
Viewlogic Systems
Xilinx
Cadence
Avanti
HP
ETRI
Seodu Logic
MAX PLUS II / Quartus
Leonardo, IC Graph
OrCAD Capture
Quickworks
Visual HDL, VHDL
FPGA Express
ViewPLD
Foundation series , Alliance Series
SPW, Verilog-XL, Composer, Gate Ensemble
Hspice, Polaris-COM, Apollo, Compass
HPADS(MMIC Design)
LODECAP
MyCAD series
41
SUMMARY
 PLDs(Programmable Logic Devices)
- ROM, PLA, PAL, GAL, CPLD, FPGA
 ASIC
 EDA Tool
42