Vad är en FPGA?
En fältprogrammerbar gate array (FPGA) är ett datorlogikchip som inte är anslutet av tillverkaren. Detta innebär att det 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 logikblock eller uppslagstabellfiler (LUT).
Eftersom antalet logiska block på en FPGA är för många för att kunna skapas manuellt, genereras de via ett program. Programmerare kan sedan välja mellan 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-chipet 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: er varierar beroende på hur de har programmerats. Vissa utför enstaka funktioner medan andra kan en mer komplex uppsättning uppgifter. Vissa FPGA: er kan också innehålla både analoga och digitala element. Dessa chips har ofta också möjligheten att dessa element kan fungera tillsammans.
LUT: er är anslutna via ett nätverk av ledningar. Beroende på vilken funktion som krävs kan trådarna köras genom filerna i en rak linje eller ett mer komplext nätverk av diagonala anslutningar. En LUT kan vara ansluten till flera andra filer via flera trådanslutningar. Filerna kan också anslutas av en serie trådar som kallas bär eller dedikerade routingkedjor som hjälper till att flytta endast viss typ 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. Därefter laddas informationen ned i programvaran som medföljer FPGA. När processen är klar är funktionen vanligtvis operationell.
Även om en FPGA är dyrare än ett fast kabel logikchip, 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 krävs för att rymma ett chip som inte är specialanpassat. Ett programmerbart chip kan också vara lättare att använda, eftersom dess användarfunktioner, till exempel menyer, kan anpassas.
Fältprogrammerbara grindkretsar är ett alternativ till den applikationsspecifika integrerade kretsen (ASIC). Dessa kretsar är fastkopplade innan de lämnar fabriken. De är komponenter på kortnivå, till skillnad från fältprogrammerbara grindnivåelement.