Field-programmable gate array

Field-Programmable Gate Array (förkortat FPGA som kan översättas med 'på-plats-programmerbar logikmatris'), är en integrerad krets som används inom digitalteknik vars fysiska funktion kan ändras genom anslutning av en enkel kabel, som används för att översända en ny programmering. Dess funktion kan laddas direkt från ett digitalt minne, som till exempel RAM, ROM eller flashminne. När kretsen blir spänningsförande kan valfri funktion laddas in, eller laddas om senare med en ny funktionsbeskrivning så ofta som önskas. FPGA-kretsar från företag som till exempel Xilinx eller Lattice Semiconductor är utrustade med icke-flyktigt datorminne för funktionsbeskrivning, där informationen lagras även efter förlust av elektrisk spänning.
När ett mindre antal produkter ska tillverkas, oftast färre än 1000 enheter, är det ekonomiskt fördelaktigt att använda omprogrammerbar logik såsom FPGA eller CPLD. Enhetskostnaden för en ASIC-krets blir låg först vid stora volymbeställningar, då dessutom risktagandet blir större eftersom felaktig logik riskerar att permanentas. Vid framtagande av prototyp är den låga startkostnaden och möjligheten till omgående ändringar något som gör FPGA ovärderligt. FPGA är emellertid något långsammare än ASIC. Produktionskostnaden för FPGA-kretsar sjunker dock varje år, och numera använder många tillverkare FPGA:er i större volymer på upp till 100 000 enheter per år.
FPGA, design och programmering
Funktionen för en FPGA-krets uttrycks i ett hårdvarubeskrivande språk. Exempel på sådana språk är VHDL och Verilog. Språket underlättar utveckling och utvärdering av funktioner, innan syntetisering av kretsen genomförs. Själva programmeringen utförs så att en digital kod som skapats på ett datorsystem överförs till ett startminne som kretsen använder vid spänningstillslag, eller laddas ner direkt till kretsen. Tidiga FPGA-kretsar hade minnesceller som krävde konstant spänningstillförsel för att behålla den lagrade informationen (så kallat flyktigt datorminne). Moderna FPGA-kretsar förekommer däremot i varianter såväl med som utan icke-flyktigt datorminne.
Kompatibilitet
Tillverkarna Xilinx och Actel erbjuder utvecklingsverktyg med Linux som plattform.
Se även
- Programmable array logic (PAL) – Enklare grindmatris som blev tillgänglig under 1980-talet
- Programmable logic array (PLA) – En idag i stort sett utdaterad metod med vars hjälp det är möjligt att skapa en CPU-krets som kan avkoda instruktioner