luokat: Mikrokontrolleripiirit
Katselukuvien lukumäärä: 21445
Kommentit artikkeliin: 0

Mikä on FPGA yksinkertainen kieli aloittelijoille

 

Mihin digitaalielektroniikka liittyy? Ensinnäkin loogisilla elementeillä JA, TAI, EI. Lisäksi siirtorekisterit, dekooderit, multiplekserit jne. Tulevat muistiin. Koska elektronisten laitteiden monimutkaisuus ja pienentämissuuntaus lisääntyivät, integroituihin piireihin (IC) perustuvien laitteiden luominen edellä mainituista komponenteista tuli vaikeammaksi, vaaditun topologian ja piirien mukautetut IC: t osoittautui kannattavaksi vain silloin, kun laitetta toistettiin suuressa määrin, muissa tapauksissa se oli kohtuuttoman kallis.

Tie ulos tästä tilanteesta oli ohjelmoitavien integroitujen logiikkapiirien (lyhennettynä FPGA, ulkomainen lyhenne ohjelmoitavana logiikkalaitteena, PLD) kehittäminen. Mikä se on ja missä sitä käytetään, kerromme tässä artikkelissa.

Mikä on FPGA yksinkertainen kieli aloittelijoille

Erot mikro-ohjaimiin

Sanaan "ohjelmoitava" useimmat aloittelijat yhdistyvät mikro-ohjaimilla. Huolimatta siitä, että ne on myös ohjelmoitu, FPGA: t ovat täysin erilainen laite.

Mikrokontrollerien kehittäjille on saatavana kiinteä joukko ratkaisuja ja keinoja, jotka ovat luontaisia ​​tietylle sirulle. Se ei toimi millään tavalla vetäytymään arkkitehtuurista. Sinulle annetaan joukko komentoja, joiden avulla suoritat vuorovaikutuksen ympäristön kanssa lukemalla tietoja digitaalisista ja analogisista tuloista ja lähettämällä signaaleja toimilaitteille lähtöjä käyttämällä.

Lisäksi voit suorittaa laskutoimituksia, tallentaa tietoja rekistereihin tai ROM-levyihin sekä käyttää tietoja, jotka vilkkuvat mikro-ohjaimen muistiin. Tämä on pohjimmiltaan mikrokontrollerien kanssa työskentelyn tarkoitus ja ominaisuudet.

Ohjelmoitava 769; log 769; kokonaisluku 769; pellava 769; ma (FPGA, englanniksi ohjelmoitava logiikkalaite, PLD)

Ohjelmoitavat logiikan integroidut piirit (FPGA) eroavat siinä, että ohjelmoidessasi laitetta itse luot arkkitehtuurin peruslogiikkaelementeistä. Näin saat sirun nopeuden ja joustavuuden. Tämä mahdollistaa useiden projektien tekemisen muuttamatta yhtä sirua.

Sisäinen FPGA-laite voidaan yleensä jakaa kolmeen pääryhmään:

1. Joukko loogisia elementtejä (makrosolut, loogiset lohkot).

2. Tulo- / lähtölohkot (IO).

3. Yhteysjohdot niiden ja laitteen välillä, joka ohjaa näitä yhteyksiä.

Tällainen rakenne on kuitenkin hyvin yleinen, tarkastelemme tätä asiaa yksityiskohtaisemmin jäljempänä.

Ohjelmoimalla kytket elementit samalla tavalla kuin mahdollista, kokoamalla laitteen yksittäisistä elementeistä ja kytkemällä niiden tulot ja lähdöt johtimiin.

Huomautus:

Tärkein ero FPGA: n ja mikro-ohjaimen välillä on se, että mikro-ohjaimessa et voi muuttaa sisäisiä yhteyksiä yksinkertaisimpien elementtien välillä, ja ohjelmointi ja niiden kanssa työskentely perustuu yhteyksien rekisteröintiin FPGA: iin.

Mikrokontrollerien valinta perustuu moniin kriteereihin, kuten:

  • Nopeus ja kellonopeus;

  • ROM- ja RAM-muistien määrä;

  • Tulojen ja lähtöjen lukumäärä.

Muut toiminnalliset ominaisuudet ja oheislaitteet, kuten tuki viestintälinjoille ja protokollille (I2C, yksijohdin, PWM-signaali jne.).

FPGA: ta valittaessa pääkriteerinä on ohjelmoitavien lohkojen lukumäärä - niiden pitäisi olla riittäviä tehtävän suorittamiseen.

Tietystä FPGA: sta riippuen, lohkojen lukumäärä voi vaihdella laajoissa rajoissa, ja kustannukset vastaavasti.

Mikrokontrolleri suorittaa peräkkäin kaikki ohjelmassaan määrätyt toiminnot, kun taas FPGA-lohkot suorittavat tehtävän rinnakkain ja toisistaan ​​riippumattomasti, joten näiden laitteiden vertaaminen kellotaajuuden mukaan on epäkäytännöllistä. Heidän toimintaperiaate on liian erilainen.

FPGA-tyypit

tyypit

Tällä hetkellä merkityksellisiä ovat kaksi päätyyppiä FPGA: t:


1. CPLD (Complex Programmable Logic Device - Ohjelmoitava logiikka integroitu piiri, itse asiassa tämä on FPGA sen klassisessa merkityksessä). Sillä on yleensä sisäänrakennettu haihtumaton muisti, johon laiteohjelmisto ladataan.

Sisäinen rakenne on rakennettu makrokennojen tai loogisten lohkojen matriisiin ja niiden elementtien lukumäärä on välillä satoja ja tuhansia kappaleita. Suhteellisen yksinkertaisuuden vuoksi ne ovat halvempia kuin seuraavan tyyppinen ohjelmoitava logiikka. Kaikki tämä johtaa siihen, että CPLD: tä käytetään pääasiassa piireissä, joissa tarvitaan nopeaa ja suurta määrää lähtöjä, suorittaen yksinkertaisia ​​tehtäviä.


2. FPGA (kenttä-ohjelmoitava porttiryhmä - käyttäjän ohjelmoitava porttiryhmä, mutta sitä kutsutaan usein FPGA) - Kehittyneemmät ja monimutkaisemmat laitteet CPLD: hen verrattuna, rakennetaan loogisiin lohkoihin, joissa on joustava kytkentä ja sisältävät suuremman määrän elementtejä (kymmeniä tai satoja tuhansia kappaleita).

Laiteohjelmisto tallennetaan yleensä ulkoiseen haihtumattomaan muistiin. Yksinkertaisimpien logiikkaelementtien lisäksi FPGA: t voivat sisältää valmiita lohkoja minkä tahansa operaation suorittamiseksi, esimerkiksi DSP-signaalinkäsittelylohkot. Tämän kaiken avulla voit toteuttaa prosessorin, signaalinkäsittelylaitteet ja muut monimutkaiset laitteet.


Ihmettelen:

Vaikka itse asiassa haihtumattoman muistin läsnäolo ei tee ohjelmoitavaa logiikka-CPLD: tä. Tämä on osittain harhaanjohtavaa. Suurin ero CPLD: n ja FPGA: n välillä on sisäinen rakenne.

Ero CPLD: n ja FPGA: n välillä on sisäinen rakenne

Sisäinen CPLD on esitetty yksityiskohtaisemmin alla olevassa kuvassa.

CPLD-sisäinen laite

Ja sen makrosolun likimääräinen kaavio näyttää tältä:

Näyte CPLD-makrosolun asettelusta

Makrosolu sisältää ohjelmoitavat multiplekserit, liipaisimet (yhden tai useamman) ja muodostaa ryhmän ulostulon FB-signaaleja useissa versioissa.

Seuraava on toinen esimerkki - lohkokaavio CPLD-siruperheen MAX II -yrityksestä Altera.

Altera MAX II CPLD -kaavio

Ja saman perheen sirujen rakennesuunnitelma.

Altera MAX II CPLD -lohkokaavio

Makrosolujen välirenkaat määritetään käyttämällä solmua, kuten jakeluohjelmaa englanniksi. se kuulostaa logiikan allokoijalta, joka esitetään alla olevassa kaaviossa, se näyttää myös kytkentämatriisin (globaali reititysallas), ja ulostulossa makrokennoilla (makrokennoilla) on kaksi palautetta.

Jakelu- ja kytkentämatriisi

Mikropiirin ulkoiset lähdöt on kytketty makrokennojen ulostuloihin toisen lohkon (matriisin) - ORP: n (Output Routing Pool) kautta. Huomaa, että sen kautta INPUT-logiikka on kytketty GRP: hen, kuten alla olevassa kuvassa näkyy.

Huomautus:

Joillakin CPLD: llä on ns suorat tulot (suora tulo) - ne on kytketty solujen tuloihin suoraan, mikä vähentää viiveitä.

FPGA-rakenteella on seuraava muoto:

FPGA-rakenne
  • L - loogisesti konfiguroitava lohko;

  • S (korvauslohko) - korvauslohko, se vastaanottaa tietyn määrän bittejä liikettä kohti, muuntaa tietyn algoritmin mukaan ja antaa eri määrän bittejä ulostulossa. Toisin sanoen dekooderi, salaus ja kytkin.

  • C (yhteyslohko) - yhteyslohko.

S-lohkokaavio:

 

S-lohkokaavio



ohjelmointi


HDL (laitteistokuvauskieli) - tämä on kieli, jolla FPGA-ohjelmat ohjelmoidaan. Suosittuja ja monipuolisia ovat Verilog HDL ja VHDL. Muita kieliä, kuten valmistajille ominaisia ​​kieliä, kuten AHDL ALTERA-tuotteille, on olemassa.

Graafinen ohjelmointi on käytettävissä kehittäjille, jotka työskentelevät FPGA: n kanssa. Eli voit piirtää logiikkapiirejä tai yhdistää koodin grafiikkaan. Jälkimmäistä kutsutaan modulaariseksi kehittämismenetelmäksi, kun tietyt moduulit määrätään, ja ylämoduuli, jossa kaikki yhdistetään, ohjelmoidaan graafisesti.


Esimerkkejä suosituista valmistajista ja sarjoista

Kirjoittamishetkellä tunnetuimmat ovat kahden valmistajan tuotteet.

  • Altera (perustettu vuonna 1983);

  • Xilinx (perustettu vuonna 1984).

Altera

Alteralla on useita tärkeitä ohjelmoitavan logiikan sarjoja:

  • MAX, MAX II, MAX IIZ;

  • 7000S;

  • 3000A;

  • MAX V;

  • sykloni;

  • Arria;

  • Stratix.

Tarkastellaan kutakin niistä yksityiskohtaisemmin. Alla olevissa taulukoissa näet yleisiä tietoja perheen mikropiireistä.

Ohjelmoitavan logiikan pääsarjan ominaisuudet
Ohjelmoitavan logiikan pääsarjan ominaisuudet

Altera 3 CPLD CPLD:

  • MAX on mobiililaitteissa käytettävä CPLD, tunnusmerkkejä ovat suhteellisen alhainen virrankulutus ja lämmönpoisto. Seuraavat muutokset erotetaan monimutkaisuudesta ja julkaisuvuosista riippuen:

  • 7000S on vanhentunut tähän päivään mennessä, se julkaistiin vuonna 1995.

  • 3000A - julkaistiin vuonna 2002, on valmistettu 300nm tekniikalla. Koostuu pienestä määrästä makrosoluja (32-512)

  • Vuonna 2004 julkaistu MAX II, valmistettu 100nm tekniikalla, koostuu suuremmasta määrästä yksiköitä (240–2210), jotka toimivat taajuuksilla 304 MHz saakka. Tuote on valmistettu tapauksissa, joissa TQFP 0.5 -mylly on vähintään 100 jalkaa.

  • MAX IIZ - 2007, tärkein ominaisuus on vähentynyt virrankulutus - tämä on positiivinen kohta, mutta taajuudet alennetaan 152 MHz: iin. Nämä mikrosirut saavat virran 1,8 V.

  • MAX V - 2010 vuosi. Se on valmistettu 180 nm: n tekniikan mukaisesti, se voi sisältää 40 - 2210 lohkoa ja toimia taajuuksilla jopa 152MHz tai taajuudella 304MHz - se riippuu lohkojen määrästä.

Altera 3 CPLD CPLD

FPGA:

  • Sykloni on budjetti FPGA-tyyppinen siru. Kreikassa on merkitty viisi sukupolvea (vastaavasti I: stä V: ään). Ensimmäinen sukupolvi lanseerattiin vuonna 2002, se valmistettiin 180 nm tekniikalla, ja viides sukupolvi julkaistiin vuonna 2011 ja valmistettiin 28 nm tekniikalla. On syytä huomata, että kaikki sukupolvet ovat edelleen merkityksellisiä.

  • Arria - viitataan myös keskitason FPGA: hon.

  • Stratix - Tehokkaat FPGA-levyt.

Alla on Altera FPGA-ohjelmoitavat logiikan kääntötaulut.

FPGA-ominaisuudet
FPGA-ominaisuudet
FPGA-ominaisuudet

Ja koko pöytä linkissä:https://i.electricianexp.com/fi/tablitsa.docx

Valmistaja Xilinx CPLD esitetään sarjassa:

  • XC9500XL 36 - 288 makrosoluista. Ne toimivat jopa 178 MHz: n taajuuksilla ja mallit 288-makrosoluilla 208 MHz: llä. Se suoritetaan kuten pienissä tapauksissa, joissa on 44 tappia (johtimia) 0,8 mm: n etäisyydellä toisistaan ​​- tällaisia ​​tapauksia pidetään helposti juotettuina. Saatavana myös 64 ja 100 jalalla 0,5 mm: n välein, sekä malleja PLCC-tyyppisissä koteloissa.

  • CoolRunner-II-sarja on energiatehokas, mutta tuottava CPLD. Ominaisuus saa jännitettä 1,8 V, tulot ja lähdöt on suunniteltu toimimaan alueella 1,5-3,3 V. Ne koostuvat 32-512 makrosolusta ja tuotetaan 180 nm: n tekniikalla. Solujen lukumäärästä riippuen ne toimivat taajuusalueella 179-323 MHz, ja mitä pienemmät solut, sitä enemmän taajuutta he voivat käyttää tässä tapauksessa. Niitä löytyy eri tapauksissa, mukaan lukien helposti juotetut, kuten edellä tarkasteltujen sarjojen mikropiireissä.

Xilinx-yhtiö ei ohittanut ja FPGA:

  • Spartan-6 - koostuvat 6 sisääntulon logiikkalohkosta, niiden lukumäärä on alueella 3840-147443 kappaletta. Mielenkiintoista, että ne voivat sisältää ohjaimia tietojen vaihtamiseen, kuten DDR2, DDR3, PCI-EXPRESS, Ethernet 1Gbit, SerialATA jne. ...

  • Vitrex-7-sarja on monimutkainen, mikropiirit voivat sisältää jopa 2 000 000 logiikkalohkoa ja 1 200 kosketinta.

Alta löydät yhteenvetotaulukot CPLD- ja FPGA-eritelmillä Xilinx 6 ja 7 -sarjoista sekä Zynq-7000 -laitteista.

Xilinx 6 ja 7 -sarjan FPGA-ominaisuudet
Virtex-6 FPGA: n ominaispiirteet
FPGA-perheen ominaisuudet Spartan-6
FPGA-perheen ominaisuudet Spartan-6
FPGA-ominaisuudet
FPGA-ominaisuudet

johtopäätös

FPGA- ja PPVM-moduuleja tuottavat myös muut yritykset, kuten Lattice Semiconductor (vuonna 2002 aloitti FPGA-levyjen tuotannon), Actel ja sen sivustollemme tunnetut lukijat. mikrokontrollerit ATMEL ja monet muut. Ohjelmoitavalla logiikalla on mahdollista toteuttaa useita laitteita, toteuttaa toisistaan ​​riippumattomia rinnakkaislaskelmia yhdessä laitteessa, mutta kotiprojekteissa niiden hankinta on usein taloudellisesti perusteetonta, mutta tuotannon mittakaavassa melko järkevää vaihtoehtona mukautettuihin integroituihin piireihin.

LoppusanatKatso video, siinä on esimerkki Nintendo-pelikonsolin toteutuksesta FPGA: lla:

Katso myös osoitteesta i.electricianexp.com:

  • Toiminnallinen lohkokaavion kieli (FBD) ja sen käyttö
  • Nykyaikaisten integroitujen piirien tyypit - logiikkatyypit, tapaukset
  • Loogiset sirut. Osa 1
  • PIC-mikro-ohjaimet aloittelijoille
  • Ohjelmoitavat logiikkaohjaimet kotiautomaatioon

  •