Vad är en FPGA?

En fältprogrammerbar gate array (FPGA) är ett datorlogikchip som inte är fastanslutet av tillverkaren. Det betyder att den kan programmeras efter köp. Det finns tusentals alternativ för anpassning tillgängliga på en typisk FPGA. Dessa programmerbara enheter är grindarna, även kända som logiska block eller uppslagstabellfiler (LUT).
Eftersom antalet logiska block på en FPGA är för många för att skapas manuellt, genereras de via ett program. Programmerare kan sedan välja från en mängd olika kategorier för att anpassa dem för ett visst system. De kan använda sina egna program för att interagera med programmet på FPGA-kretsen och göra ändringarna.

Vid programmering av en FPGA kan flera sammankopplade element användas för att konfigurera logiska block efter behov. Innehållet i LUT varierar beroende på hur de har programmerats. Vissa utför enstaka funktioner medan andra kan utföra en mer komplex uppsättning uppgifter. Vissa FPGA kan också innehålla både analoga och digitala element. Dessa chips har ofta också förmågan att låta dessa element fungera tillsammans.

LUT:erna är sammankopplade med ett nätverk av ledningar. Beroende på vilken funktion som krävs kan ledningarna gå genom filerna i en rak linje, eller ett mer komplext nätverk av diagonala anslutningar. En LUT kan anslutas till flera andra filer via flera trådanslutningar. Filerna kan också vara sammankopplade med en serie ledningar som kallas bärkedjor eller dedikerade routingkedjor som hjälper till att bara flytta vissa typer av information så att den kan behandlas snabbare.

För att programmera en logisk funktion med en FPGA måste den först beskrivas i text- eller visuella filer. Sedan laddas informationen ner till programvaran som följer med FPGA:n. När den processen är klar är funktionen vanligtvis i drift.
Även om en FPGA är dyrare än ett fast logiskt chip, kan det hjälpa till att spara resurser eftersom användare kan programmera för att passa deras specifika krav. Detta kan minska behovet av extra arbete och den extra tid som behövs för att få plats med ett chip som inte är specialtillverkat. Ett programmerbart chip kan också vara enklare att använda, eftersom dess användarfunktioner, såsom menyer, kan anpassas.

Fältprogrammerbara gate array-kretsar är ett alternativ till den applikationsspecifika integrerade kretsen (ASIC). Dessa kretsar kopplas fast innan de lämnar fabriken. De är komponenter på kortnivå, i motsats till de fältprogrammerbara grindnivåelementen.