FPGA: všetko o týchto čipoch a ich programovaní

Čip FPGA

undefined FPGA sú čoraz populárnejšie v posledných časoch. Tieto čipy sa často používajú aj na profesionálne použitie, ale tiež pre domácich majstrov a tvorcov, ktorí chcú implementovať diskrétny obvod do čipu so všetkými výhodami, ktoré z toho vyplývajú. Nie je lacné a ľahké nájsť továreň na odoslanie vašich rozložení alebo vzorov a nechať si vyrobiť čip na mieru.

Je pravda, že niektoré zlievarne to umožňujú vyrábať oblátky alebo oblátky s viacerými projektmi vyrobiť žetóny od jednotlivcov alebo univerzít, aby ich mohli testovať Tieto typy tovární sa, ako hovorím, ťažko hľadajú, väčšinou sú v zahraničí a nie sú lacné. Po chvíli sa vzorky vašich čipov odošlú na dohodnutú adresu, ale nie sú zodpovedné za ich testovanie alebo kontrolu funkčnosti. Všetko záleží na vašom dizajne ...

Una alternatívnym riešením je nákup FPGA a naprogramujte si všetko, čo potrebujete na implementáciu do čipu ...

Čo je to FPGA?

Programovateľné bunky

FPGA znamená Field Programmable Gate Array. Sú to digitálne zariadenia alebo čipy, ktoré je možné nakonfigurovať tak, aby umožňovali implementáciu prakticky všetkého. Inými slovami, ide o prázdny čip, do ktorého môžete „písať“. To znamená, že môžete implementovať CPU, pamäť, radič, akúkoľvek logiku atď., Čím dosiahnete veľmi rýchlu operáciu a so všetkými výhodami jej integrovania do čipu, a nie s elektronickými prvkami.

Ross Freeman a Bernard Vonderschmitt, spoluzakladatelia spoločnosti Xilinx, boli tí, ktorí vynašli FPGA v roku 1984. Urobili to ako vývoj vtedajších CPLD čipov. Programovateľné čipy CPLD mali niektoré nedostatky, ktoré vyriešili nové návrhy FPGA, a od tej doby sa vyvíjajú dodnes.

Trh s FPGA je taký plodný, že sa spoločnostiam páči Intel, Xilinx, Altera, Quick Logic, Lattice atď., veľa investovali do vývoja lepších FPGA a tiež zabudovaného programovacieho prostredia alebo IDE pre ne. Poskytujú tak veľmi dobré platformy na uľahčenie úloh vývojárom alebo tvorcom.

V súčasnej dobe títo výrobcovia nielen poskytujú programovateľný čip, ale aj zahŕňajú početné pomocné prvky priniesť vývojárom viac možností. Zahŕňajú napríklad pamäťové bunky flash, pamäťové bunky SDRAM atď.

Na čo sa používajú?

IDE na programovanie FPGA

Preto môže byť FPGA podobné ako ASIC, ale to môžeme si vybrať čo bude. Napríklad by sme mohli vytvoriť kód, ktorý by ho naprogramoval a premenil ho na CPU, GPU, sčítač, radič pamäte alebo akýkoľvek iný logický obvod implementovaný na jednom čipe.

Možnosti sú dosť nekonečné. V skutočnosti vám odporúčam navštíviť webovú stránku opencores.org, stránka venovaná ponúkaniu množstva projektov hardware libre. Kódy nájdete vo VHDL, Verligo atď RAM, CPU, GPU, radiče, ALU, FPU, dekodéry a dlhá atď..

Ako sa programuje?

Programátor pre FPGA

Na programovanie FPGA to môžeme urobiť z nášho obľúbeného operačného systému, ako je GNU / Linux, Windows a MacOS, aj keď pre Windows existuje určite viac vývojových prostredí. Rovnaké spoločnosti, ktoré vyrábajú FPGA, spravidla ponúkajú a Veľmi kompletné IDE na prácu a kde nájdete všetky nástroje, ktoré potrebujete, v rovnakom softvérovom balíku.

Budete tiež potrebovať Čip alebo doska FPGA a potrebný kábel alebo programátor pomocou ktorého môžete pripojiť FPGA k počítaču a odovzdať napísaný kód do FPGA, a tak je naprogramovaný. Je to niečo podobné ako v prípade dosky Arduino, keď sa program Arduino IDE zapisuje do programovateľnej pamäte mikrokontroléra.

Iba v prípade FPGA máme maticu alebo pole základných komponentov, ako sú pamäťové bunky, brány AND, OR, NOT, klopné obvody a ďalšie. základné prvky alebo bloky digitálnej elektroniky ktoré môžeme použiť. S napísaným programom to, čo ideme urobiť, je zaviesť spôsob, akým sa tieto základné bloky zoskupia, aby vytvorili malý okruh, aký chceme, napríklad ALU.

To znamená, že ak programujeme sčítačku v našom IDE, bloky potrebné na implementáciu tejto sčítačky idú prepojiť správnym spôsobom vo vnútri FPGA, aby čip fungoval ako sčítač. Jednoduché nie? Všeobecne sa na programovanie na fyzickej úrovni používa niekoľko metód, napríklad pamäte alebo poistky, ktoré v takom prípade vytvárajú trvalé spojenie.

Rýchlosť ich fungovania bude závisieť od frekvencia hodín na ktoré funguje FPGA, ktoré sme kúpili. Napríklad tie najzákladnejšie zvyčajne pracujú pri 50 Mhz, iné tak budú robiť pri oveľa vyšších frekvenciách. V prípade 50 Mhz FPGA to znamená, že bude pracovať rýchlosťou 50.000.000 XNUMX XNUMX krát za sekundu. Ak budeme pokračovať v sčítači, ktorý som uviedol ako príklad, budete schopný urobiť túto sumu súčtov za jednu sekundu ...

Pokračovanie v téme ProgramovanieKeď vieme, že môžete napísať kód, ako by sme to napísali v Arduino IDE, alebo vyvíjať akýkoľvek iný program, a keď uvidíme, ako sa to deje na hardvérovej úrovni, poviem, že to skutočne nie je programovanie ako také. Ide skôr o hardvérový popis. V skutočnosti sa používajú jazyky na popis hardvéru, napríklad VHDL, Verilog atď.

s tento program je opísaný na logickej úrovni čo robí ten malý okruh, ktorý chceme implementovať. A potom to ide na FPGA. Aj keď je pravda, že niektoré platformy umožňujú programovanie v programovacích jazykoch, ako je C, aby mohli implementovať CPU do FPGA a potom generovať programy na načítanie do pamäte a na spracovanie uvedeným procesorom.

Integrácia s Arduino

Arduino-FPGA

FPGA sa zvyčajne používajú osobitne, ale je pravda, že na trhu je veľa nástrojov a súprav, ktoré vám uľahčia život pri integrácii vašich FPGA s platformou Arduino. Príkladom dosky, ktorá prináša do vašich projektov s Arduino FPGA, je MKR Vidor 4000, aj keď existujú aj iné.

Prehliadač MKR 4000 je to doska s tromi čipmi. Jedným z nich je FPGA, konkrétne Intel Cyclone 10. K dispozícii sú aj ďalšie čipy pre Bluetooth LE alebo pripojenie s nízkou spotrebou a tiež kompatibilita s WiFi. Dobrý doplnok, ktorý zariadeniu Arduino poskytne funkcie pripojenia a bude schopný implementovať do FPGA to, čo potrebujete.

S ním máte a prispôsobiteľný hardvér, nakonfigurovaný sami na požadovaný účel. To ponúka nekonečné možnosti.


Buďte prvý komentár

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.