한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: ram, rom, fifo, dual port...

22
한국기술교육대학교 장영조

Upload: others

Post on 25-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

한국기술교육대학교장영조

Page 2: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

한국기술교육대학교 전기전자통신공학부 2

본 슬라이드의 내용은 http://www.altera.com을 참조하였습니다.

Page 3: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

1. FPGA 개념2. FPGA 구조3. FPGA 컨피겨레이션4. FPGA 메모리 설계

한국기술교육대학교 전기전자통신공학부 3

Page 4: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

FPGA (Field Programmable Gate Array) ? 사용자가 현장에서 직접 프로그램 가능한 소자 기본적인 논리게이트, 플립플롭, 메모리 등을 구현 가능 수십개~수백만개의 소자를 포함하는 규모 개발기간이 짧고 회로동작을 바로 검증할 수 있어 개발 초기에 사용하

거나 소규모 다품종 제품에 사용

FPGA 구조 논리블록 연결자원(interconnection resource) 입출력 회로 프로그래밍 스위치 : 전기적인 Fuse 게이트수, 입출력수, 핀수, 동작속도 등에

따라 성능 및 가격 차이

한국기술교육대학교 전기전자통신공학부 4

Page 5: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

한국기술교육대학교 전기전자통신공학부 5

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

Page 6: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

프로그래밍 : 전기적 fuse인 연결스위치에 회로정보(configuration 정보)를 기억하는 과정 칩의 면적, 지연시간, 성능, 집적도, 표준공정 사용, 가격등에 영향 프로그래밍 정보의 불휘발성(non-volatile), 소자의 재프로그래밍, ISP

(In System Programmability) PCB 기판 설계에 영향

SRAM 프로그래밍 방식 SRAM (Static RAM)에 정보 저장 휘발성(volatile) 초기화를 위한 정보 저장 매체가 따로 필요 재프로그래밍및 ISP 가능, 표준 CMOS공정 사용, 전원소모가 크다, 초기제품개발, 교육용으로 사용

routing wire

RAMcell

routing wire

pass transistor

RAMcell

routing wire

routing wire

transmission gate

routing wires

multiplexer

to logic cell input

RAMcell

RAMcell

MUX

한국기술교육대학교 전기전자통신공학부 6

Page 7: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

Anti-fuse 방식 3개층으로 구성 n+ 확산층 : 반도체 유전체층 : 절연체 Poly-Si 층 : 도체

18V-5mA 전류로 유전체에 열을 가하여 전기적 fuse를 녹여서프로그래밍

anti-fuse를 위한 별도의 마스크 제조공정 필요 불휘발성 재프로그래밍 불가 성능 우수 최종제품 용도

Actel 사의 안티퓨즈 프로그래밍 구조

단면층 평면층(마스크)

7한국기술교육대학교 전기전자통신공학부

Page 8: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

EPROM (EEPROM)/Flash 방식 select gate와 floating gate로 구성 프로그래밍된 상태 : floating 게이트가 전하를 포획하여 select 게이트

가 NMOSFET로 동작하는 것을 불가하게 함 – 연결이 끊어짐 비 표준공정 – 가격 상승, 소규모 소자 불휘발성 EPROM : 자외선 조사로 재프로그래밍 가능, ISP 불가 EEPROM : 전기적 재프로그래밍 가능, ISP 가능 컨피겨레이션 ROM으로 많이 사용

단면층 회로연결

n+ n+

field oxide

gate oxide1st level poly Si(floating gate)

2nd level poly Si(select gate)

p-substrate

VS +VD

+VG

select gate

floating gate

bit line

word line

pull-upresistor

EPROMtransistor

gnd

+5V

8한국기술교육대학교 전기전자통신공학부

Page 9: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

설계 입력 HDL, EDIF, Schematic

논리최적화 일반적인 논리합성과 최적화 과정

Technology 매핑 FPGA의 논리 구조에 적합한 회로 생성, FPGA 소자

회사의 CAD 툴 사용

배치및배선 (P&R) FPGA 칩 내부의 특정 위치에 회로를 배치하고 연결 P&R결과는 회로의 전기적특성에 영향을 미침

설계검증 타이밍 시뮬레이터를 통한 동작 검증

프로그래밍(컨피겨레이션) 전기적 프로그래밍 파일 (JEDEC) 형태로 저장 다운로드 케이블을 통하여 FPGA를 직접 프로그래

밍하거나 EPROM writer로 프로그래밍

Design database

Initial design Entry

Logic optimization

Technologymapping

Placement &Routing

Design verification

Configuration &Downloading

한국기술교육대학교 전기전자통신공학부 9

Page 10: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

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

Page 11: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

Feature EP4CE6 EP4CE30 EP4CE40 EP4CE75 EP4CE115

Logic Elements (LEs) 6,272 28,848 39,600 75,408 114,480

Embedded memory (Kbits) 270 594 1,134 2,745 3,888

Embedded 18x18 multipliers 15 66 116 200 266

General purpose PLLs 2 4 4 4 4

Max. user I/O 179 532 532 426 528

한국기술교육대학교 전기전자통신공학부 11

Page 12: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

Package Type

FEUM

FineLine BGA(FBGA)Enhanced Thin Quad Flat Pack (EQFP)Ultra FineLine BGA (UBGA)Micro FineLine BGA (MBGA)

Speed Grade

6 (fastest),7,8,9

한국기술교육대학교 전기전자통신공학부 12

EP4C E 115 F 29 C 7 N

Operating Temperature

CIA

Commercial (Tj=0oC - 85oC)Industrial (Tj=-40oC - 100oC)Automotive (Tj=-40oC - 125oC)

Family Variant

E Enhanced logic/memory

Family Signature

EP4C Cyclone IV

Optional Suffix

NESL

Lead-free packagingEngineering sampleLow-voltage device

Package Code – FBGA

17192329

256 pins324 pins484 pins780 pins

Member Code

61015225575

115

6,272 LEs10,37215,40822,32055,85675,408114,480

Page 13: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

LE/LAB, Memory, Multiplier, IOE, pins,..

한국기술교육대학교 전기전자통신공학부 13

Page 14: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

일반적인 논리 구현 4 입력 LUT (LookUp Table) 구조 :

논리함수구현 프로그램 가능한 D 플립플롭 carry chain / register chain 연결 내부 및 외부 연결선

LE 사용모드 Normal 모드 : 일반적 논리회로, 디코딩 회로 연산 모드 : 가산기, 누산기, 비교기, 카운터

한국기술교육대학교 전기전자통신공학부 14

Page 15: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

1 LAB은 16개 LE (Logic Element)로 구성 16 비트 카운터, 가감산기, 디코더, 상태머신 등의 논리 구현에 적합

LAB control signal : global 신호 (클럭, 동기/비동기 리셋, 동기 로드 ..) LE carry chains Register chains LAB local interconnect 칩 내 행열 배치

한국기술교육대학교 전기전자통신공학부 15

Page 16: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

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

Page 17: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

Single Port Memory 예- 한개의 주소를 사용하여 read/write를 각각 실행

Simple Dual Port memory 예- 서로 다른 메모리 장소에 동시 read/write 실행 가능

한국기술교육대학교 전기전자통신공학부 17

Page 18: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

Shifter Register mode - DSP application such as FIR filter, PRNG, linear function, storage, image

한국기술교육대학교 전기전자통신공학부 18

Page 19: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

1 블록은 one 18x18 or two 9x9 곱셈기 구성- 곱셈기의 입력 비트수는 제한이 없으며- 쿼터스 툴이 승산기 블록을 종속(cascading) 연결- 비트 수가 커지면 곱셈 동작이 늦어진다.

쿼터스 툴에서 MegaWizard 함수를 호출하여 각 파라미터 설정으로 승산기 설계 EP4CE115 - 266개의 EMB 266개의 18x18 혹은 532개의 9x9 승산기 가능

한국기술교육대학교 전기전자통신공학부 19

Page 20: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

구조- 승산기 (multiplier stage)- 입력 레지스터 : 두개 입력에 대하여 각각 독립적으로 레지스터 사용 가능- 출력 레지스터

한국기술교육대학교 전기전자통신공학부 20

승산기 부호 표현

Data A Data BResultsigna

valuelogiclevel

signbvalue

logic level

unsigned 0 unsigned 0 unsigned

unsigned 0 signed 1 signed

signed 1 unsigned 0 signed

signed 1 signed 1 signed

Page 21: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

동작모드- 18 x 18 승산기 모드- 2개의 9x9 승산기 모드

한국기술교육대학교 전기전자통신공학부 21

Page 22: 한국기술교육대학교 장영조 · 2016-10-31 · 메모리구현: RAM, ROM, FIFO, dual port RAM 조합/순차회로구현: 곱셈기, vector scalar, 디지털필터, micro-controller등

입력, 출력, 양방향 입출력 양방향 I/O buffer 레지스터 : 입력, 2 출력,

2 출력인에이블 출력 형태 : 핀별 지정가능 저잡음, 고속 slew rate 개방 드레인 (open drain) 출력 PCI, 삼상(tri-state) 출력 programmable current strength

control – LVTTL, LVCMOS, ..

주변 제어신호 버스 : 글로벌 채널 사용 클럭, 클리어, 클럭 인에이블,

출력 인에이블

전용 클럭 입력 : 클럭 와이어 지연 감소 GCLKs

한국기술교육대학교 전기전자통신공학부 22