Extras din curs
1.1. Rolul FPGA (Field Programmable Gate Array)
Reprezinta o necesitate in design-ul sistemelor digitale avand un rol complementar celor jucat de microprocesoare. Microprocesoarele pot fi utilizate intr-o varietate de aplicatii, dar datorita faptului ca se bazeaza pe software pentru a implementa aplicatii, sunt in general mai incete si mai consumatoare de energie decat circuitele custom (custom chips). In mod similar FPGA-urile nu sunt circuite custom si in consecinta nu vor avea aceeasi performanta ca a unui circuit custom pentru aplicatia respectiva.
In general FPGA-urile sunt mai incete si mai mari consumatoare de energie decat custom logic sau custom chips. Pe de alta parte ele nu sunt ieftine desi este tentanta ideea unui custom chip mai ieftin.
Custom chips VS FPGA
Expensive expensive
Cu toate acestea, FPGA prezinta avantaje datorate faptului ca ele sunt circuite standard (nu sunt custom chips).
- Nu exista timpi morti intre finalizarea design-ului si obtinerea circuitului final (functional). Design-ul poate fi programat in FPGA si testat imediat.
- FPGA-urile constituie vehicule excelente pentru prototipaj. Atunci cand un FPGA este utilizat in implementarea finala a unui design, trecerea de la prototip la produsul final comercial este mult mai usoara si mult mai usor de negociat.
- Acelasi FPGA poate fi utilizat pentru realizarea mai multor design-uri fiind astfel mult reduse costurile materiale.
Domeniul de utilizare al FPGA-urilor a crescut enorm in ultimii 20 de ani, dispozitivele logice programabile (PLD – Programmable Logic Device) au fost introduse in anii 70 si utilizeaza structuri logice pe doua nivele pentru a implementa logica programabila. In general primul nivel corespunzator portilor AND era fix, in vreme ce, cel de-al doilea nivel, cel al portilor OR, era programbil prin metode electrice utilizand dispozitive numite antifuse. PLD-urile sunt in general programate cu dispozitive antifuzibile prin care se stabilesc conexiuni cu ajutorul aplicarii unor nivele relativ ridicate de tensiune. Caracteristica acestora de a fi utilizate in vederea interconectarii unor parti majore dintr-un design a dus la denumirea de glue logic (logica folosita ca lipici).
Fig.1.1 – PLD
Logica pe doua nivele este utila pentru aplicatii de mica anvergura, dar dificil de utilizat si nepractic pentru structuri cu nivel de integrare mai ridicat. FPGA-urile ofera logica programabila cu nivele multiple si de adancime arbitrara a logicii. Sunt folosite atat elemente logice programabile cat si interconexiuni programabile in acest scop.
In 26 Septembrie 1989, Ross Freeman, patenteaza un concept care mai tarziu devine FPGA. Circuitul includea atat elemente logice programabile, cat si interconexiuni programabile, dar nu prin dispozitive antifuse, ci cu ajutorul memoriilor RAM static (SRAM).
Avantajul era ca noul circuit putea fi fabricat prin procese VLSI standard, astfel incat procesul de fabricatie era flexibil si oferea posibilitatea reprogramarii FPGA-ului chiar in timpul functionarii acestuia.
Initial FPGA-urile au fost considerate drept glue-logic si dispozitive de prototipaj rapid. Astazi sunt folosite intr-o varietate de sisteme digitale, de exemplu echipamente de telecomunicatii de inalta viteza sau acceleratoare video, si sunt considerate drept principala optiune pentru implementarea sistemelor digitale.
1.2. Tipuri de FPGA
Orice definitie a FPGA-urilor trebuie sa scoata in evidenta trasaturile pe care le disting atat de procesoarele de uz general cat si de circuitele dedicate, custom chips. Cateva caracteristici:
- Sunt circuite standard, nu au fost concepute pentru o aplicatie anume ci sunt configurate de utilizator pentru aplicatia dorita
- Implementeaza logica multinivel. Blocurile logice din FPGA pot fi interconectate in retele de adancime arbitrara (spre deosebire de PLD-uri care utilizeaza 2 nivele de logica)
Preview document
Conținut arhivă zip
- Curs 2 - Proiectarea Aplicatiilor pe Platforme Reconfigurabile.pdf