1 introducció als dispositius programables (fpgas) rosa m. badia

37
1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

Upload: patricia-padilla-cardenas

Post on 24-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

1

Introducció als dispositius programables (FPGAs)

Rosa M. Badia

Page 2: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

2

Index

1. Introducció2. Antecedents3. Tecnologies de programació4. Exemples de dispositius

comercials

Page 3: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

3

Bibliografia

• Architecture of FPGAs and CPLDs: A tutorial, Stephen Brown and Jonathan Rose

Page 4: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

4

1. Introducció

• FPGA: Field Programmable Gate Array

• Són dispositius en els que la seva funcionalitat no està totalment definida en la fabricació: són programables

Page 5: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

5

1. Introducció

• Avantatges principals:– Fabricació instantánea– Costos fixes baixos– Facilitat per fer canvis en el disseny

Page 6: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

6

2. Antecedents

• PROMs: es poden utilitzar els bits d’adreça com a entrades del circuit i els bits de dades com a sortides

• Inconvenient: normalment les funcions lògiques no necessiten tota la PROM (solució ineficient)

Page 7: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

7

2. Antecedents

• PLAs (Programmable Logic Arrays): pla d’ANDs i pla d’ORs programable

• Primera implementació de Philips 1970

• Degut a que els circuits inicials eren lents, apareixen les PALs (Programmable Array Logic)

Page 8: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

8

2. Antecedents: PAL

• Pla d´ANDs programable

• Pla d’ORs fixe• Afexeigen un flip-

flop a la sortida de les ORs de manera que es poden configurar com a circuits seqüencials

Page 9: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

9

2. Antecedents

• SPLD (Simple Programmable Logic Devices): agrupa les PALs, PLAs i altres dispositius semblants

• CPLDs (Complex PLDs): agrupació de multiples SPLDs en un xip amb interconnexió programable

• Per extensió els CPLDs també són considerats FPGAs

Page 10: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

10

2. Antecedents

• Field-Programmable Logic Array: consisteix en una matriu de elements (blocs lògics) i elements d’interconnexió

• S’ha de configurar tant els elements lògics com els d’interconnexió

Page 11: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

11

2. Antecedents: Estructura d’un FPGA

• Blocs lògics configurables

• Interconnexió configurable

• Blocs d’entrada sortida configurables

Page 12: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

12

3. Tecnologies de programació

• Fusibles• Fusibles amb tecnologia

EPROM/EEPROM• Connexions SRAM• Antifusibles

Page 13: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

13

3. Tecnologies de programació

• En programació s’aplica un corrent determinat als transistors que han de ser implementats

• SPLDs, CPLDs

Page 14: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

14

3. Tecnologies de programació

• Connexions controlades per bits SRAM

• FPGAs

Page 15: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

15

3. Tecnologies de programació

• Originalment són circuits oberts• Esdevenen una resistència petita en ser

programats • FPGAs• Actel Antifuse (PLICE): bocata de dos nivells de

material conductor i un aillant. El material aillant en ser programat passa a ser conductor

Page 16: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

16

3. Tecnologies de programació

Page 17: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

17

4. Exemples de dispositius CPLDs

• Altera MAX 7000– Array de blocs logics: Logic Array Blocs

(LABs)– Interconnexió programable:

Programmable Interconnect Array (PIA)– El PIA pot connectar qualsevol parell

de LABs– Tecnologia EPROM o EEPROM

Page 18: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

18

4. Exemples de dispositius CPLDs

Arquitectura general de l’Altera MAX 7000

Page 19: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

19

4. Exemples de dispositius CPLDs

• Estructura del LAB:– Cada LAB té 16 macrocells– Cada macrocell té un conjunt de

termes AND connectats a una OR i un flip-flop

– El nombre d’entrades de l’OR és variable; fins a 5 entrades provinents de la mateixa macrocell i fins a 15 d’altres macrocells del mateix LAB

Page 20: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

20

4. Exemples de dispositius CPLDs

LAB de l’Altera MAX 7000

Page 21: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

21

4. Exemples de dispositius CPLDs

Macrocell de l’Altera MAX 7000

Page 22: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

22

4. Exemples de dispositius CPLDs

• Cypress FLASH370– Tecnologia EPROM FLASH– Ofereix més pins d’E/S que altres xips

equivalents– Arquitectura típica de CPLD amb

diversos blocs tipus PAL connectats amb una PIM (Programmable Interconnect Matrix)

– Cada bloc té un pla d’ANDs, pla d’Ors i PT allocator

Page 23: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

23

4. Exemples de dispositius CPLDs

Arquitectura del Cypress FLASH370

Page 24: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

24

4. Exemples de dispositius CPLDs

• Altera FLASHlogic– Programable in-system– Cada element lògic (CFB) pot ser

configurat con una PAL de 24 entrades i 10 sortides o com una SRAM de 128 posicions de 10 bits

– Tecnologia: cel.les SRAM que són programades per memoria EPROM/EEPROM

Page 25: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

25

4. Exemples de dispositius CPLDs

Altera FLASHlogic

Page 26: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

26

5. Exemples de dispositius FPGAs

• Xilinx XC 4000– Matriu de CLBs amb connexions

programables horitzontals i verticals– CLB basat en taules LUT (look-up tables)– LUT: memòria d’un bit. Una LUT de k bits

pot realitzar qualsevol funció de k entrades– La combinació de les 3 LUTs pot

implementar 2 funcions de 4 entrades qualsevols, algunes funcions de 9 entrades …

Page 27: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

27

5. Exemples de dispositius FPGAs

CLB del Xilinx XC4000

Page 28: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

28

5. Exemples de dispositius FPGAs

• Interconnexió dels XC4000– Canals verticals i horitzontals– Cada canal té segments curts (per

connectar d’un CLB al següent), segments més llargs (per connectar cada 2 CLBs) i segments molt llargs que atravesen tot el xip

Page 29: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

29

5. Exemples de dispositius FPGAs

Connexions del Xilinx XC4000

Page 30: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

30

5. Exemples de dispositius FPGAs

• Altera FLEX 8000– Tres nivells de jerarquia. El nivell més

baix basat en taules LUT– Tecnologia SRAM– La cel.la bàsica (LE) conté una LUT de

4 bits, un flip-flop, un circuit específic per accelerar el carry i lògica per encadenar termes producte

Page 31: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

31

5. Exemples de dispositius FPGAs

Arquitectura de l’Altera FLEX 8000

Page 32: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

32

5. Exemples de dispositius FPGAs

Element Logic (LE) de l’Altera FLEX 8000

Page 33: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

33

5. Exemples de dispositius FPGAs

• LAB Altera FLEX 8000– Composat per 8 LEs i interconnexió

local – Cada LE es pot connectar amb

qualsevol altre del mateix LAB– La interconnexió local es connecta a

la interconnexió global (Fast-track)

Page 34: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

34

5. Exemples de dispositius FPGAs

LAB de l’Altera FLEX 8000

Page 35: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

35

5. Exemples de dispositius FPGAs

• FPGAs d’Actel– Basats en anti-fusibles– Files de moltes cel.les bàsiques– Cel.la bàsica molt senzilla basada en

multiplexors– Interconnexió horitzontal

Page 36: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

36

5. Exemples de dispositius FPGAs

Estructura dels FPGAs d’Actel

Page 37: 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia

37

5. Exemples de dispositius FPGAs

Modul lògic Act 3 d’Actel