tehnologia fpga
Transcript of tehnologia fpga
-
7/28/2019 tehnologia fpga
1/8
Introducere in istoria FPGA
FPGAurile ( Field Programmable Gate Array Tablouri de Porti
Programabile pe Campuri ), asa cum sunt referite in literatura de specialitate de cele
mai multe ori, sunt un tip de unitati (logice) programabile. Unitatile programabile sunto clasa de chip-uri de interes general care pot fi configurate pentru o mare varietate de
aplicatii.
Primele unitati programabile care au confirmat au fost PROM - urile
( Programmable Read-Only MemoryMemorii Programabile cu Acces Doar-
pentru-Citire ). PROMurile programabile o singura data sunt de doua tipuri :
1. Mask-Programmable Chipcare sunt programate doar de producator2. Field-Programmable Chipcare sunt programate de utilizatorul final
Field-Programmable Chip sunt impartite in alte doua tipuri:
1. Eraseable Programable Read-Only Memory (EPROM) - ele pot fi sterse sireprogramate o singura data
2. Electrically Eraseable Programmable Read-Only Memory (EEPROM)pot fide asemenea sterese si reprogramate prin procedee electrice speciale, avand
avantajul ca aceste actiuni de schimbare a continutului lor pot fi realizate de
mai multe ori.
Un pas important in acest domeniu a fost facut la aparitia PLD
urilor( Programmable Logic DeviceUnitati Logice Programabile ) Aceste unitati
(dispozitive) au fost construite cu scopul de a implementa circuite logice. PLD urile
includeau un sir de porti SI conectate la un sir de porti SAU. PALurile
( Programmable Array Logic Tablouri Logice Programabile ) un tip de PLD des
folosite constau dintr-un plan SIprogramabil urmat de un plan SAU fixat. PAL urile
se gasesc in ambele variante (Mask si Field). PAL urile au fost construite pentru
circuite logice mici.
MPGAurile ( Mask Programmable Gate Array ) au aparut in ideea de a deservi
circuitele logice mai mari. Marea parte a MPGA
urilor este alcatuita din linii de
tramzistoare care pot fi interconectate in scopul implementarii circuitelor logice
dorite. "Utilizatorul" poate stabili dupa propria necesitate daca conexiunile se
realizeaza in interiorul liniilor si/sau intre linii. Acest lucru a inlesnit implementarea
circuitelor logice de baza dar a permis si interconectarea portilor. Datorita faptului ca
metalul de suport poate fi ales de fabricant s-a economisit mult in domeniile costului
si timpului de productie. In 1985, Xilinx Inc. a introdus FPGAurile ( Field
-
7/28/2019 tehnologia fpga
2/8
Progammable Gate ArrayTablouri de Porti Programabile pe Campuri ),
acestea fiind de fapt si obiectul studiului nostru. FPGAurile ofera posibilitatea de a
stabili interconexiunile dintre toate elementele.
Ce sunt FPGAurile ?
FPGAurile sunt un sir de celule continand elemente losigice si de memorie,
configurabile. Celulele pot fi interconectate folosind un numar mare de switch uri
(intrerupatoare) programabile, intr-o varietate de moduri de constructie virtuala a
orcarui sistem digital. Matricile de elemente logice si switch-uri pot fi configurate
extern prin intermediul unui "bit stream" reprezentand respectiva functie sau sistem
digital. Sistemele aparute oferite de producatorii de FPGAuri genereaza "bit
stream" - mul folosind o descriere sistematica sau de nivel inalt a sistemului digital,descriere realizata in Veriolg sau in limbajul VHDL. Design-ul poate fi simulat
inainte de configurarea FPGA ului. Cele mai multe FPGA uri sunt re-
programabile si astfel pot fi modificate foarte usor. Acest lucru ofera flexibilitate si
reduce riscurile in comparatie cu ASIC urile care nu pot fi reprogramate. Din ce in
ce mai multe aplicatii folosesc tot mai des FPGAurile din diverse motive. Inalta
performata, schimbarile de situatie tot mai rapide si costurile scazute sunt sunt doar
cateva dintre aceste motive. Acum FPGAurile sunt foarte complexe si implica
multe scheme pentru imbunatatirea performantelor, reducerea numarului de
componente si a costurilor. De exemplu, majoritatea FPGAurilor ofera in prezent
mai multe standarde diferite de I/O, dar la fel de bine si elimina rezistorii terminali depe placa. Exista mult mai multe avantaje pe care le au FPGAurile, iar producatorii
sunt intr-o continua munca de imbunatatire a lor.
-
7/28/2019 tehnologia fpga
3/8
Exemplu de implementare FPGA
Despre FPGA
Exista patru mari categorii de FPGAuri disponibile in mod curent: tablouri
simetrice, bazate pe linii, PDL ierarhic si "mare-de-porti".
Cele patru categorii de baza
In toate aceste categorii, interactiunile si modul in care sunt programate difera. In
prezent exista patru tehnologii. Acestea sunt:
-
7/28/2019 tehnologia fpga
4/8
o Celule RAM staticeo Antifuseo Tranzistoare EPROMo Tranzistoare EEPROM
Depinzand de aplicatie fiecare FPGA poate avea unele avantaje pentru acea aplicatie.
Tehnologia RAM staticin cazul acestei tehnologii conexiunile programabile se fac
cu ajutorul unor tranzistoare, porti terminale sau multiplexoare care sunt controlate de
celulele SRAM. Avantajul acestei tehnologii este acela ca permite reconfigurarea
interna rapida a circuitului. Marele dezavantaj este marimea chip-ului necesitat de
tehnologia RAM.
Tehnologia Anti-Fusese redimensioneaza in stare de inalta impedanta si poate fi
programata la impedanta scauta sau starea de "fuzibil". Chip-ul este mai mic decat cel
necesitat in cazul tehnologiei RAM, dar poate fi programat o singura data.
Tehnologia EPROM / EEPROM - aceasta metoda este aceeasi folosita si la memoriile
EPROM. Un avantaj al acestei tehnologii il constituie faptul ca reprogramarea se
poate face fara o stocare externa a configuratiei, chiar daca tranzistoarele EPROM nu
pot fi reprogramate in circuit.
Caracteristici ale celor 4 tehnologii
Cateva dintre versiunile comerciale de FPGA - uri
-
7/28/2019 tehnologia fpga
5/8
In continuare va vom prezenta o lista de masini computerizate care folosesc FPGA
uri, lista ce demonstreaza inca o data cat de importante sunt si amploarea pe care au
luat-o.
Actel:
Windchime (Actel 1020A)Algotronix CAL Series:
Chameleon CHS 2x4 SPACE
Altera:
ARC-PCI (EPF10K50) epX31 (EPX780) ipEngine-1 (EPF6016) MSP0 (EPF10K100) RIPP (FLEX 81188) RIPP10 (FLEX 81188) TM-2 (EPF10K50)
-
7/28/2019 tehnologia fpga
6/8
VIP (FLEX 81500)
ATT / Lucent ORCA:
Cheops SLC1655 (OR2CA15)
Intel:
nfXboard (NFX780) Stack (iFX780)
Xilinx XC3000 Series:
Accelerator (XC3195) Anyboard (XC3042) ArMen (XC3090) BORG (XC3042) DSP-56X (XC3042) The Flexible Processor (XC3020) GANGLION (XC3090) HARP-1 (XC3195) Mushroom (XC3090) nP (XC3090) perle-0 (XC3020) perle-1 (XC3090) PRISM (XC3090) RENNS (XC3064) S56X2 (XC3064) SPLASH (XC3090) X-12 (XC3195) Zelig (XC3090)
Xilinx XC4000 Series:
ACME (XC4010) APS X-84 (XC4000 / XC5000) BORG II (XC4003) CHAMP (XC4013) 9204/FPGA/DS-link (XC4025EX) Distributed Virtual Computer (XC4013E)
-
7/28/2019 tehnologia fpga
7/8
EDgAR-2 (XC4013XLT) ENABLE++ (XC4013) EVC (XC4010) EVC1 Virtual Computer (XC4013E) Functional Memory Computer (XC4010) G-800 (XC4010) G-900 (XC4028EX) ISA Proto Board Virtual (XC4013E) J32 (XC4010) LCM (XC4005) LIRMM (XC4013E) Marc-1 (XC4005) MIT Nerd Kit (XCS30) MoM-3 (XC4000EX) MORRPH-ISA (XC4025) PCI Pamette V1 (XC4010E) PRISM-II (XC4010) P series Virtual Computer (XC4013E) R16 (XC4005) RISC4005 (XC4005) Rasa (XC4010) RC1000-II (XC4010E) RC1000-PP (XC40125XV) RPM (XC4013)
SBX+ (XC4013E) SPARXIL (XC4010) Spectrum (XC4013) Spectrum2 (XC4020) SPLASH2 (XC4010) Spyder (XC4003) Spyder2 (XC4010) ST-FPGA (XC4xxx/XC5xxx) Tao (XC4013E) TbC-Pamette (XC4010) TM-1 (XC4010) V6502 (XC4013) VA1000 (XC4010) The Virtual Computer (XC4013) VZ80 (XC4013) XKL-1 (XC4013E) XS40 (XC4xxx/XC52xx)
-
7/28/2019 tehnologia fpga
8/8
YARDS (XC4010)
Xilinx XC6200 Series:
Hades (XC6216) RHO (XC6216) SPACE2 (XC6264)
Xilinx XC9000 Series:
XS95 (XC9500)
Custom IC:
Data-Flow Functional Computer DTM-1 ProBoard TERAMAC