b"\n_START_ARTICLE_\nField-programmable gate array\n_START_PARAGRAPH_\nField-Programmable Gate Array (f\xc3\xb6rkortat FPGA, vilket kan \xc3\xb6vers\xc3\xa4ttas med 'p\xc3\xa5-plats-programmerbar grindmatris'), \xc3\xa4r en integrerad krets som anv\xc3\xa4nds inom digitalteknik, vars fysiska funktion kan \xc3\xa4ndras genom att ny programmering \xc3\xb6vers\xc3\xa4nds genom anslutning av en enkel kabel._NEWLINE_Kretsens funktionsbeskrivning kan laddas in direkt via en datal\xc3\xa4nk (JTAG) till en dator eller fr\xc3\xa5n minnen som till exempel RAM, ROM eller flashminne. N\xc3\xa4r kretsen blir sp\xc3\xa4nningssatt kan valfri funktion laddas in, eller laddas om senare med en ny funktionsbeskrivning s\xc3\xa5 ofta som \xc3\xb6nskas. Vissa FPGA-kretsar fr\xc3\xa5n f\xc3\xb6retag som till exempel Xilinx och Lattice Semiconductor \xc3\xa4r utrustade med icke-flyktigt datorminne varifr\xc3\xa5n funktionsbeskrivningen laddas vid sp\xc3\xa4nningsp\xc3\xa5slag, och d\xc3\xa4rmed beh\xc3\xa5ller konfigurationen \xc3\xa4ven efter f\xc3\xb6rlust av elektrisk sp\xc3\xa4nning.\n_START_SECTION_\nAnv\xc3\xa4ndningsomr\xc3\xa5de\n_START_PARAGRAPH_\nN\xc3\xa4r ett mindre antal produkter (oftast f\xc3\xa4rre \xc3\xa4n 1000 enheter) ska tillverkas \xc3\xa4r det ekonomiskt f\xc3\xb6rdelaktigt att anv\xc3\xa4nda omprogrammerbar logik s\xc3\xa5som FPGA eller CPLD. Enhetskostnaden f\xc3\xb6r en ASIC-krets blir l\xc3\xa5g f\xc3\xb6rst vid stora volymbest\xc3\xa4llningar, d\xc3\xa5 dessutom risktagandet blir st\xc3\xb6rre eftersom felaktig logik riskerar att permanentas. Vid framtagande av prototyp \xc3\xa4r den l\xc3\xa5ga startkostnaden och m\xc3\xb6jligheten till omg\xc3\xa5ende \xc3\xa4ndringar n\xc3\xa5got som g\xc3\xb6r FPGA v\xc3\xa4rdefull. FPGA \xc3\xa4r emellertid n\xc3\xa5got l\xc3\xa5ngsammare \xc3\xa4n ASIC. Produktionskostnaden f\xc3\xb6r FPGA-kretsar sjunker dock varje \xc3\xa5r och numera anv\xc3\xa4nder m\xc3\xa5nga tillverkare FPGA:er i st\xc3\xb6rre volymer p\xc3\xa5 upp till 100 000 enheter per \xc3\xa5r.\n_START_SECTION_\nFPGA, design och programmering\n_START_PARAGRAPH_\nFunktionen f\xc3\xb6r en FPGA-krets uttrycks i ett h\xc3\xa5rdvarubeskrivande spr\xc3\xa5k, exempelvis n\xc3\xa5got av spr\xc3\xa5ken VHDL eller Verilog. Spr\xc3\xa5ket underl\xc3\xa4ttar utveckling och utv\xc3\xa4rdering av funktioner innan syntetisering av kretsen genomf\xc3\xb6rs. Sj\xc3\xa4lva programmeringen utf\xc3\xb6rs genom att en digital kod, som skapats p\xc3\xa5 ett datorsystem, \xc3\xb6verf\xc3\xb6rs till ett startminne som kretsen anv\xc3\xa4nder vid sp\xc3\xa4nningstillslag, eller laddas ner direkt till kretsen._NEWLINE_Tidiga FPGA-kretsar hade minnesceller som kr\xc3\xa4vde konstant sp\xc3\xa4nningstillf\xc3\xb6rsel f\xc3\xb6r att beh\xc3\xa5lla den lagrade informationen (s\xc3\xa5 kallat flyktigt datorminne). Moderna FPGA-kretsar f\xc3\xb6rekommer d\xc3\xa4remot i varianter s\xc3\xa5v\xc3\xa4l med som utan icke-flyktigt datorminne. F\xc3\xb6r FPGA varianter med icke-flyktigt datorminne laddas endast funktionsbeskrivningen d\xc3\xa4rifr\xc3\xa5n vid sp\xc3\xa4nningstillslag.\n_START_SECTION_\nKompatibilitet\n_START_PARAGRAPH_\nTillverkarna Xilinx och Actel erbjuder utvecklingsverktyg med Linux som plattform. Men det fungerar \xc3\xa4ven att anv\xc3\xa4ndas p\xc3\xa5 FreeBSD."