1 / 42

FPGA 설계

FPGA 설계. 이 상 훈 경남대학교 전기전자공학부. 강좌목표. 디지털 회로의 설계기법을 배우고 ALTERA 사의 MAX+PLUS II TOOL 을 활용하여 이들 회로들을 회로도 입력 방법과 VHDL Coding 방법으로 직접 설계하여 시뮬레이션 을 통한 설계한 회로의 검증작업을 통해 FPGA 및 ASIC 칩에 대한 설계능력을 얻고자 한다 . 평가방법. 출석 : 20% 2. 중간고사 : 30% 3. 기말고사 : 30% 4. 과제물 : 20%. 교재 및 참고문헌.

benito
Download Presentation

FPGA 설계

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 강좌목표 • 디지털 회로의 설계기법을 배우고 ALTERA사의 MAX+PLUS II TOOL을 활용하여 이들 회로들을 회로도 입력 방법과 VHDLCoding방법으로 직접 설계하여 시뮬레이션을 통한 설계한 회로의 검증작업을 통해 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, www.altera.com • 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. 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) • PLA의 크기 - 입력의 개수, 곱 항의 개수, 출력의 개수 - 예 : 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*(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. GAL or Universal PAL • Macrocell for a PALCE16V8 Universal PAL Feedback Input Programmable SOP array

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

  38. 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 • ASIC 현황 • 우리 나라의 반도체 메모리 부분은 총 수출의 6.9% • 세계 반도체 시장의 비메모리 산업부문은 79% 나라 미국 일본 한국(수입의존도) 비메모리생산비중 91% 78% 12%(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. SUMMARY • PLDs(Programmable Logic Devices) - ROM, PLA, PAL, GAL, CPLD, FPGA • ASIC • EDA Tool

More Related