__БЕЗКН__ мини|300px|-{Altera Stratix IV GX FPGA}- мини|300px|Primer -{Xilinx Spartan 6 FPGA}- programibilno/evaluacionog kola
-{FPGA}- () predstavlja integrisano kolo projektovano tako da se njegova unutrašnja struktura može konfigurisati od strane krajnjeg korisnika. Definisanje unutrašnje strukture -{FPGA}- komponente se vrši uz pomoć -{HDL}- () jezika ili šematskih dijagrama.
Svaka -{FPGA}- komponenta se sastoji od velikog broja identičnih logičkih blokova (ćelija), rekonfigurabilnih veza koje omogućavaju blokovima da budu međusobno povezani i ulazno/izlaznog bloka. Svaki logički blok se sastoji od logičkih ćelija. Logički blokovi mogu se konfigurisati tako da izvode složene kombinatorne funkcije ili jednostavna logička kola poput I kola i EKSILI kola. Logički blokovi takođe mogu uključivati i memorijske elemente, koji mogu biti jednostavni flip-flopovi ili neki kompleksniji memorijski elementi.-{}-
Tehnički dizajn мини|-{Xilinx Spartan FPGA}-
Savremene -{FPGA}- komponente u sebi sadrže veliki broj logičkih kola i RAM blokova za implementaciju kompleksnih digitalnih izračunavanja. -{FPGA}- komponente se mogu koristiti za implementaciju bilo koje logičke funkcije koju integrisano kolo specifične namene može da izvede. Mogućnost ažuriranja funkcionalnosti nakon isporuke, delimična rekonfiguracija dela dizajna-{}- i mali nepovratni troškovi izrade komponente u odnosu na dizajn integrisanog kola specifične namene (bez obzira na generalno veću pojedinačnu cenu), čine prednost za mnoge primene.-{}-
Neke -{FPGA}- komponente pored digitalnih funkcija imaju i analogne funkcije. Najčešća analogna funkcija je programabilna brzina odziva na svakom izlaznom pinu, omogućavajući inženjeru da podesi niske pragove za slabo opterećene pinove i da postave više norme na opterećenije pinove na brzim kanalima koji bi inače radili jako sporo.-{}- Takođe, česti su kvarcni kristalni oscilatori, oscilatori koji se sastoje od otpornika i kondenzatora, fazno zatvorena petlja sa ugrađenim naponskim oscilatorima koji se koriste za generisanje i upravljanje časovnikom. Prilično su česti i diferencijalni komparatori na ulaznim pinovima koji su dizajnirani za povezivanje sa diferencijalnim signalnim kanalima.Neke vrste -{FPGA}- komponenti u sebi imaju integrisane periferne konvertore, analogno digitalni konvertor, koji konvertuje analogne funkcije u digitalne i digitalno analogni konvertor, koji radi obrnuto, sa blokovima koji im omogućavaju da funkcionišu kao sistem na čipu.-{Mike Thompson. "Mixed-signal FPGAs provide GREEN POWER"
EE Times, 2007-07-02.}- Ovakvi uređaji brišu liniju između FPGA komponenti koje sadrže jedinice i nule i FPAA () koji sadrži analogne vrednosti.
Istorija
Proizvodnja -{FPGA}- komponenti je proizišla iz programabilne memorije za čitanje (PROM) i programabilnih logičkih uređaja (-{PLD}-). Oba su imala mogućnost programiranja u fabrici ili na terenu. Međutim, programabilna logika je bila direktno povezana sa logičkim kolima.-{}-
U kasnim osamdesetim, -{NSWC}- () je finansirao eksperiment koji je predložio -{Steve Casselman}- da razvije računar koji bi implementirao 600000 reprogramabilnih kola. Ovaj eksperiment je uspeo i patent je lansiran 1992. godine.-{}-
Neki od industrijskih fundamentalnih koncepata i tehnologija za programabilna logička polja, funkcije i blokove se mogu naći u patentima koje su pronašli -{David W. Page}- i -{LuVerne R. Peterson}- 1985. godine.-{Google Patent Search, "Re-programmable PLA". Retrieved February 5, 2009.Google Patent Search, "Dynamic data re-programmable PLA". Retrieved February 5, 2009.}-
-{Altera}- je osnovana 1983. godine i isporučila je prvi industrijski reprogramabilan logički uređaj 1984. godine. To je bio -{EP300}- koji je imao kvarcni prozor u paketu koji je omogućavao korisnicima da uključe ultraljubičastu lampu koja bi izbrisala EPROM ćelije u kojima je smeštena konfiguracija.-{}-
Osnivači kompanije -{Xilinx, Ross Freeman}- i -{Bernard Vonderschmitt}- su napravili prvu komercijalnu -{FPGA}- komponentu 1985. godine, -{XC2064}-.-{Peter Clarke, EE Times, ">." June 22, 2001. Retrieved February 10, 2009. }-Ona je imala programabilna logička kola, programabilne veze između logičkih kola. Ovo je bio početak nove tehnologije.-{Funding Universe. “Xilinx, Inc.” Retrieved January 15, 2009.}- Takođe, -{XC2064}- komponenta je imala konfigurabilne logičke blokove sa dve ili tri ulazne lukap tabele. Nakon više od 20 godina otada, -{Freeman}- je ušao u -{NIHF}- () za svoj pronalazak.-{Clive Maxfield, Programmable Logic DesignLine, ">. Retrieved February 5, 2009.Press Release, ""}-
Kompanije -{Altera}- i -{Xilinx}- su nesmetano i brzo rasle od 1985. godine do sredine devedesetih, kada su se konkurentske firme razvile, što je dovelo do značajne podele tržišta. Do 1993. godine, kompanija -{Actel}- (sada -{Microsemi}-) je snabdevala oko 18 procenata tržišta, a do 2010. godine, kompanije -{Altera}- (31 procenat), -{Actel}- (10 procenata) i -{Xilinx}- (36 procenata) su zajedno snabdevale 77 procenata tržišta -{FPGA}- komponenti.-{}-
Devedesete su bile eksplozivan period za -{FPGA}- komponente, kako zbog sofisticiranosti, tako i zbog obima proizvodnje. Ranih devedesetih primarno su se koristile u telekomunikaciji i umrežavanju. Do kraja decenije, -{FPGA}- komponente su prošle svoj put u potrošačku, automobilsku i industrijsku primenu.-{}-
Razvoj u 21. veku
Nedavni trend je bio da grubi arhitektonski pristup napravi još korak dalje kombinovanjem logičkih blokova i veza tradicionalnih -{FPGA}- komponenti sa ugrađenim mikroprocesorima i srodnim periferijama kako bi se formirao potpuni "sistem na programabilnom čipu". Ova arhitektura odražava arhitekturu koju su stvorili -{Ron Perlof}- i -{Hana Potash}- iz -{Burroughs Advanced Sistems Group}- 1982. godine, koja je kombinovala rekonfigurababilnu -{CPU}- arhitekturu na jednom čipu zvanom -{SB24}-. Primeri takvih hibridnih tehnologija mogu se naći u -{KSC-Zink-7000 All Programmable SoC}--u, koji uključuje ARM -{Cortex-A9 MPCore}- procesor sa dva jezgra brzine 1.0 -{GHz}- spojen sa logičkom strukturom -{FPGA}- komponente ili sa -{Altera Arria V FPGA}-, koji ima ARM -{Cortex-A9 MPCore}- procesor sa dva jezgra brzine 800-{MHz}-. -{Atmel FPSLIC}- je još jedan takav uređaj koji koristi -{AVR}- procesor u kombinaciji sa programabilnom logičkom arhitekturom -{Atmela}-. Uređaji -{Microsemi SmartFusion}- sadrže ARM -{Cortex-M3}- procesorsko jezgro (sa do 512 kB fleš memorije i 64 kB RAM-a) i analogne periferije kao što su višekanalni -{ADC}- i -{DAC}--ovi za -{FPGA}- strukturu.
мини|300px|-{A Xilinx Zynq-7000 All Programmable System on a Chip}-.
Alternativni pristup korišćenju hard-makro procesora je korišćenje softverskih procesora koji se implementiraju u okviru -{FPGA}- logike. -{Nios II, MicroBlaze}- i -{Mico32}- su primeri popularnih softverskih procesora. Mnoge savremene -{FPGA}- komponente se programiraju u toku rada i to vodi do ideje o rekonfigurabilnim računarima ili rekonfigurabilnim sistemima. Pored toga, nove arhitekture, različite od arhitekture FPGA komponenti, počinju da se pojavljuju. Mikroprocesori koji se konfigurišu softverom, kao što je -{Stretch}- S5000, usvajaju hibridni pristup obezbeđujući niz jezgara procesora i -{FPGA}--programabilnih jezgara na istom čipu.
Kompanije kao što je -{Microsoft}- počele su da koriste -{FPGA}- komponente za ubrzavanje sistema visokih performansi, računarsko intenzivnih sistema (kao što su centri za podatke koji upravljaju njihovim Bing pretraživačima.-{}-
Kola 1982. godine: 8,192 kola, -{Burroughs Advances Systems Group}-, integrisani u -{S-Type}- 24-bitniprocesor za reprogramiranje ulaza i izlaza.-{}- 1987. godine: 9,000 kola, -{Xilinx}- -{}- 1992. godine: 600, 000, -{Naval Surface Warfare Department}- -{}- početak 2000. godine: milioni -{}- 2013. godine: 50 miliona, -{Xilinx}- -{}-
Vrednost tržišta 1985: prva komercijalna -{FPGA}- komponenta: -{Xilinx XC2064}- -{}- 1987. godine: 14 miliona dolara-{}- ≈1993. godine: >385 miliona dolara-{}- 2005. godine: 1,9 milijardi dolara-{Dylan McGrath, EE Times, ">". May 24, 2006. Retrieved February 5, 2009.}- 2010. godine: 2,75 milijardi dolara-{}- 2013. godine: 5,4 milijardi dolara -{}- 2020. godine (procena): 9,8 milijardi dolara-{}-
Poređenja
Istorijski gledano, -{FPGA}- komponente su sporije, manje energetski efikasne i uglavnom su postigle manje funkcionalnosti nego integrisano kolo specifične namene ( (-{ASIC}-)). Starija studija pokazala je da dizajn koji se implementira na -{FPGA}- komponenti zahteva u proseku 40 puta više prostora, vuče 12 puta više struje i izvršava se tri puta brže od odgovarajućih -{ASIC}- implementacija. Nedavno su -{FPGA}- komponente kao što su -{Xilinx Virtex-7}- ili -{Altera Stratix}- 5 mogle da se suprotstave odgovarajućim -{ASIC}- i -{ASSP}- rešenjima pružajući značajno smanjenje potrošnje energije, povećanu brzinu, niže troškove materijala, minimalnu implementaciju i povećane mogućnosti za ponovnu konfiguraciju prilikom rada. Na mestu gde je prethodni dizajn možda uključio 6 do 10 -{ASIC}- komponenti, isti dizajn se sada može postići koristeći samo jednu -{FPGA}- komponentu.-{}-
Prednosti -{FPGA}- komponente uključuju mogućnost da se ponovo programiraju nakon isporuke kako bi popravili greške, niže nepovratne troškove i mogu uključiti kraće vreme lansiranja na tržište. Proizvođači takođe mogu da naprave kompromis tako što razvijajusvoj hardver na običnim -{FPGA}- uređajima, ali proizvode svoju finalnu verziju kao -{ASIC}-, tako da se više ne može modifikovati nakon što je dizajn izvršen.
Kompanija -{Xilinx}- tvrdi da nekoliko tržišnih i tehnoloških dinamika menja paradigmu -{ASIC / FPGA}-:-{Tim Erjavec, White Paper, ">." February 2, 2009. Retrieved February 2, 2009}- Troškovi razvoja integrisanog kola ubrzano rastu Složenost -{ASIC}--a je produžila vreme razvoja Resursi za istraživanje i razvoj, kao i broj zaposlenih se smanjuje Gubitak prihoda zbog sporog lansiranja na tržište se povećava Finansijska ograničenja u lošoj ekonomiji pokreću jeftine tehnologije
Ovi trendovi čine -{FPGA}- komponente boljem alternativom od -{ASIC}--a za veći broj velikih aplikacija.-{}-
Neke -{FPGA}- komponente imaju mogućnost delimične ponovne konfiguracije koja omogućava da se jedan deo uređaja ponovo programira dok ostali delovi nastavljaju neometano da rade.
Kompleksni programabilni logički uređaji
Primarne razlike između kompleksnih programabilnih logičkih uređaja ( (-{CPLD}-)) i -{FPGA}- komponenti su u arhitekturi. -{CPLD}- ima donekle restriktivnu strukturu koja se sastoji od jedne ili više programabilnih logičkih nizova koji napajaju relativno mali broj registarskih jedinica. Rezultat toga je manja fleksibilnost, uz prednost predviđanja vremenskih zakašnjenja. Sa druge strane, -{FPGA}- arhitekture dominiraju u međusobnom povezivanju. Ovo ih čini daleko fleksibilnijim (u smislu raspona dizajna koji su praktični za implementaciju unutar njih), ali i daleko kompleksnije za dizajn.
U praksi, razlika između -{FPGA}- komponenti i -{CPLD}- često je veličina, jer su -{FPGA}- komponente obično mnogo veće u smislu resursa nego -{CPLD}-. Obično samo -{FPGA}- komponente sadrže složenije ugrađene funkcije kao što su sabirači, funkcije množenja i memorija. Još jedna uobičajena razlika je u tome što -{CPLD}- sadrže ugrađenu memoriju za čuvanje njihove konfiguracije, dok FPGA komponente obično, ali ne uvek, zahtevaju spoljašnju neovlašćenu memoriju.
Sigurnosna razmatranja