FPGA: kaikki näistä siruista ja niiden ohjelmoinnista

FPGA-siru

Los FPGA: t ovat tulleet yhä suositummiksi viimeisinä aikoina. Jopa ammattimaisissa sovelluksissa näitä siruja käytetään usein, mutta myös DIY-valmistajille ja valmistajille, jotka haluavat toteuttaa sirun sisällä erillisen piirin kaikilla tämän tuomilla eduilla. Ei ole halpaa tai helppoa löytää tehdas lähettämään asettelusi tai kuviosi ja tilaamaan sinulle räätälöity siru.

On totta, että jotkut valimot sallivat tehdä kiekkoja tai moniprojektisia kiekkoja tehdä pelimerkkejä yksityishenkilöiltä tai yliopistoilta testattavaksi heidän kanssaan. Tämän tyyppisiä tehtaita on, kuten sanon, vaikea löytää, ne ovat yleensä ulkomailla eivätkä ne ole halpoja. Jonkin ajan kuluttua näytteesi siruistasi lähetetään sovittuun osoitteeseen, mutta ne eivät ole vastuussa näiden testaamisesta tai toimivuuden tarkistamisesta. Kaikki riippuu suunnittelustasi ...

Una vaihtoehtoinen ratkaisu on ostaa FPGA ja ohjelmoi mitä tarvitset sirun sisällä ...

Mikä on FPGA?

Ohjelmoitavat solut

FPGA on lyhenne sanoista Field Programmable Gate Array. Ne ovat digitaalisia laitteita tai siruja, jotka voidaan konfiguroida sallimaan käytännössä kaiken. Toisin sanoen, se on tyhjä siru, johon voit "kirjoittaa". Tämä tarkoittaa, että voit toteuttaa CPU: n, muistin, ohjaimen, minkä tahansa logiikan jne., Saavuttaen erittäin nopean toiminnan ja kaikki edut siitä, että se integroidaan siruun eikä elektronisiin elementteihin.

Xilinxin perustajat Ross Freeman ja Bernard Vonderschmitt keksivät FPGA: n vuonna 1984. He tekivät sen evoluutiona tuon ajan CPLD-siruille. CPLD-ohjelmoitavissa siruissa oli joitain puutteita, jotka ratkaisivat uudet FPGA-mallit, ja siitä lähtien ne ovat kehittyneet tähän mennessä.

FPGA-markkinat ovat niin hedelmällisiä, että yritykset pitävät siitä Intel, Xilinx, Altera, Quick Logic, Lattice jne., he ovat panostaneet paljon parempien FPGA: iden kehittämiseen ja myös sulautettuihin ohjelmointiympäristöihin tai IDE: hin heille. Tarjoamalla näin erittäin hyvät alustat kehittäjien tai valmistajien tehtävien helpottamiseksi.

Tällä hetkellä nämä valmistajat eivät vain tarjoa ohjelmoitavaa sirua, vaan myös lukuisia apuelementtejä tuoda lisää mahdollisuuksia kehittäjille. Ne sisältävät esimerkiksi flash-muistisoluja, SDRAM-muistisoluja ja niin edelleen.

Mihin niitä käytetään?

IDE ohjelmoi FPGA

Siksi FPGA voi olla samanlainen kuin ASIC, mutta se voimme valita mikä tulee olemaan. Voisimme esimerkiksi luoda koodin sen ohjelmoimiseksi ja muuttaa siitä CPU, GPU, summain, muistiohjain tai mikä tahansa muu yhdelle sirulle toteutettu logiikkapiiri.

Mahdollisuudet ovat melko rajattomat. Itse asiassa suosittelen, että vierailet verkkosivustolla opencores.org, sivusto, joka tarjoaa monia projekteja hardware libre. Löydät koodit VHDL:stä, Verligosta jne. varten RAM, CPU, GPU, ohjaimet, ALU: t, FPU: t, dekooderit ja pitkä jne..

Kuinka se ohjelmoidaan?

Ohjelmoija FPGA: lle

FPGA: n ohjelmoimiseksi voimme tehdä sen suosikkikäyttöjärjestelmämme, kuten GNU / Linux, Windows ja MacOS, vaikka Windowsille on varmasti enemmän kehitysympäristöjä. Yleensä samat yritykset, jotka tekevät FPGA: n, tarjoavat a Erittäin täydellinen IDE työskennellä ja mistä löydät kaikki tarvitsemasi työkalut samasta ohjelmistopaketista.

Tarvitset myös FPGA-siru tai -kortti ja tarvittava kaapeli tai ohjelmoija jonka avulla voit liittää FPGA: n tietokoneeseesi välittääksesi kirjoitetun koodin FPGA: lle ja niin se ohjelmoidaan. Se on jotain samanlaista kuin mitä teet Arduino-kortilla, kirjoittamalla Arduino IDE -ohjelma mikro-ohjaimen ohjelmoitavaan muistiin.

Ainoastaan ​​FPGA: n tapauksessa meillä on matriisi tai joukko alkeiskomponentteja, kuten muistisolut, JA portit, TAI, EI, kiikarit ja muut. digitaalielektroniikan peruselementit tai lohkot jota voimme käyttää. Kirjallisen ohjelman avulla aiomme asettaa tavan, jolla nämä välttämättömät lohkot on ryhmiteltävä muodostamaan haluamasi pieni piiri, kuten ALU.

Toisin sanoen, jos ohjelmoimme summaimen IDE: hen, tarvittavat lohkot tämän summaimen toteuttamiseksi he aikovat linkittää oikealla tavalla FPGA: n sisällä, jotta siru toimii summaimena. Yksinkertainen eikö? Yleensä tähän ohjelmointiin fyysisellä tasolla käytetään useita menetelmiä, kuten muistit tai sulakkeet pysyvän linkin muodostamiseksi siinä tapauksessa.

Nopeus, jolla ne toimivat, riippuu kellotaajuus johon FPGA, jonka olemme ostaneet, toimii. Esimerkiksi alkeisimmat toimivat yleensä 50 Mhz: llä, toiset taas paljon korkeammilla taajuuksilla. 50 Mhz: n FPGA: n tapauksessa se tarkoittaa, että se toimii nopeudella 50.000.000 XNUMX XNUMX kertaa sekunnissa. Jos jatkat esimerkin antamallani summaimella, voit tehdä tämän summan sekunnissa ...

Jatketaan aiheesta OhjelmointiKun tiedämme, että voit kirjoittaa koodin kuten tekisimme Arduino IDE: ssä tai kehittää muita ohjelmia, ja näen kuinka se tapahtuu laitteistotasolla, sanon, että se ei todellakaan ole ohjelmointia sellaisenaan. Pikemminkin se on laitteistokuvaus. Itse asiassa käytetään laitteiston kuvauskieliä, kuten VHDL, Verilog jne.

kanssa kyseinen ohjelma on kuvattu loogisella tasolla mitä pieni piiri, jonka haluamme toteuttaa, tekee. Ja sitten se menee FPGA: lle. Vaikka onkin totta, että jotkut alustat sallivat ohjelmoinnin ohjelmointikielillä, kuten C, pystyä toteuttamaan CPU FPGA: ssa ja sitten luomaan ohjelmia, jotka ladataan muistiin ja joita prosessori käsittelee.

Integrointi Arduinon kanssa

Arduino-FPGA

FPGA: ita käytetään yleensä erikseen, mutta on totta, että markkinoilla on monia työkaluja ja sarjoja, jotka helpottavat elämääsi integroimalla FPGA Arduino-alustalla. Esimerkki taulusta FPGA: n tuomiseen projekteihisi Arduinolla on MKR Vidor 4000, vaikka on muitakin.

MKR Viewer 4000 se on lauta, jossa on kolme pelimerkkiä. Yksi niistä on FPGA, erityisesti Intel Cyclone 10. On myös muita siruja Bluetooth LE: lle tai matalan virran liitettävyydelle ja myös WiFi-yhteensopivuudelle. Hyvä täydennys tarjoamaan Arduinolle liitettävyysominaisuudet ja pystymään toteuttamaan tarvitsemasi FPGA: ssa.

Tämän avulla sinulla on mukautettava laitteisto, itse määrittämäsi haluamaasi tarkoitukseen. Se tarjoaa loputtomia mahdollisuuksia.


Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.