1 Introducció als dispositius programables (FPGAs) Rosa M. Badia
2 Index 1.Introducció 2.Antecedents 3.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