한국기술교육대학교장영조
본슬라이드의내용은 http://www.altera.com 을참조하였습니다. 한국기술교육대학교전기전자통신공학부 2
1. FPGA 개념 2. FPGA 구조 3. FPGA 컨피겨레이션 4. FPGA 메모리설계 한국기술교육대학교전기전자통신공학부 3
} FPGA (Field Programmable Gate Array)? 사용자가현장에서직접프로그램가능한소자 기본적인논리게이트, 플립플롭, 메모리등을구현가능 수십개 ~ 수백만개의소자를포함하는규모 개발기간이짧고회로동작을바로검증할수있어개발초기에사용하거나소규모다품종제품에사용 } FPGA 구조 논리블록 연결자원 (interconnection resource) 입출력회로 프로그래밍스위치 : 전기적인 Fuse 게이트수, 입출력수, 핀수, 동작속도등에따라성능및가격차이 한국기술교육대학교전기전자통신공학부 4
Types 회사계열게이트수 (1,000) 사용자입출력핀수 MAX 7000 0.6-5 36-164 Altera MAX 9000 6-12 159-216 EEPROM isplsi 8000 25-45 148-312 Lattice MACH 5 5-20 68-256 MAX 5000 0.6-3.7 16-67 EPROM Altera Classic EPLD 0.3-0.9 22-64 Xilinx XC9500/XL/XV 0.8-64 34-192 Flash Cypress Delta 39k 30-200 32-264 Anti-fuse SRAM Actel ACT 3 1.5-10 70-228 QuickLogic pasic 3 8-38 70-316 XC 4000E 2-85 64-448 Xilinx Virtex-5 30-330 400-1200 Spartan-3 50-5000 124-784 FLEX 10K (ACEX1K) 10-250 59-470 Altera APEX 20K 30-1500 128-808 Cyclone III 50-120 94-535 Stratix III 50-340 288-1104 한국기술교육대학교전기전자통신공학부 5
} 프로그래밍 : 전기적 fuse 인연결스위치에회로정보 (configuration 정보 ) 를기억하는과정 칩의면적, 지연시간, 성능, 집적도, 표준공정사용, 가격등에영향 프로그래밍정보의불휘발성 (non-olatile), 소자의재프로그래밍, ISP (In System Programmability) à PCB 기판설계에영향 } SRAM 프로그래밍방식 SRAM (Static RAM) 에정보저장 휘발성 (olatile) 초기화를위한정보저장매체가따로필요 재프로그래밍및 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 leel poly Si (floating gate) V S +V G 2 nd leel 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 erification Configuration & Dow nloading 한국기술교육대학교전기전자통신공학부 9
} ACEX 1K 계열 Altera 사의 SRAM 방식 FPGA 논리블록, 메모리, 입출력블록포함 EAB (Embedded Array Block) : 내부전용메모리, megafunction 구현 ü RAM 비트 : 12,288 ~ 49,152 Logic array : look-up table 논리블록, 논리회로, glue logic 구현 ü 게이트개수 : 10,000 ~ 100,000 ü LE (Logic Element) 개수 : 576 ~ 4,992 최대사용자입출력핀수 : 136 ~ 333 동작전원 ü 입출력다중전압지원 : 5.0V, 3.3.V, 2.5V ü 내부회로 2.5V 동작 ICR (In Circuit Reconfigurability) ü 외부 EPROM, 마이크로프로세서 ü JTAG (Joint Test Action Group) port 설계툴 ü ü ü Quartus II 설계입력형태 : EDIF, Verilog HDL, VHDL, 스키매틱, 그외 EDA 와의인터페이스지원 한국기술교육대학교전기전자통신공학부 10
Feature EP1K10 EP1K30 EP1K50 EP1K100 Typical gates (logic and RAM) 10,000 30,000 50,000 100,000 Max. system gates 56,000 119,000 199,000 257,000 Logic Elements (LEs) 576 1,728 2,880 4,992 Logic Array Blocks (LABs) Embedded Array Bocks (EABs) 72 218 360 624 3 6 10 12 Total RAM bits 12,288 24,576 40,960 49,152 Max. user I/O pins 136 171 249 333 1 LAB = 8 LEs 1 EAB = 4,096 bits RAM 한국기술교육대학교전기전자통신공학부 11
Deice 100-Pin TQFP 144-Pin TQFP 208-Pin PQFP 256-Pin FineLine BGA 484-Pin FIneLine BGA EPF1K10 66 92 120 136 136 EP1K30 102 147 171 171 EP1K50 102 147 186 249 EP1K100 147 186 333 L T Q R G B F 패키지형태이름 PLCC (plastic J-lead chip carrier) TQFP (plastic thin quad flat pack) PQFP (plastic quad flat pack) RQFP (power quad flat pack) PGA (ceramic pin grid array) BGA (ball grid array) FineLine BGA C I 동작온도 Commercial (0 o C - 70 o C) Industrial (-40 o C - 85 o C) Speed Grade -1, -2, -3,... 소자이름예 : EP1K100QC208-3 ACEX1K 계열, 100,000 게이트수, 208 핀의 PQFP 패키지동작온도 0 o C - 70 o C, speed grade -3 한국기술교육대학교전기전자통신공학부 12
사용자원량 성능 응용회로 LEs EABs 속도등급 -1-2 -3 단위 16 bit loadable counter 16 0 285 232 185 MHz 16 bit accumulator 16 0 285 232 185 MHz 16-to-1 multiplexer 10 0 3.5 4.5 6.6 ns 16 bit multiplier with 3 stage pipeline 592 0 156 131 93 MHz 256x16 RAM read cycle speed 0 1 278 196 143 MHz 256x16 RAM write cycle speed 0 1 185 143 111 MHz 한국기술교육대학교전기전자통신공학부 13
LAB (Logic Array Block) : 행과열의형태로배열배치 EAB (Embedded Array Bock) : 행단위마다 1 개씩중앙열에배치 IOE (I/O Element) : 칩바깥쪽에배치 Row/Column Interconnect : LAB, EAB, IOE 의연결 한국기술교육대학교전기전자통신공학부 14
1EAB = 4,096 bits memory 내부입출력레지스터포함 입출력비트수가변 주소선가변 메모리구현 : RAM, ROM, FIFO, dual port RAM 조합 / 순차회로구현 : 곱셈기, ector scalar, 디지털필터, micro-controller 등 쿼터스툴에서 MegaWizard 함수를호출하여각파라미터설정으로메모리배열을설계 메모리배열구조예 한국기술교육대학교전기전자통신공학부 15
1 LAB 은약 96 개정도의사용가능한게이트에해당 : 8 비트카운터, 가감산기, 디코더, 상태머신등의논리구현에적합 8 개 LE (Logic Element) LAB control signal : global 신호 ( 클럭, 리셋,..) carry and cascade chain LAB 내부 (local) 연결배선 칩내행열배치 한국기술교육대학교전기전자통신공학부 16
일반적인논리구현 4 입력 LUT (LookUp Table) 구조 : 논리함수구현 프로그램가능한 D 플립플롭 carry chain, cascade chain 내부및외부연결선 LE 사용모드 Normal 모드 : 일반적논리회로, 디코딩회로 연산모드 : 가산기, 누산기, 비교기 업 / 다운카운터모드 : 동기형로드, 업 / 다운, 비동기형클리어 클리어카운터모드 : 동기형로드및클리어 한국기술교육대학교전기전자통신공학부 17
입력, 출력, 양방향입출력 양방향 I/O buffer, register 출력형태 : 핀별지정가능 저잡음, 고속 slew rate 개방드레인 (open drain) 출력 삼상 (tri-state) 출력 주변제어신호버스 : 글로벌채널사용 클럭, 클리어, 클럭인에이블, 출력인에이블 2 개의전용클럭입력 : 클럭와이어지연감소 GCLK1, GCLK2 한국기술교육대학교전기전자통신공학부 18