FPGA: vše o těchto čipech a jejich programování

FPGA čip

L FPGA jsou stále populárnější v posledních časech. I pro profesionální aplikace se tyto čipy často používají, ale také pro kutily a tvůrce, kteří chtějí implementovat diskrétní obvod uvnitř čipu se všemi výhodami, které z toho vyplývají. Není levné a snadné najít továrnu, která by poslala vaše rozvržení nebo vzory a nechala vám vyrobit vlastní čip.

Je pravda, že některé slévárny to umožňují vyrábět oplatky nebo oplatky pro více projektů vyrábět čipy od jednotlivců nebo univerzit, aby je mohli testovat. Tyto typy továren jsou, jak říkám, obtížné najít, jsou obvykle v zahraničí a nejsou levné. Po chvíli jsou vzorky vašich čipů odeslány na dohodnutou adresu, ale nemají na starosti jejich testování ani kontrolu jejich funkčnosti. Vše záleží na vašem designu ...

A alternativním řešením je nákup FPGA a naprogramujte vše, co potřebujete k implementaci do čipu ...

Co je to FPGA?

 

Programovatelné buňky

FPGA znamená Field Programmable Gate Array. Jsou to digitální zařízení nebo čipy, které lze konfigurovat tak, aby umožňovaly implementovat prakticky cokoli. Jinými slovy, jedná se o prázdný čip, kam můžete „psát“. To znamená, že můžete implementovat CPU, paměť, řadič, jakoukoli logiku atd., Čímž dosáhnete velmi rychlé operace a se všemi výhodami její integrace do čipu a ne s elektronickými prvky.

Ross Freeman a Bernard Vonderschmitt, spoluzakladatelé společnosti Xilinx, byli těmi, kdo vynalezli FPGA v roce 1984. Udělali to jako vývoj tehdejších čipů CPLD. Programovatelné čipy CPLD měly některé nedostatky, které vyřešily nové návrhy FPGA, a od té doby se vyvíjejí dodnes.

Trh s FPGA je tak plodný, že se společnostem líbí Intel, Xilinx, Altera, Quick Logic, Lattice atd., hodně investovali do vývoje lepších FPGA a také vestavěných programovacích prostředí nebo IDE pro ně. Poskytují tak velmi dobré platformy k usnadnění úkolů vývojářů nebo tvůrců.

V současné době tito výrobci nejen poskytují programovatelný čip, ale také zahrnují mnoho pomocných prvků přinést vývojářům více možností. Zahrnují například flash paměťové buňky, paměťové buňky SDRAM atd.

Na co se používají?

IDE pro programování FPGA

Proto může být FPGA podobné ASIC, ale to můžeme si vybrat co bude. Mohli bychom například vytvořit kód, který jej naprogramuje a promění jej v CPU, GPU, sčítač, řadič paměti nebo jakýkoli jiný logický obvod implementovaný na jediném čipu.

Možnosti jsou docela nekonečné. Ve skutečnosti vám doporučuji navštívit web opencores.org, stránka věnovaná nabídce mnoha bezplatných hardwarových projektů. Kódy najdete ve VHDL, Verligo atd. Pro RAM, CPU, GPU, řadiče, ALU, FPU, dekodéry a dlouhý atd..

Jak je to naprogramováno?

Programátor pro FPGA

K programování FPGA to můžeme udělat z našeho oblíbeného operačního systému, jako je GNU / Linux, Windows a MacOS, i když pro Windows existuje určitě více vývojových prostředí. Obecně platí, že stejné společnosti, které vyrábějí FPGA, nabízejí Velmi kompletní IDE pro práci a kde najdete všechny nástroje, které potřebujete, ve stejné softwarové sadě.

Budete také potřebovat Čip nebo deska FPGA a potřebný kabel nebo programátor pomocí kterého můžete připojit FPGA k počítači a předat psaný kód do FPGA, a tak je naprogramován. To je něco podobného tomu, co děláte s deskou Arduino, když zapisujete program Arduino IDE do programovatelné paměti mikrokontroléru.

Pouze v případě FPGA máme matici nebo pole elementárních komponent, jako jsou paměťové buňky, brány AND, OR, NOT, klopné obvody a další. základní prvky nebo bloky digitální elektroniky které můžeme použít. U psaného programu to, co uděláme, je zavést způsob, jakým mají být tyto základní bloky seskupeny, aby vytvořily malý okruh, který chceme, jako je ALU.

To znamená, že pokud naprogramujeme sčítač v našem IDE, bloky potřebné k implementaci tohoto sčítače chystají se propojit správným způsobem uvnitř FPGA, aby čip fungoval jako sčítač. Jednoduché, že? Obecně se pro toto programování na fyzické úrovni používá několik metod, jako jsou paměti nebo pojistky, které v takovém případě vytvářejí trvalé spojení.

Rychlost, s jakou budou pracovat, bude záviset na taktovací frekvence na které FPGA, které jsme zakoupili, funguje. Například ty nejzákladnější obvykle pracují při 50 Mhz, ostatní to budou dělat na mnohem vyšších frekvencích. V případě FPGA na 50 Mhz to znamená, že bude pracovat rychlostí 50.000.000 XNUMX XNUMXkrát za sekundu. Pokud budeme pokračovat sčítačem, který jsem uvedl jako příklad, budete schopen udělat tuto částku za jednu sekundu ...

Pokračování tématu ProgramováníJakmile víme, že můžete psát kód jako v Arduino IDE nebo vyvíjet jakýkoli jiný program, a když uvidíte, jak se to dělá na hardwarové úrovni, řeknu, že to opravdu není programování jako takové. Jedná se spíše o popis hardwaru. Ve skutečnosti se používají jazyky popisu hardwaru, například VHDL, Verilog atd.

s tento program je popsán na logické úrovni co dělá malý okruh, který chceme implementovat. A pak to jde do FPGA. I když je pravda, že některé platformy umožňují programování v programovacích jazycích, jako je C, aby mohly implementovat CPU do FPGA a poté generovat programy, které se načtou do paměti a budou zpracovány uvedeným procesorem.

Integrace s Arduino

FPGA Arduino

FPGA se obvykle používají samostatně, ale je pravda, že na trhu je mnoho nástrojů a sad, které vám usnadní integraci vašeho života FPGA s platformou Arduino. Příkladem desky, která přinese FPGA do vašich projektů s Arduino, je MKR Vidor 4000, i když existují i ​​jiné.

MKR Vidor 4000 je to deska se třemi žetony. Jedním z nich je FPGA, konkrétně Intel Cyclone 10. K dispozici jsou také další čipy pro Bluetooth LE nebo připojení s nízkou spotřebou a také kompatibilitu WiFi. Dobrý doplněk, který vašemu Arduinu poskytne funkce připojení a bude schopen implementovat to, co potřebujete, do FPGA.

S ním máte přizpůsobitelný hardware, nakonfigurovaný sami pro požadovaný účel. To nabízí nekonečné možnosti.


Obsah článku se řídí našimi zásadami redakční etika. Chcete-li nahlásit chybu, klikněte zde.

Buďte první komentář

Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.