O matrice de poartă programabilă în câmp (FPGA) este un cip logic de computer care nu este conectat de către producător. Aceasta înseamnă că poate fi programat după cumpărare. Există mii de opțiuni de personalizare disponibile pe un FPGA tipic. Aceste entități programabile sunt porțile, cunoscute și sub numele de blocuri logice sau fișiere de tabel de căutare (LUT).
Deoarece numărul de blocuri logice de pe un FPGA este prea mare pentru a fi creat manual, acestea sunt generate printr-un program software. Programatorii pot alege dintr-o varietate de categorii pentru a le personaliza pentru un anumit sistem. Ei își pot folosi propriile programe pentru a interacționa cu programul de pe cipul FPGA și pentru a face modificări.
La programarea unui FPGA, mai multe elemente interconectate pot fi utilizate pentru a configura blocuri logice după cum este necesar. Conținutul LUT-urilor variază, în funcție de modul în care au fost programate. Unele îndeplinesc funcții individuale, în timp ce altele sunt capabile de o gamă mai complexă de sarcini. Unele FPGA pot conține și elemente analogice și digitale. Aceste cipuri au adesea și capacitatea de a permite acestor elemente să funcționeze împreună.
LUT-urile sunt conectate printr-o rețea de fire. În funcție de funcția necesară, firele pot trece prin fișiere în linie dreaptă sau într-o rețea mai complexă de conexiuni diagonale. Un LUT poate fi conectat la mai multe alte fișiere prin mai multe conexiuni prin cablu. Fișierele pot fi, de asemenea, conectate printr-o serie de fire numite carry sau lanțuri de rutare dedicate care ajută la mutarea doar a anumitor tipuri de informații, astfel încât acestea să poată fi procesate mai rapid.
Pentru a programa o funcție logică cu un FPGA, aceasta trebuie mai întâi conturată în fișiere text sau vizuale. Apoi informațiile sunt descărcate în software-ul care vine cu FPGA. Odată ce acest proces este finalizat, funcția este de obicei operațională.
Deși un FPGA este mai scump decât un cip logic cablat, poate ajuta la economisirea resurselor, deoarece utilizatorii pot programa pentru a se potrivi cerințelor lor specifice. Acest lucru poate reduce nevoia de muncă suplimentară și timpul suplimentar necesar pentru a găzdui un cip care nu este făcut la comandă. Un cip programabil poate fi, de asemenea, mai ușor de utilizat, deoarece funcțiile sale de utilizator, cum ar fi meniurile, pot fi personalizate.
Circuitele matrice de porți programabile în câmp sunt o alternativă la circuitul integrat specific aplicației (ASIC). Aceste circuite sunt conectate înainte de a părăsi fabrica. Sunt componente la nivel de placă, spre deosebire de elementele de nivel de poartă programabile în câmp.