한국기술교육대학교 장영조
본슬라이드의내용은 http://www.altera.com 을참조하였습니다. 한국기술교육대학교전기전자통신공학부 2
1. FPGA 개념 2. FPGA 구조 3. FPGA 컨피겨레이션 4. FPGA 메모리설계 한국기술교육대학교전기전자통신공학부 3
FPGA (Field Programmable Gate Array)? 사용자가현장에서직접프로그램가능한소자 기본적인논리게이트, 플립플롭, 메모리등을구현가능 수십개 ~ 수백만개의소자를포함하는규모 개발기간이짧고회로동작을바로검증할수있어개발초기에사용하거나소규모다품종제품에사용 FPGA 구조 논리블록 연결자원 (interconnection resource) 입출력회로 프로그래밍스위치 : 전기적인 Fuse 게이트수, 입출력수, 핀수, 동작속도등에따라성능및가격차이 한국기술교육대학교전기전자통신공학부 4
SRAM 방식 Altera - Cyclone, Arria, Stratix Xilinx - Spartan, Artix, Kintex, Virtex Lattice ice40 Anti fuse 방식 Microsemi(Actel) - Axcelerator, SX-A, ex, MX EEPROM/Flash 방식 Altera MAX10 Lattice ispmach, MachXO3, LatticeXP2 Xilinx CoolRunner, XC9500XL 한국기술교육대학교전기전자통신공학부 5
프로그래밍 : 전기적 fuse 인연결스위치에회로정보 (configuration 정보 ) 를기억하는과정 칩의면적, 지연시간, 성능, 집적도, 표준공정사용, 가격등에영향 프로그래밍정보의불휘발성 (non-volatile), 소자의재프로그래밍, ISP (In System Programmability) PCB 기판설계에영향 SRAM 프로그래밍방식 SRAM (Static RAM) 에정보저장 휘발성 (volatile) 초기화를위한정보저장매체가따로필요 재프로그래밍및 ISP 가능, 표준 CMOS 공정사용, 전원소모가크다, 초기제품개발, 교육용으로사용 routing wire RAM cell routing wire pass transistor routing wire RAM cell transmission gate routing wire RAM cell RAM cell multiplexer routing wires MUX to logic cell input 한국기술교육대학교전기전자통신공학부 6
Anti-fuse 방식 3 개층으로구성 n+ 확산층 : 반도체 유전체층 : 절연체 Poly-Si 층 : 도체 18V-5mA 전류로유전체에열을가하여전기적 fuse 를녹여서프로그래밍 anti-fuse 를위한별도의마스크제조공정필요 불휘발성 재프로그래밍불가 성능우수 최종제품용도 단면층평면층 ( 마스크 ) Actel 사의안티퓨즈프로그래밍구조 한국기술교육대학교전기전자통신공학부 7
EPROM (EEPROM)/Flash 방식 select gate 와 floating gate 로구성 프로그래밍된상태 : floating 게이트가전하를포획하여 select 게이트가 NMOSFET 로동작하는것을불가하게함 연결이끊어짐 비표준공정 가격상승, 소규모소자 불휘발성 EPROM : 자외선조사로재프로그래밍가능, ISP 불가 EEPROM : 전기적재프로그래밍가능, ISP 가능 컨피겨레이션 ROM 으로많이사용 1 st level poly Si (floating gate) V S +V G 2 nd level poly Si (select gate) gate oxide +V D bit line select gate +5V pull-up resistor field oxide n+ n+ word line floating gate EPROM transistor 단면층 p-substrate 회로연결 gnd 한국기술교육대학교전기전자통신공학부 8
설계입력 HDL, EDIF, Schematic 논리최적화 일반적인논리합성과최적화과정 Technology 매핑 FPGA 의논리구조에적합한회로생성, FPGA 소자회사의 CAD 툴사용 배치및배선 (P&R) FPGA 칩내부의특정위치에회로를배치하고연결 P&R 결과는회로의전기적특성에영향을미침 설계검증 타이밍시뮬레이터를통한동작검증 프로그래밍 ( 컨피겨레이션 ) 전기적프로그래밍파일 (JEDEC) 형태로저장 다운로드케이블을통하여 FPGA 를직접프로그래밍하거나 EPROM writer 로프로그래밍 Initial design Entry Design database Logic optimization Technology mapping Placement & Routing Design verification Configuration & Dow nloading 한국기술교육대학교전기전자통신공학부 9
Cyclone IV 계열 Altera 사의 SRAM 방식 FPGA 저비용, 저전력용 논리블록, 메모리, 입출력블록포함 EAB (Embedded Array Block) : 내부전용메모리, megafunction 구현 RAM 비트 : up to 6.3Mb Logic array : look-up table 논리블록, 논리회로, glue logic 구현 LE (Logic Elements) 개수 : 6K ~ 150K Embedded 18x18 multipliers : up to 360 General purpose PLLs : up to 4 최대사용자입출력핀수 : up to 532 I/O : LVTTL, LVCMOS, PCI, PCI-X, LVDS, SSTL,.. ICR (In Circuit Reconfigurability) 외부 EPROM JTAG (Joint Test Action Group) port 설계툴 Quartus II 설계입력형태 : EDIF, Verilog HDL, VHDL, 스키매틱, 그외 EDA와의인터페이스지원 한국기술교육대학교전기전자통신공학부 10
Feature EP4CE6 EP4CE30 EP4CE40 EP4CE75 EP4CE115 Logic Elements (LEs) Embedded memory (Kbits) Embedded 18x18 multipliers General purpose PLLs 6,272 28,848 39,600 75,408 114,480 270 594 1,134 2,745 3,888 15 66 116 200 266 2 4 4 4 4 Max. user I/O 179 532 532 426 528 한국기술교육대학교전기전자통신공학부 11
Family Signature EP4C Cyclone IV Family Variant E Enhanced logic/memory C I A Operating Temperature Commercial (T j =0 o C - 85 o C) Industrial (T j =-40 o C - 100 o C) Automotive (T j =-40 o C - 125 o C) Speed Grade 6 (fastest),7,8,9 6 10 15 22 55 75 115 EP4C E 115 F 29 C 7 N Member Code 6,272 LEs 10,372 15,408 22,320 55,856 75,408 114,480 F E U M Package Type FineLine BGA(FBGA) Enhanced Thin Quad Flat Pack (EQFP) Ultra FineLine BGA (UBGA) Micro FineLine BGA (MBGA) 17 19 23 29 N ES L Package Code FBGA 256 pins 324 pins 484 pins 780 pins Optional Suffix Lead-free packaging Engineering sample Low-voltage device 한국기술교육대학교전기전자통신공학부 12
LE/LAB, Memory, Multiplier, IOE, pins,.. 한국기술교육대학교전기전자통신공학부 13
일반적인논리구현 4 입력 LUT (LookUp Table) 구조 : 논리함수구현 프로그램가능한 D 플립플롭 carry chain / register chain 연결 내부및외부연결선 LE 사용모드 Normal 모드 : 일반적논리회로, 디코딩회로 연산모드 : 가산기, 누산기, 비교기, 카운터 한국기술교육대학교전기전자통신공학부 14
1 LAB 은 16 개 LE (Logic Element) 로구성 16 비트카운터, 가감산기, 디코더, 상태머신등의논리구현에적합 LAB control signal : global 신호 ( 클럭, 동기 / 비동기리셋, 동기로드..) LE carry chains Register chains LAB local interconnect 칩내행열배치 한국기술교육대학교전기전자통신공학부 15
M9K block = 8,192 bits memory - 9,126 bits per block including parity 내부입출력레지스터포함입출력비트수가변주소선가변메모리구현 : RAM, ROM, FIFO, dual port RAM 조합 / 순차회로구현 : 곱셈기, vector scalar, 디지털필터, micro-controller 등쿼터스툴에서 MegaWizard 함수를호출하여각파라미터설정으로메모리배열설계 M9K 의메모리배열구조 - 8192x1, 4096x2, 2048x4, - 1024x8, 1024x9, 512x16, 512x18, 256x32, 256x36 한국기술교육대학교전기전자통신공학부 16
Single Port Memory 예 - 한개의주소를사용하여 read/write 를각각실행 Simple Dual Port memory 예 - 서로다른메모리장소에동시 read/write 실행가능 한국기술교육대학교전기전자통신공학부 17
Shifter Register mode - DSP application such as FIR filter, PRNG, linear function, storage, image 한국기술교육대학교전기전자통신공학부 18
1 블록은 one 18x18 or two 9x9 곱셈기구성 - 곱셈기의입력비트수는제한이없으며 - 쿼터스툴이승산기블록을종속 (cascading) 연결 - 비트수가커지면곱셈동작이늦어진다. 쿼터스툴에서 MegaWizard 함수를호출하여각파라미터설정으로승산기설계 EP4CE115-266개의 EMB 266개의 18x18 혹은 532개의 9x9 승산기가능 한국기술교육대학교전기전자통신공학부 19
구조 - 승산기 (multiplier stage) - 입력레지스터 : 두개입력에대하여각각독립적으로레지스터사용가능 - 출력레지스터 Data A signa value 승산기부호표현 logic level signb value Data B logic level Result unsigned 0 unsigned 0 unsigned unsigned 0 signed 1 signed signed 1 unsigned 0 signed signed 1 signed 1 signed 한국기술교육대학교전기전자통신공학부 20
동작모드 - 18 x 18 승산기모드 - 2 개의 9x9 승산기모드 한국기술교육대학교전기전자통신공학부 21
입력, 출력, 양방향입출력 양방향 I/O buffer 레지스터 : 입력, 2 출력, 2 출력인에이블 출력형태 : 핀별지정가능 저잡음, 고속 slew rate 개방드레인 (open drain) 출력 PCI, 삼상 (tri-state) 출력 programmable current strength control LVTTL, LVCMOS,.. 주변제어신호버스 : 글로벌채널사용 클럭, 클리어, 클럭인에이블, 출력인에이블 전용클럭입력 : 클럭와이어지연감소 GCLKs 한국기술교육대학교전기전자통신공학부 22