FPGA: vse o teh čipih in njihovem programiranju

FPGA čip

P FPGA so postajali vse bolj priljubljeni v zadnjih časih. Tudi za profesionalno uporabo se ti čipi pogosto uporabljajo, pa tudi za tiste, ki delajo sami in izdelovalci, ki želijo v čipu vgraditi ločeno vezje z vsemi prednostmi, ki jih to pomeni. Ni poceni ali enostavno najti tovarne, ki bi poslala vaše postavitve ali vzorce in izdelala čip po meri za vas.

Res je, da nekatere livarne to dopuščajo naredite napolitanke ali napolitanke z več projekti izdelovati čipe posameznikov ali univerz, da jih preizkusite. Tovrstne tovarne je, kot pravim, težko najti, ponavadi so v tujini in niso poceni. Čez nekaj časa se vzorci vaših čipov pošljejo na dogovorjeni naslov, vendar niso odgovorni za njihovo testiranje ali preverjanje, ali delujejo. Vse je odvisno od vaše zasnove ...

A alternativna rešitev za to je nakup FPGA in programirajte vse, kar potrebujete za izvedbo znotraj čipa ...

Kaj je FPGA?

Programabilne celice

FPGA pomeni Field Programmable Gate Array. So digitalne naprave ali čipi, ki jih je mogoče konfigurirati tako, da omogočajo praktično karkoli, da se lahko izvede. Z drugimi besedami, to je prazen čip, kjer lahko "pišete". To pomeni, da lahko vstavite CPU, pomnilnik, krmilnik, poljubno logiko itd., Tako da dosežete zelo hitro delovanje in z vsemi prednostmi, da ga integrirate v čip in ne z elektronskimi elementi.

Ross Freeman in Bernard Vonderschmitt, soustanovitelja Xilinxa, sta bila tista, ki sta izumila FPGA leta 1984. To sta storila kot evolucijo takratnih čipov CPLD. Programirani čipi CPLD so imeli pomanjkljivosti, ki so jih novi načrti FPGA rešili in so se od takrat razvijali do danes.

Trg FPGA je tako ploden, da je podjetjem všeč Intel, Xilinx, Altera, Quick Logic, Lattice itd., veliko so vložili v razvoj boljših FPGA in zanje tudi vdelana programska okolja ali IDE. Tako zagotavljajo zelo dobre platforme za lažjo nalogo razvijalcev ali izdelovalcev.

Trenutno ti proizvajalci ne ponujajo le programabilnega čipa, temveč tudi vključujejo številni pomožni elementi razvijalcem ponuditi več možnosti. Na primer, vključujejo celice bliskovnega pomnilnika, pomnilniške celice SDRAM itd.

Za kaj se uporabljajo?

IDE za programiranje FPGA

Zato je FPGA lahko podoben ASIC-u, vendar to lahko izbiramo kaj bo. Lahko bi na primer ustvarili kodo za njeno programiranje in jo spremenili v CPU, GPU, seštevalnik, krmilnik pomnilnika ali katero koli drugo logično vezje, implementirano na enem čipu.

Možnosti je precej neskončno. Pravzaprav vam priporočam, da obiščete spletno stran opencores.org, spletno mesto, namenjeno ponudbi številnih projektov hardware libre. Našli boste kode v VHDL, Verligo itd., za RAM, CPU, GPU, gonilniki, ALU-ji, FPU-ji, dekodirniki in dolga itd..

Kako je programiran?

Programer za FPGA

Za programiranje FPGA lahko to storimo iz našega najljubšega operacijskega sistema, kot so GNU / Linux, Windows in MacOS, čeprav je zagotovo več razvojnih okolij za Windows. Na splošno ista podjetja, ki izdelujejo FPGA, ponujajo a Zelo popoln IDE za delo in kje najti vsa orodja, ki jih potrebujete v istem programskem paketu.

Potrebovali boste tudi FPGA čip ali ploščo in potreben kabel ali programer s katerim lahko FPGA povežete z osebnim računalnikom in tako posredujete zapisano kodo FPGA in je tako programirana. To je nekaj podobnega tistemu, kar počnete z ploščo Arduino in zapisujete program Arduino IDE v programirljivi pomnilnik mikrokrmilnika.

Le v primeru FPGA imamo matriko ali niz osnovnih komponent, kot so pomnilniške celice, IN vrata, ALI, NE, natikači in drugi. osnovni elementi ali bloki digitalne elektronike ki jih lahko uporabimo. S pisnim programom bomo naredili način, kako naj bodo ti bistveni bloki združeni v majhno vezje, kot je ALU.

To pomeni, da če v našem IDE programiramo seštevalnik, so potrebni bloki za izvajanje tega seštevalnika povezali se bodo na pravilen način znotraj FPGA, tako da čip deluje kot seštevalec. Preprosto kajne? Na splošno se za to programiranje na fizični ravni uporablja več metod, na primer spomini ali varovalke, da se v tem primeru vzpostavi trajna povezava.

Hitrost njihovega delovanja bo odvisna od taktna frekvenca za katero smo kupili FPGA. Na primer, najosnovnejši običajno delujejo pri 50 MHz, drugi pa na veliko višjih frekvencah. V primeru 50 Mhz FPGA to pomeni, da bo deloval s hitrostjo 50.000.000 krat na sekundo. Če nadaljujemo s seštevalnikom, ki sem ga navedel kot primer, lahko to vsoto naredite v eni sekundi ...

Nadaljujem s temo Programiranje, ko bomo vedeli, da lahko napišete kodo, kot bi jo v Arduino IDE ali razvijete kateri koli drug program, in ko vidim, kako se to izvaja na strojni ravni, bom rekel, da res ne programira kot takega. Namesto tega gre za opis strojne opreme. Pravzaprav se uporabljajo jeziki za opis strojne opreme, kot so VHDL, Verilog itd.

z ta program je opisan na logični ravni kaj naredi majhen krog, ki ga želimo izvesti. In potem gre na FPGA. Čeprav je res, da nekatere platforme omogočajo programiranje v programskih jezikih, kot je C, da lahko v FPGA implementirajo CPU in nato generirajo programe za nalaganje v pomnilnik in obdelavo s strani omenjenega procesorja.

Integracija z Arduinom

Arduino-FPGA

FPGA se običajno uporabljajo ločeno, res pa je, da je na trgu veliko orodij in kompletov, ki vam bodo olajšali integracijo FPGA s platformo Arduino. Primer plošče za vključitev FPGA v vaše projekte z Arduino je MKR Vidor 4000, čeprav obstajajo tudi drugi.

Pregledovalnik MKR 4000 gre za ploščo s tremi žetoni. Eden izmed njih je FPGA, natančneje Intel Cyclone 10. Obstajajo tudi drugi čipi za Bluetooth LE ali povezljivost z nizko porabo in tudi združljivost z WiFi. Dober dodatek, da Arduinu zagotovite funkcije povezljivosti in da lahko v FPGA implementirate, kar potrebujete.

S tem imate prilagodljiva strojna oprema, konfigurirali sami za želeni namen. To ponuja neskončne možnosti.


Bodite prvi komentar

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.