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. Upotreba FPGA komponenti je višestruka, a osnovna je da se može koristiti za implementaciju bilo koje logičke funkcije.

Arhitektura i način korišćenja FPGA komponente[уреди]

Svaka FPGA komponenta se sastoji od velikog broja identičnih logičkih blokova (ćelija) i rekonfigurabilnih veza koje omogućavaju blokovima da budu međusobno povezani. Svaki logički blok, kao nezavisna jedinica, može realizovati bilo koju Bulovu funkciju iz unapred ograničenog skupa Bulovih funkcija ili jednostavne logičke kapije tipa I, ILI, XOR,... U većini FPGA komponenti logički blokovi se sastoje od memorijskih elemenata koji mogu biti jednostavni flip-flopovi ili složeni memorijski blokovi koji su povezani žicama i programabilnim prekidačima.

Projektovanje od strane korisnika se svodi na specifikaciju jednostavne logičke funkcije za svaki logički blok pojedinačno i selekciju zatvaranja prekidača u matrici međusobnih veza. Niz logičkih blokova i njihovih međusobnih veza formiraju gradivne blokove za kreiranje složenijih digitalnih sistema.

Arhitektura logičkih blokova varira u zavisnosti od različitih proizvođača. Generalno govoreći, svaki logički blok kombinuje nekoliko binarnih ulaza (obično se taj broj kreće od 3 do 10) sa jedan ili dva izlaza u zavisnosti od Bulove logičke funkcije specificirane u korisničkom programu. Kod većine familija, korisnik takođe ima mogućnost da upiše željenu kombinaciju izlaza bloka, tako da logika može biti jednostavno implementirana. Kombinaciona logika logičkog bloka može biti implementirana kao mala engl. Look-Up Table memorija (LUT) ili kao kombinacija multipleksera ili logičkih kapija. LUT komponente pretenduju da budu nešto fleksibilnije i obezbeđuju više ulaza logičkom bloku nego multiplekseri na štetu vremena propagacije.

Mogućnost konfigurisanja FPGA komponenti omogućava korisniku projektovanje složenih digitalnih sistema oslobođeno visokih troškova razvoja koji su neminovni kada se koriste ASIC komponente. U zavisnosti od vrste FPGA komponente, konfiguracioni fajl se trajno ili kratkotrajno spušta u komponentu ili se učitava iz spoljašnje memorije svaki put kada se aktivira napajanje komponente.

Definisanje svih veza i funkcija logičkih kapija predstavlja težak i složen zadatak. Na sreću, ovaj zadatak je olakšan posebnih softverom koji prevodi šematski dijagram korinika ili program napisan u HDL jeziku u skup međusobno povezanih logičkih blokova, a zatim vrši njihovo raspoređivanje i povezivanje po FPGA čipu. Većina softverskih alata ima tu prednost da dozvoljavaju korisniku upravljanje implementacijom, raspoređivanjem i povezivanjem kako bi se obezbedile bolje performanse i iskorišćenost FPGA komponente. Biblioteke kompleksnijih funkcija makroa (na primer sabirača) dodatno pojednostavljuju sam proces projektovanja omogućujući korišćenje optimizovanih kola u pogledu brzine i logičkih resursa za implementaciju često korišćenih funkcija.

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.

Spoljašnje veze[уреди]

Викиостава
Викимедијина остава има још мултимедијалних датотека везаних за: FPGA