Što su FPGA?

Field Programmable Gate Arrays zvuče komplicirano, ali otvaraju potpuno novi svijet za programere.

Ako ste ikada čitali o emulaciji retro-gaminga, možda ste naišli na tip poluvodiča koji se naziva Field-Programmable Gate Array (FPGA). To su posebni integrirani sklopovi koji se nakon proizvodnje mogu rekonfigurirati zahvaljujući podesivim logičkim blokovima (CLB). Drugim riječima, u osnovi možete reprogramirati čipset da djeluje kao bilo koja druga vrsta digitalnog sklopa, koji ima višestruke primjene u umjetnoj inteligenciji, dizajnu čipseta i drugim poljima.

FPGA imaju mnogo slučajeva upotrebe, a uređaji kao što je Analogue Pocket koriste ih za podršku različitim ručnim uređajima. Međutim, Microsoft također koristi FPGA za napajanje Binga jer omogućuje tvrtki da ih brzo reprogramira za podršku novim algoritmima kako se razvijaju.

FPGA u odnosu na tradicionalne procesore: Koja je razlika?

Za razliku od standardnog čipseta — Snapdragon 8 Gen 2, na primjer — FPGA nije dizajniran za reprogramiranje na terenu. To je sustav na čipu (SoC) sastavljen od više dijelova, uključujući GPU, NPU i CPU. Nakon što se isporuči, to će dobiti potrošači i tvrtke.

FPGA su, međutim, namijenjeni da budu savitljivi tako da korisnik može mijenjati dijelove čipa bez uvođenja ikakvih dodatnih troškova ili rizika. U industrijama koje se brzo kreću, kao što su samovozeći automobili, novi propisi i standardi mogu se uvesti u bilo kojem trenutku za bilo koji aspekt uređaja. Korištenje FPGA može omogućiti OTA ažuriranje za reprogramiranje čipa za podršku novim standardima.

Jedna velika razlika između FPGA i tradicionalnih CPU-a je ta što su dizajnirani za paralelnu obradu podataka uz kompromis puno niže brzine takta. Na primjer, FPGA s 10 cjevovoda za obradu podataka može izvršiti operacije množenja na dva broja za svaki cjevovod, množeći 20 brojeva po ciklusu. Tradicionalni CPU može množiti dva broja po ciklusu, po jezgri i redoslijedom.

Kako FPGA rade za emulaciju?

FPGA se često koriste za hardversku emulaciju, a zanimljiv dio procesa dizajna čipseta je upotreba FPGA za emulaciju različitih dijelova SoC-a u testiranju. Dizajneri skupova čipova mogu koristiti više FPGA za prototip integriranog kruga specifičnog za aplikaciju (ASIC). Jezik za opis hardvera (HDL) koristi se za izradu dizajna hardvera, a ovaj jezik govori FPGA-u kako da se uredi. U slučaju Analogue Pocketa, ti dizajni se distribuiraju u obliku "jezgri" obično napisanih u Verilogu, a korisnici mogu preuzeti jezgru kako bi pripremili dlanovnik za određene konzole.

Na primjer, Analogue Pocket može čitati Game Boy igre izravno u utoru za kasetu i igrati ih kao da je originalna konzola. I ne samo to, već adapteri spremnika dodaju dodatnu podršku i za druge uređaje, kao što su Game Gear, Atari Lynx i drugi. To je moguće samo zbog reprogramabilne prirode FPGA koji koristi hardversku emulaciju umjesto softverske emulacije kako bi se osiguralo igranje igara. MiSTer (koji koristi DE-10 Nano FPGA ploču kao bazu i zahtijeva dodatne module na vrhu) sličan je po tome što se može koristiti za oponašanje konzola kao što su SNES, Sega Genesis, pa čak i GameCube. Hardverska emulacija općenito je točnija od softverske emulacije, a istovremeno nudi prednosti izvedbe.

Dok hardver stari i s vremenom može postati nepouzdan, FPGA se jednostavno mogu reprogramirati da emuliraju to isto hardversko iskustvo.

Naravno, to ne znači da su jezgre savršena HDL interpretacija čipseta jedan na jedan. Dosta su blizu, ali se s vremenom vrše popravci i poboljšanja jezgri kako bi se riješili problemi koji se mogu otkriti u normalnoj upotrebi. Ove jezgre izrađene su obrnutim inženjeringom skupova čipova koji ulaze u te uređaje i zahtijevaju mapiranje svake komponente na matičnoj ploči. U prilagođenim vlasničkim skupovima čipova postaje još teže, a programeri to često moraju vidjeti "nezatvoreni" čip s mikroskopom da vidite što se točno događa unutar čipa i replicirate to.

Zato su FPGA također važni za očuvanje hardvera. Dok hardver stari i s vremenom može postati nepouzdan, FPGA se jednostavno mogu reprogramirati da emuliraju to isto hardversko iskustvo. Čip će preurediti vlastitu fizičku logiku unutar sebe kako bi odgovarao bilo kojoj jezgri koja mu je dana. OpenFPGA ekosustav dizajniran je da pomogne u očuvanju tog hardvera.

Povrh toga, dobivate dodatnu prednost igranja tih igara na legitiman način, ali na općenito boljem hardveru. Možete kupiti Analogue Pocket za 220 USD i igrati Game Boy igrice baš kao što ste igrali u prošlosti, ali s većom kvalitetom izrade, boljim zaslonom, pa čak i podrškom za priključnu stanicu.

Nedostaci FPGA

DE-10 Nano za MiSTer FPGA izgradnju

Međutim, postoji nekoliko nedostataka. Za početak, oni zauzimaju puno više prostora od tradicionalnih CPU-a, a također su znatno skuplji za proizvodnju. Uređaji kao što su Analogue Pocket i MiSTer FPGA koštaju puno novca, a potonji će vas koštati više od 500 USD ako uz to uzmete i nekoliko dodataka. Većina ljudi radije bi emulirala igrice na svojim pametnim telefonima ili računalima i nije ih briga za pikselsku savršenu točnost koju pruža emulacija na razini hardvera.

Naravno, FPGA su također pomalo u povojima povezanim s potrošačima, a njihova popularnost raste tek posljednjih godina. Oni zapravo već dugo postoje u slučajevima profesionalne upotrebe od strane znanstvenika, arhitekata čipseta, umjetne inteligencije i sličnih, ali Tek su se posljednjih godina pojavili potrošački uređaji koji su održivi za upotrebu na ležernije načine ili za entuzijaste.

Za većinu ljudi koji se žele uključiti u emulaciju, pogodnost namjenskog uređaja koji jamči a iskustvo vjerno izvorniku je primamljivo, ali nije nešto što je svima potrebno ili do čega im je stalo. Osobno, ako želim igrati igru ​​kao što je Super Mario Bros, rado ću je igrati na svom telefonu dok sam u pokretu. Ne trebam poseban uređaj za to, ali razumijem privlačnost toga da ga imam.