kategória: Obvody mikrokontrolérov
Počet zobrazení: 21445
Komentáre k článku: 0

Čo je FPGA jednoduchý jazyk pre začiatočníkov

 

S čím je spojená digitálna elektronika? Po prvé, s logickými prvkami A ALEBO NIE. Ďalej sa do pamäte dostanú posuvné registre, dekodéry, multiplexory atď. Avšak ako sa zvyšuje zložitosť elektronických zariadení a trend smerom k miniaturizácii, tvorba zariadení založených na integrovaných obvodoch (IC) z vyššie uvedených komponentov sa stala ťažšou, zvyčajné integrované obvody požadovanej topológie a obvodov sa ukázali ako užitočné iba vtedy, keď sa zariadenie replikovalo vo veľkom počte, v iných prípadoch to bolo neprimerane nákladné.

Východiskom z tejto situácie bol vývoj programovateľných integrovaných logických obvodov (skrátene FPGA, zahraničná skratka ako programovateľné logické zariadenie, PLD). Čo je a kde sa používa, povieme v tomto článku.

Čo je FPGA jednoduchý jazyk pre začiatočníkov

Rozdiely od mikrokontrolérov

Pri slove „programovateľný“ spája väčšina začiatočníkov s mikrokontrolérmi, Napriek tomu, že sú tiež programované, FPGA sú úplne iné zariadenia.

Pre vývojárov v mikrokontroléroch je k dispozícii pevná sada riešení a nástrojov, ktoré sú vlastné konkrétnemu čipu, nebude sa v žiadnom prípade snažiť ustúpiť od architektúry. Dostanete množinu príkazov, pomocou ktorých vykonávate operácie interakcie s prostredím, čítaním údajov z digitálnych a analógových vstupov a odosielaním signálov do ovládačov pomocou výstupov.

Okrem toho môžete vykonávať výpočty, ukladať údaje do registrov alebo ROM, ako aj pracovať s údajmi blikajúcimi v pamäti mikrokontroléra. V podstate je to účel a vlastnosti práce s mikrokontrolérmi.

Programovateľné 769; log 769; celé číslo 769; ľan 769; ma (FPGA, anglické programovateľné logické zariadenie, PLD)

Programovateľné logické integrované obvody (FPGA) sa líšia tým, že pri programovaní zariadenia sami vytvárate architektúru zo základných logických prvkov. Takto získate vysokú rýchlosť a flexibilitu čipu. Vďaka tomu je možné bez zmeny jedného čipu vytvoriť množstvo projektov.

Interné zariadenie FPGA sa dá všeobecne rozdeliť do troch hlavných skupín:

1. Súbor logických prvkov (makrobunky, logické bloky).

2. Vstupno / výstupné bloky (IO).

3. Komunikačné linky medzi nimi a zariadením, ktoré riadi tieto spojenia.

Takáto štruktúra je však veľmi zovšeobecnená, túto otázku budeme podrobnejšie rozoberať nižšie.

Programovaním spájate prvky rovnakým spôsobom, ako by ste zostavili zariadenie z jednotlivých prvkov a prepojili ich vstupy a výstupy s vodičmi.

Poznámka:

Hlavný rozdiel medzi FPGA a mikrokontrolérmi spočíva v tom, že v mikrokontroléri nemôžete meniť vnútorné spojenia medzi najjednoduchšími prvkami a programovanie a práca s nimi je založená na registrácii spojení.

Výber mikrokontrolérov je založený na mnohých kritériách, ako napríklad:

  • Rýchlosť a rýchlosť hodín;

  • Množstvo ROM a RAM;

  • Počet vstupov a výstupov.

Ďalšie funkčné vlastnosti a periférne zariadenia, ako napríklad podpora komunikačných liniek a protokolov (I2C, jednovodičový, PWM signál atď.).

Pri výbere FPGA je hlavným kritériom počet programovateľných blokov - mali by stačiť na implementáciu úlohy.

V závislosti od konkrétneho FPGA sa počet blokov môže veľmi líšiť a cena sa tiež mení.

Mikrokontrolér vykonáva postupne všetky operácie predpísané vo svojom programe, zatiaľ čo bloky FPGA vykonávajú úlohu paralelne a nezávisle na sebe, preto je porovnávanie týchto zariadení podľa frekvencie hodín nepraktické. Ich princíp fungovania je príliš odlišný.

Typy FPGA

typy

V súčasnosti sú relevantné dva hlavné typy FPGA:


1. CPLD (komplexné programovateľné logické zariadenie - integrovateľný obvod programovateľnej logiky, v skutočnosti ide o FPGA v jeho klasickom zmysle). Zvyčajne má zabudovanú energeticky nezávislú pamäť, do ktorej sa nahrá firmvér.

Vnútorná štruktúra je postavená na matici makrobuniek alebo logických blokov a počet prvkov v nich leží v rozmedzí stoviek a tisícov kusov. Vďaka svojej relatívnej jednoduchosti sú lacnejšie ako ďalší typ programovateľnej logiky. To všetko vedie k tomu, že CPLD sa používa hlavne v obvodoch, kde sú potrebné vysoké rýchlosti a veľké množstvo výstupov pri vykonávaní jednoduchých úloh.


2. FPGA (pole programovateľné hradlové pole - pole programovateľné hradlové pole, často sa však označuje ako FPGA) - vyspelejšie a komplexnejšie zariadenia v porovnaní s CPLD sú postavené na logických blokoch s flexibilným prepínaním a obsahujú väčší počet prvkov (desiatky alebo stovky tisíc kusov).

Firmvér sa zvyčajne ukladá do externej energeticky nezávislej pamäte. Okrem najjednoduchších logických prvkov môžu FPGA obsahovať hotové bloky na vykonávanie akýchkoľvek operácií, napríklad bloky na spracovanie signálu DSP. To všetko vám umožňuje implementovať procesor, zariadenia na spracovanie signálu a ďalšie zložité zariadenia.


Aj zázrak:

Aj keď v skutočnosti nepretržitá pamäť nevytvára programovateľnú logiku CPLD. To je čiastočne zavádzajúce. Hlavný rozdiel medzi CPLD a FPGA je vnútorná štruktúra.

Rozdiel medzi CPLD a FPGA je vnútorná štruktúra

Interné zariadenie CPLD je podrobnejšie znázornené na obrázku nižšie.

CPLD interné zariadenie

A približná schéma makrobunky vyzerá takto:

Ukážka rozloženia makrobeliek CPLD

Makrobunka sa skladá z programovateľných multiplexorov, spúšťačov (jedného alebo viacerých) a tvorí skupinu výstupných signálov FB v niekoľkých verziách.

Nasleduje ďalší príklad - bloková schéma čipu CPLD z rodiny čipov Altera MAX II.

Vývojový diagram Altera MAX II CPLD

A štrukturálny plán čipov tej istej rodiny.

Blokový diagram Altera MAX II CPLD

Medzizubné pneumatiky sa priraďujú makrobunkám pomocou uzla, napríklad distribútora v angličtine. Znie to ako logický alokátor, ktorý je zobrazený na nasledujúcom diagrame, tiež ukazuje maticu prepínania (globálny smerovací fond) a na výstupných makrobunkách (makrobunky) majú dve spätné väzby.

Rozdeľovacia a prepínacia matica

Externé výstupy mikroobvodov sú pripojené k výstupom makrobuniek prostredníctvom iného bloku (matice) - ORP (Output Routing Pool), všimnite si, že prostredníctvom neho je logika INPUT spojená s GRP, ako je znázornené na obrázku nižšie.

Poznámka:

Niektoré CPLD majú tzv priame vstupy (priamy vstup) - priamo sa pripájajú na vstupy buniek, čo znižuje oneskorenie.

Štruktúra FPGA má tvar:

Štruktúra FPGA
  • L - logický konfigurovateľný blok;

  • S (substitučný blok) - substitučný blok, prijíma určitý počet bitov na ťah, prevádza podľa určitého algoritmu a na výstup privádza iný počet bitov. Inými slovami, dekodér, šifrovač a prepínač.

  • C (blok pripojenia) - blok pripojenia.

Bloková schéma S:

 

Bloková schéma S



programovanie


HDL (jazyk s popisom hardvéru) - to je jazyk, v ktorom sú programované FPGA. Populárne a všestranné sú Verilog HDL a VHDL. Existujú aj iné jazyky, napríklad jazyky špecifické pre výrobcov, ako napríklad AHDL pre výrobky ALTERA.

Grafické programovanie je k dispozícii pre vývojárov, ktorí pracujú s FPGA. To znamená, že môžete jednoducho kresliť logické obvody alebo kombinovať kód s grafikou. Ten sa nazýva modulárny vývojový postup, keď sú predpísané špecifické moduly, a horný modul, v ktorom je všetko kombinované, je programovaný graficky.


Príklady populárnych výrobcov a sérií

V čase písania sú najznámejšie výrobky dvoch výrobcov.

  • Altera (založená v roku 1983);

  • Xilinx (založená v roku 1984).

altera

Altera má niekoľko hlavných sérií programovateľnej logiky:

  • MAX, MAX II, MAX IIZ;

  • 7000S;

  • 3000A;

  • MAX V;

  • Cyclone;

  • Arria;

  • Stratix.

Zoberme si podrobnejšie každú z nich. V tabuľkách nižšie sú zobrazené všeobecné informácie o čipoch rodiny.

Charakteristiky hlavnej série programovateľnej logiky
Charakteristiky hlavnej série programovateľnej logiky

Altera 3 CPLD CPLD:

  • MAX je CPLD pre použitie v mobilných zariadeniach, charakteristickým znakom je pomerne nízka spotreba energie a odvod tepla. V závislosti od zložitosti a rokov vydania sa rozlišujú tieto modifikácie:

  • 7000S je zastaraný, bol vydaný v roku 1995.

  • 3000A - uvedený na trh v roku 2002, sa vyrába technológiou 300nm. Pozostáva z malého počtu makrobuniek (32 - 512)

  • MAX II vydané v roku 2004, je vyrobené pomocou technológie 100nm, pozostáva z väčšieho počtu jednotiek (240 - 2210) pracujúcich na frekvenciách do 304 MHz. Výrobok sa vyrába v prípadoch mlyna typu TQFP 0,5 so 100 alebo viac nohami.

  • MAX IIZ - 2007, hlavnou črtou je znížená spotreba energie - to je pozitívny bod, frekvencie sa však znížia na 152 MHz. Tieto mikroobvody sú napájané z 1,8 V.

  • MAX V - rok 2010. Vyrába sa podľa technológie 180nm, môže obsahovať od 40 do 2210 blokov a pracuje pri frekvenciách až 152 MHz alebo 304 MHz - záleží na počte blokov.

Altera 3 CPLD CPLD

FPGA:

  • Cyclone je lacný čip typu FPGA. Existuje päť generácií, ktoré sú označené gréckymi číslami (od I do V). Prvá generácia bola uvedená na trh v roku 2002 a bola vyrobená pomocou technológie 180 nm a piata generácia bola uvedená na trh v roku 2011 a bola vyrobená pomocou technológie 28 nm. Je potrebné poznamenať, že všetky generácie zostávajú relevantné.

  • Arria - vzťahujú sa aj na FPGA stredného rozsahu.

  • Stratix - výkonné FPGA.

Ďalej sú programovateľné logické kontingenčné tabuľky Altera FPGA.

Funkcie FPGA
Funkcie FPGA
Funkcie FPGA

A celá tabuľka na odkaze:

Výrobca Xilinx CPLD predstavil v sérii:

  • XC9500XL z 36-288 makrobuniek. Pracujú pri frekvenciách až 178 MHz a modely pri 288 makrobunkách pri 208 MHz. Vykonáva sa ako v malých prípadoch so 44 kolíkmi (zvody) vo vzdialenosti 0,8 mm od seba - tieto prípady sa považujú za ľahko spájkované. K dispozícii aj so 64 a 100 nohami v krokoch po 0,5 mm, ako aj s modelmi v krytoch typu PLCC.

  • Séria CoolRunner-II je energeticky úsporná a zároveň produktívna CPLD. Prvok je napájaný napätím 1,8 V, vstupy a výstupy sú navrhnuté tak, aby pracovali v rozsahu 1,5 až 3,3 V. Pozostávajú z 32 - 512 makrobuniek a vyrábajú sa pomocou technológie 180nm. V závislosti od počtu buniek pracujú vo frekvenčnom rozsahu 179 - 323 MHz a čím menšie sú bunky, tým viac frekvencie môžu v tomto prípade pracovať. Vyskytujú sa v rôznych prípadoch, vrátane ľahko spájkovaných, ako v mikroobvodoch vyššie uvedenej série.

Spoločnosť Xilinx neprešla okolo a FPGA:

  • Spartan-6 - pozostáva zo 6 vstupných logických blokov, ich počet leží v rozmedzí od 3840 do 147443 kusov. Zaujímavé v tom, že môžu obsahovať radiče na výmenu údajov, ako sú DDR2, DDR3, PCI-EXPRESS, Ethernet 1Gbit, SerialATA atď ...

  • Séria Vitrex-7 je komplexná, mikroobvody môžu obsahovať až 2 000 000 logických blokov a 1 200 kontaktov.

Nižšie nájdete súhrnné tabuľky so špecifikáciami CPLD a FPGA zo série Xilinx 6 a 7, ako aj Zynq-7000.

Funkcie FPGA série Xilinx 6 a 7
Charakteristiky FPGA Virtex-6
Charakteristika rodiny FPGA Spartan-6
Charakteristika rodiny FPGA Spartan-6
Funkcie FPGA
Funkcie FPGA

záver

FPGA a PPVMs vyrábajú aj iné spoločnosti, ako napríklad Lattice Semiconductor (v roku 2002 sa začali vyrábať FPGA), Actel a jeho známi čitatelia našich stránok. mikrokontroléry ATMEL a mnoho ďalších. V programovateľnej logike môžete implementovať niekoľko zariadení, implementovať paralelné výpočty nezávisle od seba v jednom zariadení, avšak v prípade domácich projektov je ich nákup často finančne neopodstatnený, ale zároveň v priemyselnom meradle pomerne primeraný, ako alternatíva k integrovaným integrovaným obvodom.

PS:Pozrite si video, v ktorom uvidíte príklad implementácie hernej konzoly Nintendo na FPGA:

Pozri tiež na electro-sk.tomathouse.com:

  • Jazyk funkčnej blokovej schémy (FBD) a jeho aplikácia
  • Typy moderných integrovaných obvodov - typy logiky, prípady
  • Logické čipy. Časť 1
  • Mikrokontroléry PIC pre začiatočníkov
  • Programovateľné logické radiče pre domácu automatizáciu

  •