Presentation is loading. Please wait.

Presentation is loading. Please wait.

FPGA 설계 이 상 훈 경남대학교 전기전자공학부.

Similar presentations


Presentation on theme: "FPGA 설계 이 상 훈 경남대학교 전기전자공학부."— Presentation transcript:

1 FPGA 설계 이 상 훈 경남대학교 전기전자공학부

2 강좌목표 디지털 회로의 설계기법을 배우고 ALTERA사의 MAX+PLUS II TOOL을 활용하여 이들 회로들을 회로도 입력 방법과 VHDL Coding 방법으로 직접 설계하여 시뮬레이션을 통한 설계한 회로의 검증작업을 통해 FPGA 및 ASIC 칩에 대한 설계능력을 얻고자 한다.

3 평가방법 출석 : 20% 2. 중간고사 : 30% 3. 기말고사 : 30% 4. 과제물 : 20%

4 교재 및 참고문헌 전희종외 “디지털 디자인 CPLD 및 VHDL”, 인터비젼, 2003
Dueck, “Digital Design with CPLD Applications and VHDL”, Delmar, 2001. 빔 프로젝트 강의교재 “Altera MAX+PLUS II”, Free download, M. Morris Mano and Charles R. Kime, “Logic and Computer Design Fundamentals”, Prentice Hall, 2000. 이승호, 박용수, 박군종, 이주현 “Altera MAX+PLUS II를 사용한 디지털 논리회로 설계의 기초와 활용”, 복두출판사

5 강의순서 개요 Altera MAX+PLUS II Tool 조합논리회로 설계 디지털산술 및 산술회로 순차회로 개요 PLA 소개
카운터 설계 상태머신설계 논리 게이트 인터페이스 아날로그 및 디지털 인터페이스 회로 메모리 시스템

6 개요 용어설명 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

7 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(Field- Programmable 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

8 2k x n크기의 ROM - k-to-2k 의 Decoder - n 개의 OR Gate ROM(Read-Only Memory)
비휘발성 32 x 8 ROM 내부 논리도 2k x n크기의 ROM - k-to-2k 의 Decoder - n 개의 OR Gate

9 ROM(Read-Only Memory)
조합논리의 구현 k개의 입력을 갖는 디코더 : 2k개의 minterm 발생 ROM : 디코더 + OR 게이트 A7(I4 I3 I2 I1 I0 )= m(0, 2,3, …,29)

10 ROM(Read-Only Memory)
앞의 진리표에 따른 ROM Programming

11 ROM(Read-Only Memory)
조합논리의 구현 응용 복잡한 조합논리 구현 : 보통의 입력과 대량의 출력 코드변환, 산술연산 설계 <-- 진리표 (논리도 불필요) 예 : 3비트 2진수의 제곱을 구하는 회로

12 3가지 PLDs의 기본 배열

13 PLA(Programmable Logic Array)
PROM과 유사 - 차이점 : Programmable AND Array 3입력, 4곱항, 2출력의 PLA 프로그램 표 출력을 반전 X 1 = X’ F1 = AB’ + AC + A’BC’ F2 = (AC + BC)’

14 PLA(Programmable Logic Array)
- 입력의 개수, 곱 항의 개수, 출력의 개수 - 예 : 16 입력, 48 곱의 항, 8 출력 PLA를 이용한 설계 <--프로그램 표 마스크 프로그램과 현장 프로그램(FPLA)이 가능 설계 시 유의 사항 : - 곱의 항 개수 최소화 - 불필요한 변수 제거

15 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’

16 PAL*(Programmable Array Logic)
피드백 회로 : 순차회로 구성에 이용 고정된 OR + 프로그램 가능한 AND 배열로 된 PLD 프로그램이 쉽지만, 유연하지는 못함 OTP(One Time Programmable) *PAL(Advanced Micro Devices Inc.)

17 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) 피드백

18 PAL(Programmable Array Logic)
내부 연결도 피드백

19 대부분의 GAL은 입력이나 출력으로 지정 가능한 I/O pin을 사용할 수 있다.(반면 PAL은 고정됨.)
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.)

20 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)의 입력을 가질 수 있다.

21 Macrocell for a PALCE16V8 Universal PAL
GAL or Universal PAL Macrocell for a PALCE16V8 Universal PAL Feedback Input Programmable SOP array

22 GAL22V10 OLMC(Output Logic Macrocell)
GAL or Universal PAL GAL22V10 OLMC(Output Logic Macrocell)

23 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내장 - 프로그램 가능한 연결 부분(입출력 등) - CPLD(빠른성능, 정확한 타이밍) vs FPGA(많은 FFs, 게이트 용량) Embeded

24 CPLD and FPGA Altera MAX 7000CPLD EEPROM의 부유 게이트 기술 EPM7128SLC84
EPM7 : MAX7000 family 128 : macrocells 수 S : in-system programmable LC84 : 84pins PLCC 16 Logic Array blocks: - LAB = 16 macrocells - Macrocell = 1FF + 기본 조합회로 3 상태 버퍼

25 CPLD and FPGA Altera MAX 7000CPLD Block Diagram

26 CPLD and FPGA Altera MAX 7000CPLD Macrocell

27 Altera FLEX10K Block Diagram
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

28 CPLD and FPGA Altera FLEX10K Logic Element

29 Antifuse 기술 : 영구적이면서 비휘발성 프로그래밍
CPLD and FPGA 논리모듈 I/O 모듈 Actel ACT 3 FPGA Gate Array와 유사한 구조 Antifuse 기술 : 영구적이면서 비휘발성 프로그래밍 OTP 크기가 작고 속도가 빠름

30 CPLD and FPGA MUX에 의한 조합논리 구현 - 최대 8변수 함수 Actel 의 논리모듈

31 CPLD and FPGA Xilinx XC4000 FPGA - SRAM 기술 이용 - 프로그램 로드 기능(<-- PROM) - 프로그램 모드, 동작모드

32 SRAM 비트를 이용한 논리구현의 세가지 기법
CPLD and FPGA SRAM 비트를 이용한 논리구현의 세가지 기법 If (A,B,C)=(0,0,0) 1st SRAM cell의 내용이 선택 출력됨l 하나의 SRAM cell

33 CPLD and FPGA Xilinx의 연결 방식 - 선로 세그먼트(수평, 수직) - 장거리 선로(long line) Xilinx의 switch Matrix

34 Xilinx 논리회로 : CLB와 IOB 내에 존재
CPLD and FPGA Xilinx 논리회로 : CLB와 IOB 내에 존재 CLB(Configurable Logic Block) 개략도

35 CPLD and FPGA Xilinx IOB(Input/Output Block) 구조

36 CPLD and FPGA FPGA Design Flow Functional Simulation
Post-Layout Simulation

37 ASIC(Application Specific Integrated Circuit) ASIC ?
특정 사용자를 위하여 특정 용도로 설계, 제작되는 고객 사양의 집적 회로 (IC) 로 시스템이나 설계전문업체가 개발하여 반도체 제조업체가 칩으로 생산하여 특정제품에 사용됨. 광의의 정의로써 비메모리 분야의 모든 IC를 ASIC라 통칭하기도 함. 주문 제작된 IC가 여러 사용자에 의해 사용되는 경우에는 ASSP (Application Specific Standard Product ) 로 구분.               

38 Full Programmable Semi- 통신용 AV용 Custom IC custom IC IC PLD/CPLD FPGA
ASIC ASIC(광의) ASCP(협의) ASSP Full Programmable Semi 통신용 AV용 Custom IC custom IC IC PLD/CPLD FPGA Standard cell Gate array Programmable ASIC: XBlue Xilinx & IBM ispXP Lattice ASCP(Application Specific Custom Product) ASSP(Application Specific Standard Product)

39 ASIC(Application Specific Integrated Circuit)
ASIC Design Flow Functional Simulation Post-Layout Simulation

40 정보통신기기의 ASIC의대부분 수입(국산화율) - 휴대폰 53% - 디지털 TV 30%
우리 나라의 반도체 메모리 부분은 총 수출의 6.9% 세계 반도체 시장의 비메모리 산업부문은 79% 나라 미국 일본 한국(수입의존도) 비메모리생산비중 % % %(90%) 정보통신기기의 ASIC의대부분 수입(국산화율) - 휴대폰 53% - 디지털 TV 30% * 자료출처 : ADA(ASIC Design-company Association)

41 EDA(Electronics Design Automation) Tool
Vendors Tools Altera MAX PLUS II / Quartus Mentor Graphics Leonardo, IC Graph OrCAD OrCAD Capture QuickLogic Quickworks Summit Design Visual HDL, VHDL Synopsys FPGA Express Viewlogic Systems ViewPLD Xilinx Foundation series , Alliance Series Cadence SPW, Verilog-XL, Composer, Gate Ensemble Avanti Hspice, Polaris-COM, Apollo, Compass HP HPADS(MMIC Design) ETRI LODECAP Seodu Logic MyCAD series

42 PLDs(Programmable Logic Devices) - ROM, PLA, PAL, GAL, CPLD, FPGA ASIC
SUMMARY PLDs(Programmable Logic Devices) - ROM, PLA, PAL, GAL, CPLD, FPGA ASIC EDA Tool


Download ppt "FPGA 설계 이 상 훈 경남대학교 전기전자공학부."

Similar presentations


Ads by Google