kategorije: Sklopovi mikrokontrolera
Broj pregledavanja: 21445
Komentari na članak: 0

Što je FPGA jednostavan jezik za početnike

 

S čime je povezana digitalna elektronika? Prije svega, s logičkim elementima I, ILI, NE. Nadalje, u registar ulaze registar pomaka, dekoderi, multiplekseri itd. No, kako složenost elektroničkih uređaja i trend minijaturizacije raste, stvaranje uređaja temeljenih na integriranim krugovima (IC-i) od gore navedenih komponenti postajalo je sve teže, prilagođeni IC-ji potrebne topologije i sklopa pokazali su se korisnima samo kad se uređaj ponovio u velikom broju, u drugim slučajevima bio je nerazumno skup.

Izlaz iz ove situacije bio je razvoj programabilnih integriranih logičkih sklopova (skraćeno FPGA, strana kratica kao programabilni logički uređaj, PLD). Što je to i gdje se koristi reći ćemo u ovom članku.

Što je FPGA jednostavan jezik za početnike

Razlike od mikrokontrolera

Uz riječ "programabilno", većina početnika se udružuje s mikrokontrolerima, Unatoč činjenici da su također programirani, FPGA su potpuno drugačiji uređaj.

Za programere u mikrokontrolerima dostupan je fiksni skup rješenja i sredstava koji su svojstveni određenom čipu i neće se na bilo koji način povući iz arhitekture. Dato vam je skup naredbi s kojima obavljate operacije interakcije s okolinom, čitanjem podataka s digitalnih i analognih ulaza i slanjem signala na pokretače pomoću izlaza.

Osim toga, možete vršiti proračune, spremiti podatke u registre ili ROM-ove, kao i raditi s podacima upisanim u memoriju mikrokontrolera. Na tome je, u osnovi, svrha i značajke rada s mikrokontrolerima.

Programabilni 769; log 769; cijeli broj 769; lan 769; ma (FPGA, engleski programirljivi logički uređaj, PLD)

Programirani logički integrirani sklopovi (FPGA) razlikuju se po tome što prilikom programiranja uređaja sami kreirate arhitekturu iz osnovnih logičkih elemenata. Tako dobivate veliku brzinu i fleksibilnost čipa. To omogućava, bez promjene jednog čipa, napraviti niz projekata.

Unutarnji FPGA uređaj može se podijeliti u tri glavne skupine:

1. Niz logičkih elemenata (makroćelije, logički blokovi).

2. Ulazno / izlazni blokovi (IO).

3. Komunikacijske linije između njih i uređaja koji upravlja tim vezama.

Međutim, takva je struktura vrlo generalizirana, razmotrit ćemo ovo pitanje detaljnije u nastavku.

Programiranjem spajate elemente na isti način kao što biste i napravili, tako da uređaj sastavite iz pojedinih elemenata i povežete njihove ulaze i izlaze s vodičima.

Napomena:

Glavna razlika između FPGA i mikrokontrolera je ta što u mikrokontroleru ne možete mijenjati interne veze između najjednostavnijih elemenata, a programiranje i rad s njima temelji se na registraciji veza.

Izbor mikrokontrolera temelji se na mnogim kriterijima kao što su:

  • Brzina i brzina takta;

  • Količina ROM-a i RAM-a;

  • Broj ulaza i izlaza.

Ostale funkcionalne značajke i periferne jedinice, kao što su podrška za komunikacijske linije i protokole (I2C, jednožilni, PWM signal itd.).

Pri odabiru FPGA-a, glavni kriterij je broj programabilnih blokova - oni bi trebali biti dovoljni za provedbu zadatka.

Ovisno o specifičnoj FPGA, broj blokova može varirati u velikoj mjeri, a cijena se također mijenja.

Mikrokontroler uzastopno obavlja sve operacije propisane u njegovom programu, dok blokovi FPGA izvršavaju zadatak paralelno i neovisno jedan od drugoga, stoga je uspoređivanje ovih uređaja prema taktnoj frekvenciji nepraktično. Njihov princip rada previše je različit.

Vrste FPGA

vrste

Trenutno su relevantne dvije glavne vrste FPGA-a:


1. CPLD (Složeni programirljivi logički uređaj - Programirani logički integrirani krug, u stvari to je FPGA u svom klasičnom smislu). Obično ima ugrađenu nehlapljivu memoriju u koju se učitava firmver.

Unutarnja struktura izgrađena je na matrici makroćelija ili logičkih blokova, a broj elemenata u njima nalazi se u rasponu stotina i tisuća komada. Zbog svoje relativne jednostavnosti, oni su jeftiniji od sljedeće vrste logike koja se može programirati. Sve to dovodi do činjenice da se CPLD koristi uglavnom u krugovima u kojima je potrebna velika brzina i velik broj izlaza, pri izvršavanju jednostavnih zadataka.


2. FPGA (Field Programmable Gate Array - Field Programmable Gate Array, no često se naziva FPGA) - razvijeniji i složeniji uređaji u usporedbi s CPLD-om, izrađeni su na logičkim blokovima s fleksibilnim prebacivanjem i sadrže veći broj elemenata (deseci ili stotine tisuća komada).

Firmware se obično pohranjuje u vanjsku nehlapljivu memoriju. Pored najjednostavnijih logičkih elemenata, FPGA mogu sadržavati gotove blokove za izvođenje bilo kojih operacija, na primjer, blokovi za obradu DSP signala. Sve to vam omogućuje implementaciju procesora, uređaja za obradu signala i drugih složenih uređaja.


Pitam se:

Iako u stvari, nehlapljiva memorija ne čini programirati logiku CPLD. To je djelomično zabludno. Glavna razlika između CPLD i FPGA je unutarnja struktura.

Razlika između CPLD i FPGA je unutarnja struktura

Unutarnji CPLD uređaj prikazan je detaljnije na slici ispod.

CPLD unutarnji uređaj

A okvirna shema njegove makroćelije izgleda ovako:

Uzorak CPLD izgleda makroćelije

Makrocelica se sastoji od programabilnih multipleksera, okidača (jednog ili više) i tvori skupinu izlaznih FB signala u nekoliko verzija.

Slijedi još jedan primjer - blok dijagram CPLD čipa iz Altera MAX II porodice čipova.

Altera MAX II CPLD dijagram

I strukturni plan čipsa iste obitelji.

Altera MAX II CPLD dijagram

Srednje gume dodijeljene su makro ćelijama pomoću čvora, poput distributera na engleskom jeziku. zvuči kao Logički alokator, koji je prikazan na donjem dijagramu, prikazuje i matricu prebacivanja (Global Routing Pool), a na izlazu makroćelije (macrocells) imaju dvije povratne veze.

Matrica za distribuciju i prebacivanje

Vanjski izlazi mikro kruga povezani su s izlazima makroćelija preko drugog bloka (matrice) - ORP (Output Routing Pool), imajte na umu da je putem njega logika INPUT spojena na GRP, kao što je prikazano na donjoj slici.

Napomena:

Neki CPLD-ovi imaju tzv izravni ulazi (Direct Input) - povezani su na ulaze ćelija izravno, što smanjuje kašnjenja.

Struktura FPGA ima oblik:

FPGA struktura
  • L - logički podesivi blok;

  • S (zamjenski blok) - zamjenski blok, on prima određeni broj bita po potezu, pretvara se prema određenom algoritmu i na izlazu dobiva različit broj bitova. Drugim riječima, dekoder, šifrir i sklopka.

  • C (blok veze) - blok veze.

S-blok dijagram:

 

S-blok dijagram



programiranje


HDL (jezik opisa softvera) - to je jezik na kojem se programiraju FPGA. Popularni i svestrani su Verilog HDL i VHDL. Postoje i drugi jezici, poput onih specifičnih za proizvođače, kao što je AHDL za ALTERA proizvode.

Grafičko programiranje dostupno je programerima koji rade s FPGAs. Odnosno, jednostavno možete crtati logičke sklopove ili kombinirati kod s grafikom. Potonji se naziva metoda modularne izrade, kad su propisani posebni moduli, a gornji modul, u kojem je sve kombinirano, programiran je grafički.


Primjeri popularnih proizvođača i serija

U vrijeme pisanja najpoznatiji su proizvodi dva proizvođača.

  • Altera (osnovana 1983);

  • Xilinx (osnovan 1984.).

Altera

Altera ima nekoliko glavnih serija logike programiranja:

  • MAX, MAX II, MAX IIZ;

  • 7000S;

  • 3000A;

  • MAX V;

  • Ciklon;

  • Arria;

  • Stratix.

Razmotrimo svaki od njih detaljnije. U donjim tablicama možete vidjeti opće podatke o obitelji čipova.

Karakteristike glavne serije programabilne logike
Karakteristike glavne serije programabilne logike

Altera 3 CPLD CPLD:

  • MAX je CPLD za upotrebu u mobilnim uređajima, odlika su relativno niska potrošnja energije i rasipanje topline. Ovisno o složenosti i godinama izdavanja, razlikuju se sljedeće modifikacije:

  • Do danas je zastario 7000S, objavljen je 1995.

  • 3000A - objavljeno 2002. godine, proizvodi se primjenom 300nm tehnologije. Sastoji se od malog broja makroćelija (32-512)

  • MAX II objavljen 2004. proizveden je primjenom 100nm tehnologije, sastoji se od većeg broja jedinica (240-2210) koje rade na frekvencijama do 304 MHz. Proizvod se izrađuje u slučajevima 0,5 ml TQFP sa 100 ili više nogu.

  • MAX IIZ - 2007, glavna značajka je smanjena potrošnja energije - to je pozitivna točka, međutim, frekvencije su smanjene na 152 MHz. Ovi mikro krugovi napajaju se od 1,8 V.

  • MAX V - 2010 god. Proizvodi se prema 180nm tehnologiji, može sadržavati od 40 do 2210 blokova i raditi na frekvencijama do 152MHz ili na 304MHz - to ovisi o broju blokova.

Altera 3 CPLD CPLD

FPGA:

  • Ciklona je proračunski čip tipa FPGA. Postoji pet generacija koje su označene grčkim brojevima (od I do V). Prva generacija objavljena je 2002. godine, proizvedena je 180nm tehnologijom, a peta generacija izašla je 2011. godine i proizvedena pomoću 28nm tehnologije. Vrijedi napomenuti da sve generacije ostaju relevantne.

  • Arria - također se odnose na FPGA srednje klase.

  • Stratix - moćni FPGAs.

Ispod su Altera FPGA programirljivi logički stolovi.

Značajke FPGA
Značajke FPGA
Značajke FPGA

A puni stol na linku:https://hrv.electricianexp.com/tablitsa.docx

Proizvođač Xilinx CPLD predstavljen u seriji:

  • XC9500XL od 36-288 makroćelija. Rade na frekvencijama do 178 MHz, a modeli na 288 makroćelija na 208 MHz. Izvodi se kao u malim slučajevima sa 44 igle (odvodi) na udaljenosti od 0,8 mm jedan od drugog - takvi se slučajevi smatraju lako lemljenim. Također se isporučuje s 64 i 100 nogu u koracima od 0,5 mm, kao i modeli u kućištima tipa PLCC.

  • CoolRunner-II serija je energetski učinkovit, a istovremeno produktivan CPLD. Značajka se napaja naponom od 1,8 V, a ulazi i izlazi dizajnirani su za rad u rasponu od 1,5-3,3 V. Sastoje se od 32-512 makroćelija i proizvode se uporabom 180nm tehnologije. Ovisno o broju ćelija, oni rade u frekvencijskom rasponu 179-323 MHz, a što su stanice manje, to je veća frekvencija u ovom slučaju. Nalaze se u različitim slučajevima, uključujući lako lemljenje, kao i u mikrovezama gore razmatranih serija.

Tvrtka Xilinx nije prošla pored FPGA-e:

  • Spartan-6 - sastoje se od logičkih blokova sa 6 ulaza, njihov se broj nalazi u rasponu od 3840-147443 komada. Zanimljivo je što mogu sadržavati kontrolere za razmjenu podataka kao što su DDR2, DDR3, PCI-EXPRESS, Ethernet 1Gbit, SerialATA itd. ...

  • Serija Vitrex-7 je složena, mikrokontrole mogu sadržavati do 2.000.000 logičkih blokova i 1.200 kontakata.

Ispod možete pronaći sažetke tablica sa CPLD i FPGA specifikacijama iz serija Xilinx 6 i 7, kao i Zynq-7000.

Značajke Xilinx 6 i 7 serije FPGA
Karakteristike Virtex-6 FPGA-ova
Karakteristike FPGA obitelji Spartan-6
Karakteristike FPGA obitelji Spartan-6
Značajke FPGA
Značajke FPGA

zaključak

FPGA i PPVM proizvode i druge tvrtke poput Lattice Semiconductor (2002. godine su počele proizvoditi FPGA-ove), Actel i njegovi poznati čitatelji s naše web stranice. mikrokontroleri ATMEL i mnogi drugi. Na programiranoj logici moguće je implementirati određeni broj uređaja, primijeniti paralelne proračune neovisni jedan o drugome u jednom uređaju, međutim, za kućne projekte njihova je kupovina često financijski neopravdana, ali sasvim razumna na proizvodnoj ljestvici, kao alternativa prilagođenim integriranim krugovima.

P.s.Pogledajte video, u njemu ćete vidjeti primjer implementacije Nintendo igraće konzole na FPGA:

Pogledajte također na elektrohomepro.com:

  • Jezik funkcionalnog blok dijagrama (FBD) i njegova primjena
  • Vrste modernih integriranih krugova - vrste logike, slučajevi
  • Logički čipovi. 1. dio
  • PIC mikrokontroleri za početnike
  • Programibilni logički kontroleri za automatizaciju kućica

  •