FPGA

17
Sistemi Elettronici Progr ammabili 3-1 FPGA Sistemi Elettronici Programmabili

description

FPGA. Sistemi Elettronici Programmabili. FPGA: Architettura. FPGA: Logic Element (Block). FPGA: LUT – Look Up Table (2 Ingressi). NOTA - PowerPoint PPT Presentation

Transcript of FPGA

Page 1: FPGA

Sistemi Elettronici Programmabili

3-1

FPGA

Sistemi Elettronici Programmabili

Page 2: FPGA

Sistemi Elettronici Programmabili

3-2

FPGA: Architettura

LE LE LE LE

LE LE LE LE

LE LE LE LE

LE LE LE LE

VRC

VRC

VRC

HRC

HRC

HRC

IO

IO

IO IO

IM IM IM

IM IM IM

IM IM IM

Page 3: FPGA

Sistemi Elettronici Programmabili

3-3

FPGA: Logic Element (Block)

CLR

IN[3:0]

Q

QSET

CLR

D

CLK

S

LUTOUT

Page 4: FPGA

Sistemi Elettronici Programmabili

3-4

FPGA: LUT – Look Up Table (2 Ingressi)IN[0] IN[1]

OUT

0 0

0 1

1 0

1 1

0

0

0

1

ADD[0] ADD[1] OUT

0

1

1

1

0

1

1

0

OUT

AND OR XOR

Memory Words1 Bit

Q

QSET

CLR

DCDI CDO

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

IN[1:0]

CLK

OUT

Page 5: FPGA

Sistemi Elettronici Programmabili

3-5

FPGA LUT 2 INGRESSI

NOTAL’esempio è una LUT a due ingressi e quattro bit

di memoria. In ogni cella di memoria si può inserire il valore di una funzione di 2 bit – OR, AND, NOR, NAND, XOR, …- in funzione degli ingressi. Al momento del funzionamento IN [0,1] sceglie la cella di memoria – i quattro FF D – corrispondenti alla funzione desiderata

Page 6: FPGA

Sistemi Elettronici Programmabili

3-6

FPGA: Programmazione

Q

QSET

CLR

DCDI CDO

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

IN[1:0]

CLK

OUT

CLK

CDI(AND)

CDI(OR)

CDI(XOR)

Page 7: FPGA

Sistemi Elettronici Programmabili

3-7

FPGA: Programmazione (2)

CLK

CDI

LUT LUT LUT

Page 8: FPGA

Sistemi Elettronici Programmabili

3-8

FPGA: LUT

CDI

IN[3:0]

Q

QSET

CLR

D

CLK

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

Q SET

CLR

D

Q

Q SET

CLR

D

Q

Q SET

CLR

D

Q

Q SET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

Q SET

CLR

D

Q

Q SET

CLR

D

Q

Q SET

CLR

D

Q

Q SET

CLR

DCDO

OUT

Page 9: FPGA

Sistemi Elettronici Programmabili

3-9

FPGA: Routing (VRC)

LE LE

IN0

IN1

IN2

IN3

OUT

Page 10: FPGA

Sistemi Elettronici Programmabili

3-10

FPGA: Routing (IM)

Page 11: FPGA

Sistemi Elettronici Programmabili

3-11

FPGA: Programmazione (2)

CDI LUT LUT LUT LUT CDO

Q

QSET

CLR

DCDI

CLK

CDO

Page 12: FPGA

Sistemi Elettronici Programmabili

3-12

FPGA: Market

SRAM Based

Fuse Based

Page 13: FPGA

Sistemi Elettronici Programmabili

3-13

FPGA: Logic Element (Block) - ALTERA

Page 14: FPGA

Sistemi Elettronici Programmabili

3-14

ALTERA – Stratix: Architecture

Page 15: FPGA

Sistemi Elettronici Programmabili

3-15

Stratix: Logic Array Blocks

• 10 LEs per Logic Array Block (LAB)• Local Interconnect Drives LE Inputs• LAB-Wide Control Signals

LE14

4

4

4

4

4

4

4

4

4

Control Signals

LocalInterconnect

LE2

LE3

LE4

LE5

LE6

LE7

LE8

LE9

LE10

LogicElement

Logic ArrayBlock

Page 16: FPGA

Sistemi Elettronici Programmabili

3-16

FPGA: Progettazione

DescrizioneHDL Simulazione

IP

Library

SM

BlockDiagram

Sintesi

Place & Route

Simulazione

Simulazione

HardwareModel

HardwareModel

Configuration

Page 17: FPGA

Sistemi Elettronici Programmabili

3-17

FPGA: Programmazione (3)

FPGA

FPGA Configuration Device

AdapterJTAG

DataCTRL

FPGA

μC RAMDecoder

DataADD