Introducere in istoria FPGA
FPGA – urile ( 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 sunt o 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 Memory – Memorii Programabile cu Acces Doar-pentru-Citire ). PROM – urile programabile o singura data sunt de doua tipuri :Field-Programmable Chip sunt impartite in alte doua tipuri:
Un pas important in acest domeniu a fost facut la aparitia
PLD – urilor ( Programmable Logic Device – Unitati 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. PAL – urile ( Programmable Array Logic – Tablouri Logice Programabile ) un tip de PLD des folosite constau dintr-un plan SI programabil 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.MPGA
– urile ( 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 FPGA – urile ( Field Progammable Gate Array – Tablouri de Porti Programabile pe Campuri ), acestea fiind de fapt si obiectul studiului nostru. FPGA – urile ofera posibilitatea de a stabili interconexiunile dintre toate elementele.
Ce sunt FPGA – urile ?
FPGA – urile 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 FPGA – uri 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 FPGA – urile din diverse motive. Inalta performata, schimbarile de situatie tot mai rapide si costurile scazute sunt sunt doar cateva dintre aceste motive. Acum FPGA – urile sunt foarte complexe si implica multe scheme pentru imbunatatirea performantelor, reducerea numarului de componente si a costurilor. De exemplu, majoritatea FPGA – urilor ofera in prezent mai multe standarde diferite de I/O, dar la fel de bine si elimina rezistorii terminali de pe placa. Exista mult mai multe avantaje pe care le au FPGA – urile, iar producatorii sunt intr-o continua munca de imbunatatire a lor.
Exemplu de implementare FPGA
Despre FPGA
Exista patru mari categorii de FPGA – uri 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:
Depinzand de aplicatie fiecare FPGA poate avea unele avantaje pentru acea aplicatie.
Tehnologia RAM static – in 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-Fuse – se 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
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:
Algotronix CAL Series
:Altera:
ATT / Lucent ORCA:
Intel:
Xilinx XC3000 Series:
Xilinx XC4000 Series:
Xilinx XC6200 Series:
Xilinx XC9000 Series:
Custom IC: