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 att ansluta 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 t.ex Xilinx eller Lattice Semiconductor är utrustade med icke-flyktigt minne för funktionsbeskrivning som består även efter spänningsförlust.
När ett mindre antal produkter ska tillverkas, oftast mindre ä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 och risktagandet blir större, då 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. Dock är FPGA något långsammare än ASIC i prestanda. Kostnaden för FPGA-kretsar sjunker dock varje år och numera använder många tillverkare även FPGA:er i större volymer upp till 100 000 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 man gör sig besväret att syntetisera FPGA:en. 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 sitt minne (flyktigt minne). Moderna FPGA-kretsar förekommer i varianter med och utan icke-flyktigt minne.
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)
- Complex programmable logic device (CPLD) - Utgörs av flera PAL-celler. Programmeringen är icke-flyktig.