FPGA: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
Resümee puudub
1. rida:
{{keeletoimeta}}
[[Pilt:Altera StratixIVGX FPGA.jpg|thumb|300px|Altera Stratix IV GX FPGA]]
'''FPGA''' (''field-programmable gate array)''' ) on [[mikroskeem]], mis on disainitud nii, et selle täpse konfiguratsiooni määrab selle kasutaja, mitte tootja. FPGA konfiguratsioon määratakse tavaliselt [[riistvara kirjeldamise keel|riistvara kirjeldamise keelega]] ('''hardware description language'' - HDL'''), mis on sarnane keelele, millega kirjeldatakse [[rakenduse spetsiifiline mikroskeem|rakenduse spetsiifilisi mikroskeeme]] ('''application-specific integrated circuit'' - ASIC'''). FPGA suudab esitada igat loogilist funktsiooni, mida rakenduse spetsiifiline mikroskeem võib esitada.<ref>{{Cite book| last1 = Wiśniewski | first1 = Remigiusz | title = Synthesis of compositional microprogram control units for programmable devices | date = 2009 | publisher = University of Zielona Góra | location = Zielona Góra | isbn = 978-83-7481-293-1 | pages = 153 }}</ref>
 
FPGA koosneb programmeeritavatest loogika komponentidest, mida kutsutakse '''loogika plokkideks''', ja seadistatavatest vaheühendustest, mille abil saab loogika plokke ühendada. Loogika plokke saab panna tegema keerulisi funktsioone aga ka lihtsaid loogilisi tehteid nagu näiteks [[AND]] ja [[XOR]]. Tihti on FPGA igas loogika plokis ka mälu elemendid, mis võivad olla lihtsad [[Triger|flipp-floppid]] või keerulisemad mälu üksused.<ref name="FPGA">[http://www.eecg.toronto.edu/~vaughn/challenge/fpga_arch.html FPGA Architecture for the Challenge]</ref>
'''FPGA (field-programmable gate array)''' on [[mikroskeem]], mis on disainitud nii, et selle täpse konfiguratsiooni määrab selle kasutaja, mitte tootja. FPGA konfiguratsioon määratakse tavaliselt [[riistvara kirjeldamise keel|riistvara kirjeldamise keelega]] ('''hardware description language - HDL'''), mis on sarnane keelele, millega kirjeldatakse [[rakenduse spetsiifiline mikroskeem|rakenduse spetsiifilisi mikroskeeme]] ('''application-specific integrated circuit - ASIC'''). FPGA suudab esitada igat loogilist funktsiooni, mida rakenduse spetsiifiline mikroskeem võib esitada.<ref>{{Cite book| last1 = Wiśniewski | first1 = Remigiusz | title = Synthesis of compositional microprogram control units for programmable devices | date = 2009 | publisher = University of Zielona Góra | location = Zielona Góra | isbn = 978-83-7481-293-1 | pages = 153 }}</ref>
 
Lisaks digitaalsetele funktsioonidele on mõnel FPGA-l võimalused ka [[analoogelektroonika]] jaoks. Enamasti saab programmaatiliseltprogramaatiliselt muuta kiibi jalal oleva signaali muutumise kiirust ja väljund voolu tugevust. Teiseks on suhteliselt tavalised analoogsignaali võrdlejad. Eksisteerivad ka mõned seadmed, milles on olemas nii [[Analoog-digitaalmuundur|analoog-digitaalmuundurid]] kui ka [[Digitaal-analoogmuundur|digitaal-analoogmuundurid]], mis lubavad FPGA-l käituda nagu [[Süsteemikiip|süsteemikiip]].<ref>Mike Thompson, EETimes[http://www.eetimes.com/showArticle.jhtml?articleID=200000777 Mixed-signal FPGAs provide GREEN POWER]</ref>
FPGA koosneb programmeeritavatest loogika komponentidest, mida kutsutakse '''loogika plokkideks''', ja seadistatavatest vaheühendustest, mille abil saab loogika plokke ühendada. Loogika plokke saab panna tegema keerulisi funktsioone aga ka lihtsaid loogilisi tehteid nagu näiteks [[AND]] ja [[XOR]]. Tihti on FPGA igas loogika plokis ka mälu elemendid, mis võivad olla lihtsad [[Triger|flipp-floppid]] või keerulisemad mälu üksused.<ref name="FPGA">[http://www.eecg.toronto.edu/~vaughn/challenge/fpga_arch.html FPGA Architecture for the Challenge]</ref>
 
Lisaks digitaalsetele funktsioonidele on mõnel FPGA-l võimalused ka [[analoogelektroonika]] jaoks. Enamasti saab programmaatiliselt muuta kiibi jalal oleva signaali muutumise kiirust ja väljund voolu tugevust. Teiseks on suhteliselt tavalised analoogsignaali võrdlejad. Eksisteerivad ka mõned seadmed, milles on olemas nii [[Analoog-digitaalmuundur|analoog-digitaalmuundurid]] kui ka [[Digitaal-analoogmuundur|digitaal-analoogmuundurid]], mis lubavad FPGA-l käituda nagu [[Süsteemikiip|süsteemikiip]].<ref>Mike Thompson, EETimes[http://www.eetimes.com/showArticle.jhtml?articleID=200000777 Mixed-signal FPGAs provide GREEN POWER]</ref>
 
==Ajalugu==
FPGA kasvas välja [[programmeeritav püsimälu|programmeeritavatest püsimäludest]]''' (PROM)''' ja [[programmeeritav loogika seade|programmeeritavatest loogika seadmetest]]''' (PLD)'''. Neid mõlemaid sai programmeerida, aga [[loogika värav|loogika väravate]] vahelised ühendused jäid samaks.<ref name="history">[http://www.fpgacentral.com/docs/fpga-tutorial/history-programmable-logic ''History of the programmable logic'']</ref>
 
'''Naval Surface Warfare Department''' rahastas hilistel 1980ndatel '''Steve Casselman'''-i poolt juhitud eksperimenti, mille eesmärgiks oli luua arvuti, mis implementeeriks 600 000 taasprogrammeeritavat [[loogika värava|loogika väravat]]. Casselman-il see õnnestuõnnestus ja sellega seonduv patent anti välja 1992. aastal.
 
Mõned teedrajavad kontseptsioonid ja tehnoloogiad programmeeritavate loogika väravate ja loogika plokkide kohta leiduvad patentides, mis 1985. aastal '''David W. Page''''ilePageile ja '''LuVerne R. Peterson'''-ilePetersonile anti.
 
'''[[Xilinx]]'''-i kaasasutajad '''Ross Freeman''' ja '''Bernard Vonderschmitt''' leiutasid 1985. aastal esimese kommertsiaalse FPGA - '''XC2064'''.<ref>Peter Clarke, EE Times, "[http://www.eetimes.com/story/OEG20010622S0091 Xilinx, ASIC Vendors Talk Licensing]."</ref> XC2064-l oli programmeeritavad väravad ja programmeeritavad vaheühendused. See oli uue tehnoloogia ja turu algus.<ref name="four">Funding Universe. “[http://www.fundinguniverse.com/company-histories/Xilinx-Inc-Company-History.html Xilinx, Inc.]”</ref> XC2064-l oli 64 seadistatavat loogika plokki, millel oli kaks 3 sisendiga [[otsingutabel|otsingutabelit]].<ref name="clive">Clive Maxfield, Programmable Logic DesignLine, "[http://www.pldesignline.com/products/187203173 Xilinx unveil revolutionary 65nm FPGA architecture: the Virtex-5 family].</ref>
 
[[Xilinx]] jätkas konkurentideta ja kasvas kiirelt kuni 1990ndate keskpaigani, millal konkurendid kanda kinnitasid. 1993. aastaks oli '''Actel'''-i käes 18% kogu FPGAde turust.<ref name="four"/>
22. rida:
===Kaasaegsed arengud===
 
Hiljutine trend on viia traditsiooniline FPGA edasi ja ühendada see mikroprotsessori ja teise lisaseadmetega, et moodustada [[süsteemikiip]]. Näiteks sellistest hübriid -tehnoloogiatest võib tuua [[Xilinx]] Virtex-II PRO ja Virtex-4 seadmed, kus on üks või rohkem [[PowerPC]] protsessorit FPGA loogika kangasse integreeritud. [[Atmel]]-i FPSLIC on veel üks selline seade, mis kasutab AVR-i protsessorit koos Atmel-i programmeeritava loogika arhitektuuriga.
 
Alternatiivne lähenemine protsessorite kasutamises on võimalus kasutada tarkvaralisi protsessoreid, mis on implementeeritud otse FPGA loogikale.
 
Lisaks hakkavad tekkima mõned uued arhitektuurid, mis ei ole enam tüüpilised FPGAdFPGA-d. Tarkvaraliselt seadistatav mikroprotsessori seeria Stretch S5000 kasutab hübriidset lähenemist pakkudes kasutajale tavapäraseid protsessori tuumasid ja FPGA sarnaseid programmeeritavaid tuumasid samal kiibil.
 
===Loogika väravate arv===
35. rida:
 
===Turu suurus===
*1985: EsimeseEsimene kommertsiaalsekommertsiaalne FPGA tehnoloogia leiutati Xilinx-i poolt.<ref name="four"/>
*1987: 14 millionitmiljonit dollarit<ref name="four" />
*~1993: Üle 385 millionimiljoni dollari<ref name="four" />
*2005: 1,9 miljardit dollarit<ref name="instat">Dylan McGrath, EE Times, "[http://www.eetimes.com/news/design/business/showArticle.jhtml?articleID=188102617 FPGA Market to Pass $2.7 Billion by '10, In-Stat Says]".</ref>
*2010: hinnanguliselt 2,75 miljardit dollarit<ref name="instat" />
98. rida:
 
==FPGA disain ja programmeerimine==
Et määrata FPGA käitumine peab kasutajal olema [[riistvara kirjeldamise keel|riistvara kirjeldamise keelega]] ('''hardware description language'' - HDL''') või elektriskeemiga disain. HDL on parem vorm, kui on vaja töötada suurte struktuuridega, sest seal saab neid nummerdada, mitte ei pea igat väikest osa käsitsi joonistama. Aga visualiseerimiseks on parem kasutada skeemi.
 
Siis kasutades mõnda abiprogrammi genereeritakse elektriliste ühenduste nimekiri. Siis selle ühenduste nimekirja saab konkreetse FPGA peale kaardistada. Selle jaoks on tavaliselt FPGA tootja poolt valmistatud kinnine tarkvara. Kasutaja vaatab tulemuse üle erinevate valideerimismeetoditega, mis võivad näidata nii ajastuse analüüsi kui ka süsteemi simulatsiooni.