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

Post on 24-Jan-2016

223 views 0 download

Tags:

transcript

1

Introducció als dispositius programables (FPGAs)

Rosa M. Badia

2

Index

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

comercials

3

Bibliografia

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

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

5

1. Introducció

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

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)

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)

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

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

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ó

11

2. Antecedents: Estructura d’un FPGA

• Blocs lògics configurables

• Interconnexió configurable

• Blocs d’entrada sortida configurables

12

3. Tecnologies de programació

• Fusibles• Fusibles amb tecnologia

EPROM/EEPROM• Connexions SRAM• Antifusibles

13

3. Tecnologies de programació

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

• SPLDs, CPLDs

14

3. Tecnologies de programació

• Connexions controlades per bits SRAM

• FPGAs

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

16

3. Tecnologies de programació

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

18

4. Exemples de dispositius CPLDs

Arquitectura general de l’Altera MAX 7000

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

20

4. Exemples de dispositius CPLDs

LAB de l’Altera MAX 7000

21

4. Exemples de dispositius CPLDs

Macrocell de l’Altera MAX 7000

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

23

4. Exemples de dispositius CPLDs

Arquitectura del Cypress FLASH370

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

25

4. Exemples de dispositius CPLDs

Altera FLASHlogic

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 …

27

5. Exemples de dispositius FPGAs

CLB del Xilinx XC4000

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

29

5. Exemples de dispositius FPGAs

Connexions del Xilinx XC4000

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

31

5. Exemples de dispositius FPGAs

Arquitectura de l’Altera FLEX 8000

32

5. Exemples de dispositius FPGAs

Element Logic (LE) de l’Altera FLEX 8000

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)

34

5. Exemples de dispositius FPGAs

LAB de l’Altera FLEX 8000

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

36

5. Exemples de dispositius FPGAs

Estructura dels FPGAs d’Actel

37

5. Exemples de dispositius FPGAs

Modul lògic Act 3 d’Actel