Termenul FPGA înseamnă Field Programmable Gate Array și este un singur tip de cip logic semiconductor care poate fi programat să devină aproape orice tip de sistem sau circuit digital, similar PLD-urilor. PLDS sunt limitate la sute de porți, dar FPGA suportă mii de porți. Configurația arhitecturii FPGA este specificată în general folosind un limbaj, adică HDL (limba de descriere hardware), care este similară cu cea utilizată pentru un ASIC (Application Specific Integrated Circuit).
Matrice de poartă programabile în câmp
FPGA-urile pot oferi o serie de avantaje față de o tehnologie ASIC cu funcție fixă, cum ar fi celulele standard. În mod normal, ASIC-urile necesită luni de fabricare și costul acestora va fi de mii de dolari pentru a obține dispozitivul. Dar, FPGA-urile sunt fabricate în mai puțin de o secundă, costul va fi de la câțiva dolari până la o mie de dolari. Natura flexibilă a FPGA vine la o zonă de cost semnificativă, consum de energie și întârziere. În comparație cu o celulă ASIC standard, un FPGA necesită o suprafață de 20 până la 35 de ori mai mare, iar performanța vitezei va fi de 3 până la 4 ori mai lentă decât ASIC. Acest articol descrie despre elementele de bază FPGA și modulul de arhitectură FPGA care include I / O pad, blocuri logice și matrice de comutare. FPGA-urile sunt câteva dintre noile zone de trend ale VLSI. Prin urmare, acestea sunt utilizate în Proiecte bazate pe VLSI pentru studenții de inginerie electronică .
Arhitectura FPGA
Arhitectura generală FPGA constă din trei tipuri de module. Acestea sunt blocuri I / O sau tampoane, Switch Matrix / Interconnection Wires și blocuri logice configurabile (CLB). Arhitectura de bază FPGA are matrice bidimensionale de blocuri logice cu un mijloc pentru ca un utilizator să aranjeze interconectarea dintre blocurile logice. Funcțiile unui modul de arhitectură FPGA sunt discutate mai jos:
- CLB (Configurable Logic Block) include logică digitală, intrări, ieșiri. Implementează logica utilizatorului.
- Interconectările oferă direcție între blocurile logice pentru a implementa logica utilizatorului.
- În funcție de logică, matricea de comutare asigură comutarea între interconectări.
- Tampoane I / O utilizate pentru lumea exterioară pentru a comunica cu diferite aplicații.
Arhitectura FPGA
Blocul logic conține MUX (multiplexor) , D flip flop și LUT. LUT implementează funcțiile logice combinaționale, MUX este utilizat pentru logica de selecție, iar D flip flop stochează ieșirea LUT
Blocul de bază al FPGA este generatorul de funcții bazat pe Look Up Table. Numărul de intrări în LUT variază de la 3,4,6 și chiar 8 după experimente. Acum, avem LUT-uri adaptive care oferă două ieșiri pe fiecare LUT cu implementarea a două generatoare de funcții.
FPGA Logic Block
Xilinx Virtex-5 este cel mai popular FPGA, care conține un tabel Look Up (LUT) care este conectat cu MUX și un flip flop așa cum s-a discutat mai sus. FPGA actual este format din aproximativ sute sau mii de blocuri logice configurabile. Pentru configurarea FPGA, software-urile Modelsim și Xilinx ISE sunt utilizate pentru a genera un fișier bitstream și pentru dezvoltare.
Tipuri de FPGA bazate pe aplicații
Tablourile de poartă programabile pe teren sunt clasificate în trei tipuri pe baza aplicațiilor, cum ar fi FPGA-uri low-end, FPGA-uri de nivel mediu și FPGA-uri high-end.
Tipuri de FPGA
FPGA-uri low-end
Aceste tipuri de FPGA sunt proiectate pentru consum redus de energie, densitate logică redusă și complexitate redusă pe cip. Exemple de FPGA low-end sunt familia Cyclone din Altera, familia Spartan din Xilinx, familia de fuziune de la Microsemi și Mach XO / ICE40 din semiconductorul Lattice.
FPGA de gamă medie
Aceste tipuri de FPGA sunt soluția optimă între FPGA-urile low-end și high-end și acestea sunt dezvoltate ca un echilibru între performanță și cost. Exemple de FPGA de gamă medie sunt Arria de la Altera, seria Artix-7 / Kintex-7 de la Xlinix, IGL002 de la Microsemi și seriile ECP3 și ECP5 de la semiconductori Lattice.
FPGA high-end
Aceste tipuri de FPGA sunt dezvoltate pentru densitate logică și performanță ridicată. Exemple de FPGA high-end sunt o familie Stratix din Altera, familia Virtex din Xilinx, familia Speedster 22i din Achronix și familia ProASIC3 din Microsemi.
Aplicații ale FPGA:
FPGA-urile au câștigat o creștere rapidă în ultimul deceniu, deoarece sunt utile pentru o gamă largă de aplicații. Aplicația specifică a unui FPGA include procesarea semnalului digital, bioinformatică, controlere de dispozitiv, radio definite de software, logică aleatorie, prototipare ASIC, imagistică medicală, emulare hardware computer, integrarea SPLD-urilor multiple, recunoaștere vocală , criptografie, filtrare și codificare a comunicațiilor și multe altele.
De obicei, FPGA sunt păstrate pentru anumite aplicații verticale în care volumul de producție este mic. Pentru aceste aplicații cu volum redus, companiile de top plătesc costuri hardware pe unitate. Astăzi, noile dinamici de performanță și costuri au extins gama de aplicații viabile.
Aplicații ale FPGA
Unele aplicații FPGA mai frecvente sunt: aerospațială și de apărare, electronică medicală, prototipare ASIC, audio, auto, difuzare, electronică de consum, sisteme monetare distribuite, centru de date, calcul de înaltă performanță, industriale, medicale, instrumente științifice, Sisteme de securitate , Procesare video și imagine, Comunicații prin cablu, Comunicații fără fir .
Idei de proiect bazate pe FPGA:
Iată o listă de idei de proiecte bazate pe FPGA pentru experimentarea cu Verilog HDL și VHDL pentru studenții de inginerie din ultimul an. lista ideilor de proiecte electronice pe baza FPGA este prezentat mai jos:
Idei de proiect bazate pe FPGA
- Sistem de autentificare de securitate bazat pe FPGA
- CHIP de auditiv digital bazat pe FPGA
- O arhitectură de extragere a imaginilor în timp real bazată pe FPGA
- Proiectare bazată pe FPGA și implementarea decodoarelor Mp4
- Bazat pe FPGA Sistem de control al semnalului de trafic Design si implementare
- Generație purtătoare de înaltă frecvență bazată pe FPGA pentru compresia pulsului utilizând algoritmul cordic
- Proiectare și sinteză a blocurilor logice programabile cu poartă macro și LUT mixt
- Set de instrucțiuni specifice aplicației Proiectarea, implementarea și studierea procesorului pentru o activitate specifică DSP
- Proiectarea și implementarea unității de sincronizare pentru receptorul WCDMA Uplink
- Implementarea FPGA a algoritmului FFT pentru IEEE 802.16e (WiMAX mobil)
- Proiectare bazată pe FPGA GPS (sistem global de detașare) -GSM (Global Systems for Mobiles) Mobile Navigator
- Vector spațial PWM (Modularea lățimii impulsurilor) pentru convertoarele cu trei niveluri: o implementare LabVIEW
- Proiectarea și implementarea platformei multiprocesor programabile pentru procesare încorporată de înaltă performanță
- Extensie și îmbunătățire de optimizare a procesorului de înaltă performanță pentru FPGA
- Dezvoltarea și evaluarea controlului orientat pe câmp folosind LabVIEW FPGA
- Sinteza directă a frecvenței digitale în FPGA
- Proiectați și programați platforma multiprocesor pentru procesare încorporată de înaltă performanță
- Proiectarea și integrarea explorării spațiale a contoarelor programabile pe teren folosind FPGA
- O implementare FPGA a telescopului Icecube pentru detectarea pistelor Neutrino
- Interpolare imagine a afișajului 3D în firmware
- MIMO Sphere System Architecture and Implementation
- Arhitectură FFT (Transformare Fourier Rapidă) Superscalară
- Registru de schimbare a feedback-ului liniar (LFSR) Optimizarea puterii pentru BIST de putere redusă
După ce v-ați petrecut timpul prețios în acest articol, credem că aveți o idee bună despre arhitectura FPGA și DESPRE selectarea subiectului proiectului la alegere din ideile de proiect bazate pe FPGA și sperăm că aveți suficientă încredere pentru a aborda orice subiect. din listă. Pentru mai multe detalii și ajutor despre aceste proiecte, ne puteți scrie în secțiunea de comentarii de mai jos.
Credite foto:
- Matrice de poartă programabile pe câmp de către ruggedpcreview
- Idei de proiect bazate pe FPGA de rtcmagazine