FPGA

С Википедије, слободне енциклопедије
Altera Stratix IV GX FPGA
Primer Xilinx Spartan 6 FPGA programibilno/evaluacionog kola

FPGA (engl. Field-Programmable Gate Array) 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 (engl. Hardware Description Language) 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.[1]

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[2] 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.[1]

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.[3][4] 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.[5] Ovakvi uređaji brišu liniju između FPGA komponenti koje sadrže jedinice i nule i FPAA (engl. Field-programmable analog array) 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.[6]

U kasnim osamdesetim, NSWC (engl. Naval Surface Warfare Center) 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.[6]

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.[7][8]

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.[9]

Osnivači kompanije Xilinx, Ross Freeman i Bernard Vonderschmitt su napravili prvu komercijalnu FPGA komponentu 1985. godine, XC2064.[10][11] Ona je imala programabilna logička kola, programabilne veze između logičkih kola. Ovo je bio početak nove tehnologije.[12] 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 (engl. National Inventors Hall of Fame) za svoj pronalazak.[13][14][15]

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.[16]

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.[17]

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 800MHz. 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.

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.[18]

Kola[уреди | уреди извор]

  • 1982. godine: 8,192 kola, Burroughs Advances Systems Group, integrisani u S-Type 24-bitniprocesor za reprogramiranje ulaza i izlaza.[7][8]
  • 1987. godine: 9,000 kola, Xilinx [12]
  • 1992. godine: 600, 000, Naval Surface Warfare Department [12]
  • početak 2000. godine: milioni [17]
  • 2013. godine: 50 miliona, Xilinx [19]

Vrednost tržišta[уреди | уреди извор]

  • 1985: prva komercijalna FPGA komponenta: Xilinx XC2064 [12][10]
  • 1987. godine: 14 miliona dolara[12]
  • ≈1993. godine: >385 miliona dolara[12]
  • 2005. godine: 1,9 milijardi dolara[20]
  • 2010. godine: 2,75 milijardi dolara[20]
  • 2013. godine: 5,4 milijardi dolara [21]
  • 2020. godine (procena): 9,8 milijardi dolara[21]

Poređenja[уреди | уреди извор]

Istorijski gledano, FPGA komponente su sporije, manje energetski efikasne i uglavnom su postigle manje funkcionalnosti nego integrisano kolo specifične namene (engl. Application-Specific Integrated Circuit (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.[22]

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:[23]

  • 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.[23]

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 (engl. Complex programmable logic devices (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[уреди | уреди извор]

Što se tiče sigurnosti, FPGA komponente imaju i prednosti i nedostatke u poređenju sa ASIC kolom ili sigurnim mikroprocesorima. Fleksibilnost FPGA smanjuje rizik od zlonamernih modifikacija tokom izrade.[24] Ranije, za mnoge FPGA komponente, dizajniran protok bitova je bio izložen dok ga FPGA učitava iz spoljne memorije (obično na svakom uključivanju). Svi glavni proizvođači FPGA komponenti sada nude širok spektar rešenja za zaštitu dizajnerima, kao što su bitstream enkripcija i autentifikacija. Na primer, Altera i Xilinx nude AES (do 256 bita) šifrovanje za protok bitova koji se čuvaju u spoljnoj memoriji.

FPGA komponente koji svoju konfiguraciju čuvaju interno u nepromenljivoj fleš memoriji, kao što su ProAsic 3 programabilni uređaj, koji proizvodi kompanija Microsemi ili XP2 programabilni uređaj koji proizvodi kompanija Lattice, ne izlažu protok bitova i nije im potrebna enkripcija. Korinici koji očekuju veću sigurnost mogu da koriste Antifuse FPGA koji proizvodi Microsemi.

Istraživači Sergej Skorobogatov i Christopher Woods su 2012. godine pokazali da FPGA komponente mogu biti podložne neprijateljskoj nameri. Otkrili su kritičnu ranjivost koja je proizvedena u silicijumu kao deo Actel / Microsemi ProAsic 3, čineći je ranjivom na mnogio nivoa kao što su reprogramiranje kripto i pristupnih ključeva, pristupanje nešifrovanom protoku podataka, modifikovanje silicijumskih karakteristika na nižem nivou i ekstrakcija konfiguracionih podataka.[25]

Primene[уреди | уреди извор]

FPGA se može koristiti za rešavanje bilo kog problema koji je izračunjiv. To dokazuje činjenica da se FPGA može koristiti za implementaciju softverskog mikroprocesora, kao što je Xilinx MicroBlaze ili Altera Nios II. Njihova prednost leži u tome što su ponekad znatno brži za neke aplikacije zbog njihove paralelne prirode i optimalnosti u pogledu broja kapija koje se koriste za određeni proces.[26][27]

Još jedan trend u korišćenju FPGA komponenti je hardversko ubrzanje, gde se može koristiti FPGA za ubrzavanje određenih delova algoritma i podeliti izračunavanja između FPGA komponente i generičkog procesora.

Tradicionalno, FPGA komponente su rezervisane za specifične vertikalne aplikacije čiji je obim proizvodnje mali. Kod ovih aplikacija male količine, cena koju kompanije plaćaju po jedinici za programabilni čip je pristupačnija od razvojnih resursa potrošenih za kreiranje ASIC-a za aplikaciju male zapremine. Danas su nove dinamike troškova i performansi proširile opseg održivih aplikacija.

Uobičajene primene FPGA komponenti:

  • Obrada zvuka
  • Komunikacija
  • Bioinformatika
  • Medicina
  • Bežična komunikacija
  • Obrada slike
  • Obrada videa
  • Centri za obradu podataka
  • Industrijska primena
  • Nauka

Arhitektura[уреди | уреди извор]

Logički blokovi[уреди | уреди извор]

Pojednostavljen primer logičke ćelije

Najčešće arhitektura FPGA komponente[1] se sastoji od niza logičkih blokova (naziva se logički blok koji se može konfigurisati, CLB ili blok logike, LAB, zavisno od proizvođača), delova za ulaz i izlaz i kanala za usmeravanje. Generalno, svi kanali za usmeravanje imaju istu širinu (broj žica).

Aplikaciono kolo mora biti mapirano u FPGA komponenti sa odgovarajućim resursima. Iako je potreban broj CLB / LAB, ulaza i izlaza lako odrediti iz dizajna, broj potrebnih staza rutiranja može značajno da varira čak i kod dizajna sa istom količinom logike. Pošto neiskorišćene staze za rutiranje povećavaju troškove (i smanjuju performanse) izrade komponente bez ikakve dobiti, proizvođači FPGA komponenti pokušavaju da obezbede taman toliko staza tako da se ulazi i izlazi mogu rutirati i da stanu sve lukap tabele. Ovo se određuje procenama kao što su one koje proizilaze iz Rentovog pravila ili eksperimentima sa postojećim dizajnom.

Generalno, logički blok (CLB ili LAB) se sastoji od nekoliko logičkih ćelija (nazvanih ALM, LE itd.). Tipična ćelija se sastoji od LUT komponente sa 4 ulaza, potpunog sabirača (engl. Full Adder) i D flip-flopa, kako je prikazano na slici. LUT komponente su na ovoj slici podeljeni na dve LUT komponente sa tri ulaza. U normalnom režimu oni se kombinuju u LUT komponentu sa 4 ulaza kroz levi multiplekser. U aritmetičkom modu, njihovi izlazi se prenose u potpuni sabirač. Izbor režima programira se u srednjem multiplekseru. Izlaz može biti ili sinhroni ili asinhroni, zavisno od programiranja multipleksera desno, na primeru sa slike. U praksi, ceo ili delovi potpunog sabirača se stavljaju kao funkcije u LUT komponente kako bi se uštedeo prostor.[28][29][30]

Časovnik[уреди | уреди извор]

Većina kola napravljenih unutar FPGA komponente predstavljaju sinhrona kola koja zahtevaju signal časovnika. FPGA komponente sadrže namenske globalne i regionalne mrežne rutere za časovnik i resetovanje. Takođe, FPGA komponente uglavnom sadrže analogne PLL i / ili DLL komponente za sintetizovanje novih frekvencija takta. Kola složenijeg dizajna mogu da koriste više časovnika sa različitim frekvencijskim i faznim odnosima, od kojih svaka formira zasebne domene. Ovi taktni signali mogu se generisati lokalno putem oscilatora ili se mogu dobiti iz serijskog toka velike brzine. Potrebno je voditi računa o izgradnji kola za prelazak dometa časovnika kako bi se izbegla metastabilnost.

3D arhitektura[уреди | уреди извор]

Da bi smanjili veličinu i potrošnju energije FPGA, proizvođači kao što su Tabula i Ksilink su predstavili nove 3D ili složene arhitekture. [31][32]

Kompanija Xilinx ima pristup koji stapa nekoliko (tri ili četiri) aktivne FPGA komponente jednu pored druge na silikonskom interpozeru - komad silicijumskog čipa koji oslikava pasivnu međusobnu povezanost. [32][33] FPGA komponenta izgrađena od više ovakvih konstrukcija naziva se heterogena FPGA komponenta.[34]

Dizajn i programiranje[уреди | уреди извор]

Da bi definisao ponašanje FPGA komponente, korisnik obezbeđuje dizajn na jeziku hardvera (HDL) ili kao šematski dizajn. HDL forma je prikladnija za rad sa velikim strukturama, jer je moguće jednostavno precizirati ih numerički, a ne da ručno treba crtati svaki komad. Međutim, šematski pristup može omogućiti lakšu vizualizaciju dizajna.

Zatim, pomoću alata za automatizaciju elektronskog dizajna, generiše se lista elektronskih komponenti i čvorova s kojima su povezani (engl. Netlist). Netlist može tada biti usklađen sa stvarnom FPGA arhitekturom koristeći proces koji se zove smesti-i-poveži (engl. place-and-route), koji se obično vrši od strane vlasničkog softvera FPGA kompanije. Korisnik će potvrditi mapu, položiti i usmeriti rezultate pomoću vremenskih analiza, simulacije i drugih metoda verifikacije. Kada se proces dizajna i validacije završi, binarna datoteka koja se generiše (takođe koristeći vlasnički softver kompanije FPGA) se koristi za (ponovno) konfigurisanje FPGA. Ova datoteka se prenosi na FPGA / CPLD preko serijskog interfejsa (JTAG) ili na spoljni memorijski uređaj kao EEPROM.

Najčešći jezici za opis hardvera su VHDL i Verilog, iako u pokušaju da se smanji složenost dizajniranja u jezicima za opis hardvera, koji su upoređeni sa ekvivalentnim asemblerskim jezicima,postoje inicijative da se podigne nivo apstrakcije uvođenjem alternativnih jezika. Grafički programski jezik LabVIEW kompanije National Instruments (ponekad pod nazivom "G") ima FPGA dodatak koji je namenjen za programiranje FPGA hardvera.

Da bi se pojednostavio dizajn složenih sistema u FPGA komponenti, postoje biblioteke unapred definisanih složenih funkcija i kola koji su testirani i optimizovani kako bi se ubrzao proces dizajna. Ova unapred definisana kola se obično zovu IP jezgra i dostupna su od proizvođača FPGA komponenti i raznih dobavljača (retko su besplatni i obično su objavljeni pod vlasničkim licencama). Ostala predefinisana kola su dostupna od zajednica programera kao što su OpenCores (tipično objavljeni pod slobodnim licencama i licencama otvorenog koda kao što su GPL, BSD ili slična licenca) i drugih izvora.

U tipičnom toku dizajna, FPGA aplikator će simulirati dizajn u više faza tokom procesa projektovanja. U početku je opis RTL-a u VHDL-u ili Verilog-u simuliran stvaranjem testova za simulaciju sistema i posmatranje rezultata. Zatim, nakon što je motor za logičku sintezu mapirao dizajn na netlistu, netlist je preveden u opis na nivou osnovnih logičkih kola, gde se simulacija ponavlja kako bi se potvrdila sinteza koja se nastavila bez grešaka. Na kraju, dizajn je postavljen u FPGA, u kojem se mogu dodati kašnjenja propagacije i simulacija se ponovo pokreće sa ovim vrijednostima.

Nedavno, programeri su počeli da koriste OpenCL ne bi li iskoristili prednosti performansi i efikasnosti snage koje FPGA obezbeđuju. OpenCL omogućava programerima da razvijaju kod na programskom jeziku C i ciljane FPGA funkcije kao OpenCL jezgra koristeći OpenCL konstrukte.[35]

Osnovni tipovi tehnologija[уреди | уреди извор]

  • SRAM – na bazi tehnologije statičke memorije. Programiranje unutar sistema i reprogramabilni. Zahteva spoljne uređaje za pokretanje. CMOS. Trenutno u upotrebi. Važno je napomenuti da fleš memorija ili EEPROM uređaj često učitava sadržaj u interni SRAM koji kontroliše rutiranje i logiku.
  • Električni osigurač – Samo jednom moguće programiranje. Bipolarni. Zastarelo.
  • Antifuse – Samo jednom moguće programiranje. CMOS.
  • PROM – (engl. Programmable Read-Only Memory) tehnologija. Samo jednom moguće programiranje zbog plastične kutije. Zastarelo.
  • EPROM – (engl. Erasable Programmable Read-Only Memory) tehnologija. Samo jednom moguće programiranje, ali se može obrisati izlaganjem ultra ljubičastoj svetlosti. CMOS. Zastarelo.
  • EEPROM – (engl. Electrically Erasable Programmable Read-Only Memory) tehnologija. Može se obrisati, čak iako je u plastičnim kutijama. Neki, ali ne svi EEPROM se mogu programirati unutar sistema. CMOS.
  • Fleš – Može se izbrisati, čak i u plastičnim kutijama. Neki, ali ne svi fleš uređaji se mogu programirati unutar sistema. Obično fleš ćelija je manja od ekvivalentne EEPROM ćelije i zato je njena proizvodnja jeftinija. CMOS.

Proizvođači FPGA komponenti[уреди | уреди извор]

Trenutno glavne proizvođače FPGA komponenti na tržištu čine kompanije Xilinx i Altera. Zajedno kontrolišu preko 80% tržišta, a sam Xilinx preko 50% čitavog tržišta.

Kompanije koje takođe proizvode FPGA komponente su: Lattice Semiconductor, Actel, Atmel, SiliconBlue Technologies, QuickLogic i Achronix.

U martu 2010. godine dve kompanije, Tier Logic i Tabula, su objavile svoje nove FPGA tehnologije.

Vidite još[уреди | уреди извор]

  • VHDL (Integrisano kolo veoma velike brzine) jezik za opis hardvera

Reference[уреди | уреди извор]

  1. ^ а б в „FPGA Architecture for the Challenge”. toronto.edu. 
  2. ^ Wisniewski, Remigiusz (2009). Synthesis of compositional microprogram control units for programmable devices. Zielona Góra: University of Zielona Góra. стр. 153. ISBN 978-83-7481-293-1. [мртва веза]
  3. ^ „FPGA Signal Integrity tutorial”. altium.com. Архивирано из оригинала 07. 03. 2016. г. Приступљено 01. 01. 2018. 
  4. ^ NASA: FPGA drive strength Архивирано 2010-12-05 на сајту Wayback Machine
  5. ^ Mike Thompson. "Mixed-signal FPGAs provide GREEN POWER"[мртва веза]. EE Times, 2007-07-02.
  6. ^ а б „History of FPGAs”. Архивирано из оригинала 12. 4. 2007. г. Приступљено 11. 7. 2013. 
  7. ^ а б Google Patent Search, "Re-programmable PLA". Retrieved February 5, 2009.
  8. ^ а б Google Patent Search, "Dynamic data re-programmable PLA". Retrieved February 5, 2009.
  9. ^ „In the Beginning”. altera.com. 21. 4. 2015. 
  10. ^ а б „XCELL issue 32” (PDF). Xilinx. 
  11. ^ Peter Clarke, EE Times, "Xilinx, ASIC Vendors Talk Licensing Архивирано на сајту Wayback Machine (11. мај 2008)." June 22, 2001. Retrieved February 10, 2009.
  12. ^ а б в г д ђ Funding Universe. “Xilinx, Inc.” Retrieved January 15, 2009.
  13. ^ Clive Maxfield, Programmable Logic DesignLine, "Xilinx unveil revolutionary 65nm FPGA architecture: the Virtex-5 family Архивирано на сајту Wayback Machine (25. децембар 2009). May 15, 2006. Retrieved February 5, 2009.
  14. ^ Press Release, "Xilinx Co-Founder Ross Freeman Honored as 2009 National Inventors Hall of Fame Inductee for Invention of FPGA Архивирано на сајту Wayback Machine (6. октобар 2016)"
  15. ^ US 4870302, Freeman, Ross H., "Configurable electrical circuit having configurable logic elements and configurable interconnects", published 19. 2. 1988., issued 26. 9. 1989. 
  16. ^ „Top FPGA Companies For 2013”. sourcetech411.com. Архивирано из оригинала 09. 07. 2015. г. Приступљено 01. 01. 2018. 
  17. ^ а б Maxfield, Clive (2004). The Design Warrior's Guide to FPGAs: Devices, Tools and Flows. Elsevier. стр. 4. ISBN 978-0-7506-7604-5. 
  18. ^ „Microsoft Supercharges Bing Search With Programmable Chips”. WIRED. 16. 6. 2014. 
  19. ^ Maxfield, Max. „Xilinx UltraScale FPGA Offers 50 Million Equivalent ASIC Gates”. www.eetimes.com. EE Times. 
  20. ^ а б Dylan McGrath, EE Times, "FPGA Market to Pass $2.7 Billion by '10, In-Stat Says Архивирано на сајту Wayback Machine (15. јун 2011)". May 24, 2006. Retrieved February 5, 2009.
  21. ^ а б „Global FPGA Market Analysis And Segment Forecasts To 2020 – FPGA Industry, Outlook, Size, Application, Product, Share, Growth Prospects, Key Opportunities, Dynamics, Trends, Analysis, FPGA Report – Grand View Research Inc”. grandviewresearch.com. 
  22. ^ Kuon, Ian; Rose, Jonathan (2006). „Measuring the gap between FPGAs and ASICs”. Proceedings of the international symposium on Field programmable gate arrays – FPGA'06 (PDF). New York, NY: ACM. стр. 21—30. ISBN 978-1-59593-292-1. doi:10.1145/1117201.1117205. Архивирано из оригинала (PDF) 22. 06. 2010. г. Приступљено 01. 01. 2018. 
  23. ^ а б Tim Erjavec, White Paper, "Introducing the Xilinx Targeted Design Platform: Fulfilling the Programmable Imperative Архивирано 2009-02-06 на сајту Wayback Machine." February 2, 2009. Retrieved February 2, 2009
  24. ^ Huffmire Paper "Managing Security in FPGA-Based Embedded Systems." Nov-Dec 2008. Retrieved Sept 22, 2009
  25. ^ „Breakthrough Silicon Scanning Discovers Backdoor in Military Chip”. Digital Object Identifier: 10.1007/978-3-642-33027-8_2. 
  26. ^ „Publications and Presentations”. bdti.com. Архивирано из оригинала 27. 06. 2009. г. Приступљено 01. 01. 2018. 
  27. ^ „Xilinx aims 65-nm FPGAs at DSP applications”. EETimes. [мртва веза]
  28. ^ http://www.altera.com/literature/hb/cyc2/cyc2_cii51002.pdf
  29. ^ „Documentation: Stratix IV Devices” (PDF). Altera.com. 11. 6. 2008. Архивирано из оригинала (PDF) 26. 09. 2011. г. Приступљено 1. 5. 2013. 
  30. ^ http://www.xilinx.com/support/documentation/user_guides/ug070.pdf
  31. ^ Dean Takahashi, VentureBeat. "Intel connection helped chip startup Tabula raise $108M." May 2, 2011. Retrieved May 13, 2011.
  32. ^ а б Lawrence Latif, The Inquirer. "FPGA manufacturer claims to beat Moore's Law Архивирано на сајту Wayback Machine (29. октобар 2010)." October 27, 2010. Retrieved May 12, 2011.
  33. ^ EDN Europe. "Xilinx adopts stacked-die 3D packaging Архивирано на сајту Wayback Machine (19. фебруар 2011)." November 1, 2010. Retrieved May 12, 2011.
  34. ^ http://www.xilinx.com/support/documentation/white_papers/wp380_Stacked_Silicon_Interconnect_Technology.pdf
  35. ^ „Why use OpenCL on FPGAs?”. StreamComputing. Архивирано из оригинала 01. 01. 2017. г. Приступљено 01. 01. 2018. 

Literatura[уреди | уреди извор]

Spoljašnje veze[уреди | уреди извор]