1 Introducció als dispositius programables (FPGAs) Rosa M. Badia.
-
Upload
patricia-padilla-cardenas -
Category
Documents
-
view
222 -
download
0
Transcript of 1 Introducció als dispositius programables (FPGAs) Rosa M. Badia.
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