FPGA: viss par šīm mikroshēmām un to programmēšanu

FPGA mikroshēma

L FPGA ir kļuvuši arvien populārāki pēdējās reizēs. Pat profesionāliem lietojumiem šīs mikroshēmas bieži tiek izmantotas, bet arī pašmāju un veidotājiem, kuri vēlas ieviest diskrētu shēmu mikroshēmā ar visām priekšrocībām, ko tas nozīmē. Nav lēti vai viegli atrast rūpnīcu, lai nosūtītu jūsu izkārtojumus vai modeļus un lai jūs varētu izgatavot pielāgotu mikroshēmu.

Tiesa, dažas lietuves to atļauj veidot vafeles vai daudzprojektu vafeles izgatavot mikroshēmas no indivīdiem vai universitātēm, lai tās testētu. Šāda veida rūpnīcas ir, kā es saku, grūti atrast, tās parasti atrodas ārzemēs, un tās nav lētas. Pēc kāda laika jūsu mikroshēmu paraugi tiek nosūtīti uz norunāto adresi, taču viņi nav atbildīgi par šo testēšanu vai pārbaudi, vai tie darbojas. Tas viss ir atkarīgs no jūsu dizaina ...

A alternatīvs risinājums tam ir FPGA iegāde un ieprogrammējiet visu nepieciešamo mikroshēmā ...

Kas ir FPGA?

Programmējamās šūnas

FPGA nozīmē lauka programmējamo vārtu masīvu. Tās ir digitālas ierīces vai mikroshēmas, kuras var konfigurēt tā, lai tās varētu praktiski ieviest jebko. Tas ir, citiem vārdiem sakot, tā ir tukša mikroshēma, kurā jūs varat "rakstīt". Tas nozīmē, ka jūs varat ieviest CPU, atmiņu, kontrolieri, jebkuru loģiku utt., Panākot ļoti ātru darbību un ar visām priekšrocībām, ka tas tiek integrēts mikroshēmā, nevis ar elektroniskiem elementiem.

Ross Freeman un Bernard Vonderschmitt, Xilinx līdzdibinātāji, bija tie, kas 1984. gadā izgudroja FPGA. Viņi to darīja kā evolūciju uz tā laika CPLD mikroshēmām. CPLD programmējamām mikroshēmām bija daži trūkumi, kas atrisināja jaunos FPGA dizainus, un kopš tā laika tie ir attīstījušies līdz šim.

FPGA tirgus ir tik auglīgs, ka uzņēmumiem tas patīk Intel, Xilinx, Altera, Quick Logic, Lattice utt., viņi ir daudz ieguldījuši, lai izstrādātu labākas FPGA, kā arī tām iebūvētas programmēšanas vides vai IDE. Tādējādi tiek nodrošinātas ļoti labas platformas, lai atvieglotu izstrādātāju vai veidotāju uzdevumus.

Pašlaik šie ražotāji nodrošina ne tikai programmējamu mikroshēmu, bet arī neskaitāmi palīgelementi lai radītu vairāk iespēju izstrādātājiem. Piemēram, tie ietver zibatmiņas šūnas, SDRAM atmiņas šūnas utt.

Kam tie tiek izmantoti?

IDE programmēt FPGA

Tāpēc FPGA var būt līdzīgs ASIC, bet tas mēs varam izvēlēties kas būs. Piemēram, mēs varētu izveidot kodu tā programmēšanai un pārvērst to par procesoru, GPU, papildinātāju, atmiņas kontrolieri vai jebkuru citu loģisko shēmu, kas ieviesta vienā mikroshēmā.

Iespējas ir diezgan bezgalīgas. Patiesībā es iesaku jums apmeklēt vietni opencores.org, vietne, kas paredzēta daudzu projektu piedāvāšanai hardware libre. Jūs atradīsit kodus VHDL, Verligo utt RAM, CPU, GPU, kontrolieri, ALU, FPU, dekoderi un garš utt..

Kā tas tiek ieprogrammēts?

FPGA programmētājs

Lai ieprogrammētu FPGA, mēs to varam izdarīt no savas iecienītās operētājsistēmas, piemēram, GNU / Linux, Windows un MacOS, lai gan Windows noteikti ir vairāk izstrādes vides. Parasti tie paši uzņēmumi, kas ražo FPGA, piedāvā a Ļoti pilnīgs IDE, ar kuru strādāt un kur atrast visus nepieciešamos rīkus vienā un tajā pašā programmatūras komplektā.

Jums būs nepieciešama arī FPGA mikroshēma vai dēlis un nepieciešamais kabelis vai programmētājs ar kuru jūs varat savienot FPGA ar datoru, lai nodotu rakstīto kodu FPGA, un tāpēc tas ir ieprogrammēts. Tas ir kaut kas līdzīgs tam, ko jūs darāt ar Arduino dēli, ierakstot Arduino IDE programmu mikrokontrollera programmējamajā atmiņā.

Tikai FPGA gadījumā mums ir matrica vai elementāru komponentu masīvs, piemēram, atmiņas šūnas, UN vārti, VAI, NĒ, Flip-flops un citi. digitālās elektronikas pamatelementi vai bloki ko mēs varam izmantot. Izmantojot uzrakstīto programmu, mēs gatavojamies uzlikt veidu, kā šie būtiskie bloki jāgrupē, lai izveidotu vēlamo mazo ķēdi, piemēram, ALU.

Tas ir, ja mēs savā IDE programmējam papildinātāju, nepieciešamos blokus šī papildinājuma ieviešanai viņi gatavojas saistīt pareizi FPGA iekšpusē, lai mikroshēma darbotos kā papildinātājs. Vienkārši vai ne? Parasti šai programmēšanai fiziskā līmenī tiek izmantotas vairākas metodes, piemēram, atmiņas vai drošinātāji, lai tādā gadījumā izveidotu pastāvīgu saiti.

Ātrums, kādā tie darbojas, būs atkarīgs pulksteņa frekvence uz kuru darbojas FPGA, kuru mēs esam iegādājušies. Piemēram, elementārākie parasti strādā ar 50 Mhz, citi to darīs daudz augstākās frekvencēs. 50 Mhz FPGA gadījumā tas nozīmē, ka tas darbosies ar ātrumu 50.000.000 XNUMX XNUMX reižu sekundē. Ja mēs turpināsim ar papildinātāju, kuru es minēju kā piemēru, jūs varēsiet izdarīt tādu summu vienā sekundē ...

Turpinot ar tēmu ProgrammēšanaKad mēs zinām, ka jūs varat rakstīt kodu tāpat kā mēs to darītu Arduino IDE vai izstrādāt jebkuru citu programmu, un redzot, kā tas tiek veikts aparatūras līmenī, es teikšu, ka tas patiešām nav programmēšana kā tāda. Drīzāk tas ir aparatūras apraksts. Faktiski tiek izmantotas aparatūras apraksta valodas, piemēram, VHDL, Verilog utt.

ar šī programma ir aprakstīta loģiskā līmenī ko dara mazā ķēde, kuru vēlamies ieviest Un tad tas nonāk FPGA. Lai gan ir taisnība, ka dažas platformas ļauj programmēt programmēšanas valodās, piemēram, C, lai FPGA varētu ieviest CPU un pēc tam ģenerēt programmas, kuras ielādēt atmiņā un apstrādāt minētais procesors.

Integrācija ar Arduino

Arduino-FPGA

FPGA parasti tiek izmantoti atsevišķi, taču ir taisnība, ka tirgū ir daudz rīku un komplektu, kas jūsu dzīvi atvieglos jūsu FPGA ar Arduino platformu. Dēļu piemērs FPGA piesaistīšanai saviem projektiem ar Arduino ir MKR Vidor 4000, lai gan ir arī citi.

MKR Viewer 4000 tā ir dēlis ar trim mikroshēmām. Viens no tiem ir FPGA, īpaši Intel Cyclone 10. Ir arī citas mikroshēmas Bluetooth LE vai zema patēriņa savienojamībai, kā arī WiFi saderībai. Labs papildinājums, lai nodrošinātu jūsu Arduino savienojamības funkcijas un spētu īstenot nepieciešamo FPGA.

Ar šo jums ir pielāgojama aparatūra, ko pats konfigurējis vēlamajam mērķim. Tas piedāvā bezgalīgas iespējas.


Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.