From Wikipedia, the free encyclopedia
(engl. ) predstavlja integrisano kolo projektovano tako da se njegova unutrašnja struktura može konfigurisati od strane krajnjeg korisnika. Definisanje unutrašnje strukture komponente se vrši uz pomoć (engl. ) jezika ili šematskih dijagrama.
Svaka 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.
Savremene komponente u sebi sadrže veliki broj logičkih kola i RAM blokova za implementaciju kompleksnih digitalnih izračunavanja. 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 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 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. Ovakvi uređaji brišu liniju između FPGA komponenti koje sadrže jedinice i nule i FPAA (engl. ) koji sadrži analogne vrednosti.
Proizvodnja komponenti je proizišla iz programabilne memorije za čitanje (PROM) i programabilnih logičkih uređaja (). 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, (engl. ) je finansirao eksperiment koji je predložio 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 i 1985. godine.
je osnovana 1983. godine i isporučila je prvi industrijski reprogramabilan logički uređaj 1984. godine. To je bio 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 i su napravili prvu komercijalnu komponentu 1985. godine, .Ona je imala programabilna logička kola, programabilne veze između logičkih kola. Ovo je bio početak nove tehnologije. Takođe, komponenta je imala konfigurabilne logičke blokove sa dve ili tri ulazne lukap tabele. Nakon više od 20 godina otada, je ušao u (engl. ) za svoj pronalazak.
Kompanije i 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 (sada ) je snabdevala oko 18 procenata tržišta, a do 2010. godine, kompanije (31 procenat), (10 procenata) i (36 procenata) su zajedno snabdevale 77 procenata tržišta komponenti.
Devedesete su bile eksplozivan period za komponente, kako zbog sofisticiranosti, tako i zbog obima proizvodnje. Ranih devedesetih primarno su se koristile u telekomunikaciji i umrežavanju. Do kraja decenije, komponente su prošle svoj put u potrošačku, automobilsku i industrijsku primenu.
Nedavni trend je bio da grubi arhitektonski pristup napravi još korak dalje kombinovanjem logičkih blokova i veza tradicionalnih 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 i iz 1982. godine, koja je kombinovala rekonfigurababilnu arhitekturu na jednom čipu zvanom . Primeri takvih hibridnih tehnologija mogu se naći u -u, koji uključuje ARM procesor sa dva jezgra brzine 1.0 spojen sa logičkom strukturom komponente ili sa , koji ima ARM procesor sa dva jezgra brzine 800. je još jedan takav uređaj koji koristi procesor u kombinaciji sa programabilnom logičkom arhitekturom . Uređaji sadrže ARM procesorsko jezgro (sa do 512 kB fleš memorije i 64 kB RAM-a) i analogne periferije kao što su višekanalni i -ovi za strukturu.
Alternativni pristup korišćenju hard-makro procesora je korišćenje softverskih procesora koji se implementiraju u okviru logike. i su primeri popularnih softverskih procesora. Mnoge savremene 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 S5000, usvajaju hibridni pristup obezbeđujući niz jezgara procesora i -programabilnih jezgara na istom čipu.
Kompanije kao što je počele su da koriste komponente za ubrzavanje sistema visokih performansi, računarsko intenzivnih sistema (kao što su centri za podatke koji upravljaju njihovim Bing pretraživačima.
Istorijski gledano, komponente su sporije, manje energetski efikasne i uglavnom su postigle manje funkcionalnosti nego integrisano kolo specifične namene (engl. ()). Starija studija pokazala je da dizajn koji se implementira na 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 implementacija. Nedavno su komponente kao što su ili 5 mogle da se suprotstave odgovarajućim i 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 komponenti, isti dizajn se sada može postići koristeći samo jednu komponentu.
Prednosti 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 uređajima, ali proizvode svoju finalnu verziju kao , tako da se više ne može modifikovati nakon što je dizajn izvršen.
Kompanija tvrdi da nekoliko tržišnih i tehnoloških dinamika menja paradigmu :
Ovi trendovi čine komponente boljem alternativom od -a za veći broj velikih aplikacija.
Neke 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.
Primarne razlike između kompleksnih programabilnih logičkih uređaja (engl. ()) i komponenti su u arhitekturi. 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, 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 komponenti i često je veličina, jer su komponente obično mnogo veće u smislu resursa nego . Obično samo 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 sadrže ugrađenu memoriju za čuvanje njihove konfiguracije, dok FPGA komponente obično, ali ne uvek, zahtevaju spoljašnju neovlašćenu memoriju.
Što se tiče sigurnosti, komponente imaju i prednosti i nedostatke u poređenju sa kolom ili sigurnim mikroprocesorima. Fleksibilnost smanjuje rizik od zlonamernih modifikacija tokom izrade. Ranije, za mnoge komponente, dizajniran protok bitova je bio izložen dok ga učitava iz spoljne memorije (obično na svakom uključivanju). Svi glavni proizvođači komponenti sada nude širok spektar rešenja za zaštitu dizajnerima, kao što su enkripcija i autentifikacija. Na primer, i nude AES (do 256 bita) šifrovanje za protok bitova koji se čuvaju u spoljnoj memoriji.
komponente koji svoju konfiguraciju čuvaju interno u nepromenljivoj fleš memoriji, kao što su 3 programabilni uređaj, koji proizvodi kompanija ili programabilni uređaj koji proizvodi kompanija , ne izlažu protok bitova i nije im potrebna enkripcija. Korinici koji očekuju veću sigurnost mogu da koriste koji proizvodi .
Istraživači i su 2012. godine pokazali da komponente mogu biti podložne neprijateljskoj nameri. Otkrili su kritičnu ranjivost koja je proizvedena u silicijumu kao deo 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.
se može koristiti za rešavanje bilo kog problema koji je izračunjiv. To dokazuje činjenica da se može koristiti za implementaciju softverskog mikroprocesora, kao što je ili . 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.
Još jedan trend u korišćenju komponenti je hardversko ubrzanje, gde se može koristiti za ubrzavanje određenih delova algoritma i podeliti izračunavanja između komponente i generičkog procesora.
Tradicionalno, 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 -a za aplikaciju male zapremine. Danas su nove dinamike troškova i performansi proširile opseg održivih aplikacija.
Uobičajene primene komponenti:
Najčešće arhitektura komponente se sastoji od niza logičkih blokova (naziva se logički blok koji se može konfigurisati, ili blok logike, , 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 komponenti sa odgovarajućim resursima. Iako je potreban broj , 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 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 ( ili ) se sastoji od nekoliko logičkih ćelija (nazvanih itd.). Tipična ćelija se sastoji od komponente sa 4 ulaza, potpunog sabirača (engl. ) i D flip-flopa, kako je prikazano na slici. komponente su na ovoj slici podeljeni na dve komponente sa tri ulaza. U normalnom režimu oni se kombinuju u 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 komponente kako bi se uštedeo prostor.
Većina kola napravljenih unutar komponente predstavljaju sinhrona kola koja zahtevaju signal časovnika. komponente sadrže namenske globalne i regionalne mrežne rutere za časovnik i resetovanje. Takođe, komponente uglavnom sadrže analogne i / ili 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.
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.
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. komponenta izgrađena od više ovakvih konstrukcija naziva se heterogena FPGA komponenta.
Da bi definisao ponašanje komponente, korisnik obezbeđuje dizajn na jeziku hardvera () ili kao šematski dizajn. 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. ). može tada biti usklađen sa stvarnom arhitekturom koristeći proces koji se zove smesti-i-poveži (engl. ), koji se obično vrši od strane vlasničkog softvera 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 preko serijskog interfejsa () ili na spoljni memorijski uređaj kao EEPROM.
Najčešći jezici za opis hardvera su i , 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 kompanije (ponekad pod nazivom ) ima dodatak koji je namenjen za programiranje hardvera.
Da bi se pojednostavio dizajn složenih sistema u 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 jezgra i dostupna su od proizvođača 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 (tipično objavljeni pod slobodnim licencama i licencama otvorenog koda kao što su , ili slična licenca) i drugih izvora.
U tipičnom toku dizajna, aplikator će simulirati dizajn u više faza tokom procesa projektovanja. U početku je opis -a u -u ili -u simuliran stvaranjem testova za simulaciju sistema i posmatranje rezultata. Zatim, nakon što je motor za logičku sintezu mapirao dizajn na netlistu, 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 , u kojem se mogu dodati kašnjenja propagacije i simulacija se ponovo pokreće sa ovim vrijednostima.
Nedavno, programeri su počeli da koriste ne bi li iskoristili prednosti performansi i efikasnosti snage koje obezbeđuju. omogućava programerima da razvijaju kod na programskom jeziku i ciljane funkcije kao jezgra koristeći konstrukte.
Trenutno glavne proizvođače komponenti na tržištu čine kompanije i . Zajedno kontrolišu preko 80% tržišta, a sam preko 50% čitavog tržišta.
Kompanije koje takođe proizvode komponente su:
U martu 2010. godine dve kompanije, i , su objavile svoje nove tehnologije.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.