FPGA: erinevus redaktsioonide vahel
Eemaldatud sisu Lisatud sisu
P r2.7.2+) (Robot: muudetud hu:Field-programmable gate array |
Kruusamägi (arutelu | kaastöö) PResümee puudub |
||
1. rida:
{{keeletoimeta}}
[[Pilt:Altera StratixIVGX FPGA.jpg|thumb|300px|Altera Stratix IV GX FPGA]]
'''FPGA''' (''field-programmable gate array''
FPGA koosneb programmeeritavatest loogikakomponentidest, mida kutsutakse loogikaplokkideks, ja seadistatavatest vaheühendustest, mille abil saab loogikaplokke ühendada. Loogika plokke saab panna tegema keerulisi funktsioone aga ka lihtsaid loogilisi tehteid nagu näiteks [[AND]] ja [[XOR]]. Tihti on FPGA igas loogikaplokis ka mäluelemendid, 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 programaatiliselt muuta kiibi jalal oleva signaali muutumise kiirust ja väljundvoolu 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 [[
==Ajalugu==
FPGA kasvas välja [[programmeeritav püsimälu|programmeeritavatest püsimäludest]] (PROM) ja [[programmeeritav loogikaseade|programmeeritavatest loogikaseadmetest]] (PLD). Neid mõlemaid sai programmeerida, aga [[loogikavärav]]ate-vahelised ühendused jäid samaks.<ref name="history">[http://www.fpgacentral.com/docs/fpga-tutorial/history-programmable-logic ''History of the programmable logic'']</ref>
Ameerika Ühendriikide Merepinna Sõjandusdepartemang (
Mõned teedrajavad kontseptsioonid ja tehnoloogiad programmeeritavate loogikaväravate ja loogikaplokkide kohta leiduvad patentides, mis anti 1985. aastal David W. Page'ile ja LuVerne R. Petersonile.
'''[[Xilinx]]'''-i kaasasutajad Ross Freeman ja Bernard Vonderschmitt leiutasid 1985. aastal esimese kommertsiaalse FPGA
1990ndad oli FPGA-de jaoks kiire kasvu periood nii keerukuse kui ka tootmismahtude poolest. Üheksakümnendate alguses kasutati FPGA-sid peamiselt telekommunikatsioonis ja võrgusides. Kümnendi lõpuks leidsid FPGA-d tee tööstuslikesse rakendustesse.<ref name="book">Clive Maxfield, raamat "[http://books.google.com/books?id=dnuwr2xOFpUC&pg=PA4&lpg=PA4&dq=FPGA+Market+growth+1990s&source=web&ots=YjFedB35Vp&sig=EH8y56Cih9iNLEqYXkZ63iO46K4&hl=en&sa=X&oi=book_result&resnum=4&ct=result The Design Warrior's Guide to FPGAs]". Kirjastas Elsevier, 2004. ISBN 0750676043, 9780750676045.</ref>
51. rida:
==Rakendused==
FPGA rakenduste seas on [[
FPGA-d alustasid pakkudes alternatiivi [[kompleksne programmeeritav loogikaseade|komplekssetele loogikaseadmetele]]. Nende ülesandeks oli teiste laialdaselt levinud skeemide kokkuühendamine. Kui FPGA-de võimalused kasvasid, hakkasid nad järjest rohkem ülesandeid täitma. Tänapäeval on mõned kohe päris [[süsteemikiip|süsteemikiibi]] rollis.<ref>[http://www.bdti.com/articles/info_eet0207fpga.htm FPGA/DSP Blend Tackles Telecom Apps]</ref><ref>Mark LaPedus, EETimes [http://www.eetimes.com/showArticle.jhtml?articleID=197001881 Xilinx aims 65-nm FPGAs at DSP applications]</ref>
FPGA-d leiavad eriti kasutust just seal, kus osatakse ära kasutada nende arhitektuuri poolt pakutavat paralleelsust. Üheks selliseks alaks on koodimurdmine ja krüptograafiliste algoritmide lahendamine jõumeetodil.
62. rida:
==Arhitektuur==
Kõige levinum FPGA arhitektuur<ref name="FPGA" /> koosneb '''loogikaplokkide massiivist''' (sõltuvalt tootjast kutsutakse seda kas seadistavaks loogikaplokiks (CLB) või loogika-massiiviplokkiks (LAB)), sisend/väljund jalgadest ning vaheühendustest. Üldiselt on kõigil ühendustel sama [[ribalaius]].
Rakenduse mikroskeem peab olema FPGA-le tõlgendatud adekvaatsete ressurssidega. Kui CBL/<ABBR TITLE="loogika-massiivplokkide">LAB-de</ABBR> ja sisendite/väljundite arvu saab kergesti tuletada konkreetsest disainist, siis ühendusradade arv võib isegi sama palju loogikat sisaldavate skeemide puhul märgatavalt varieeruda. Kuna kasutamata ühendusrajad lisavad hinda, aga mitte tulemust, siis üritavad FPGA-de tootjad pakkuda just piisavalt radasid, et oleks võimalik enamikke disaine, mis sobivad loogika elementide arvu poolest, ühendada. Need arvud on saadud hinnangute, mis on tuletatud Rent-i reeglist, või olemasolevate disainidega eksperimenteerimise abil.
Üldiselt koosneb loogikaplokk (CLB või LAB) mõnest '''loogikarakust'''. Tüüpiline loogikarakk koosneb 4 sisendiga [[otsingutabel|otsingutabelist]], [[täisliitja]]st ja D-tüüpi [[Triger|flip-flopist]] nagu all näidatud. Otsingutabel on joonisel jagatud kaheks 3 sisendiga otsingutabeliks. Tavarežiimis on need läbi vasakul oleva [[
[[Pilt:FPGA cell example.png|400px|thumb|center|Lihtsustatud näidis loogikarakust]]
97. rida:
Kasutades seejärel mõnda abiprogrammi genereeritakse elektriliste ühenduste nimekiri. Järgnevalt saab selle ühenduste nimekirja 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.
Kui disainimise ja valideerimise protsess on lõppenud, genereeritakse FPGA tootja tarkvara poolt binaarfail, mille abil seadistatakse lõpuks FPGA. Seadistamiseks kasutatakse [[jadaühendus
Kõige tavalisemad HDL-id on '''VHDL''' ja '''Verilog'''. Kuid HDL-id on tavaliselt suhteliselt keerulised ja seda võrreldakse oma raskusastme poolest [[Assemblerkeel|assemblerkeelega]].
Selleks, et lihtsustada komplekssete süsteemide disainimist FPGA-del, on loodud teeke, mis sisaldavad keerulisi funktsioone ja skeeme, mis on testitud ja optimiseeritud. Inglise keeles on nende nimetus tihtipeale "IP cores" ja nad on saadaval FPGA-de tootjate ja kolmandate osapoolte käest. Enamasti on need tasulised ja kinniste litsentsidega, kuid mõned on ka [[avatud
==Vaata ka==
|