Vývoj v oblasti programovatelných logických obvodů FPGA přináší v posledních letech neustále nové typy součástek a jejich varianty v různých výkonnostních třídách a cenových relacích. Nejlevnější obvody je možné pořídit v cenách od desítek korun a naproti tomu nejvýkonnější varianty mohou překročit cenu statisíců korun.
Hradlová pole pro svoji funkci obvykle vyžadují externí obvody zajišťující konfiguraci, generování napájecích napětí a zdroj hodinového signálu. Připojení dalších periferii záleží na cílové aplikaci, pro kterou je platforma určena.
V článku bude popsáno několik variant vývojových modulů osazených hradlovými poli společnosti Xilinx. V první části bude věnována pozornost nejmodernější řadě ZYNQ UltraScale+ určené pro nejnáročnější aplikace, a především pro profesionální použití. Následující část popíše moduly určené pro jednodušší aplikace, vzdělávaní, výuku a hobby.
Modul TE0808 je vybaven poslední řadou FPGA Zynq UltraScale+. Tradičně řada Zynq sdružuje funkce výpočetního systému a hradlového pole řady UltraScale+. Čip je vybaven čtyřjádrovým aplikačním procesorem ARM Cortex-A53 pracujícím do frekvence 1,5 GHz, realtimovou jednotkou postavenou na dvoujádrovém procesoru ARM Cortex-R5, externími periferiemi typu UART, CAN, USB 2.0, I2C, SPI, GPIO, PCIe Gen1/2, SATA 3.1, DisplayPort 1.2a, USB 3.0, SGMII a akcelerátorem videa. Vlastní FPGA má navíc k dispozici 24 rychlých obousměrných komunikačních linek pracujících do frekvence 16 Gbit/s. Tyto linky lze využít pro komunikaci mezi moduly, rozhraní PCI Express, připojení převodníku protokolem JESD204B, Ethernet 10Gbit+ nebo paměťové rozhraní GigaChip.
Vlastní modul je osazen podpůrnými obvody nutnými pro fungovaní procesorové části a FPGA. Především se jedná o zdroj napájecích napětí, konfigurační paměti, paměti DDR4 v konfiguraci 64 bitů a generátory hodinových signálů. S okolním prostředím je modul spojen čtyřmi 160nožovými konektory do pracovní frekvence 12 GHz.
Modul lze využít pro embedded aplikace, zpracování videa a signálu, akceleraci výpočtů, náročné robotické a řídicí aplikace. K dispozici je standardně OS Linux, který lze provozovat jak v symetrické verzi, tak i asymetricky, a alokovat jednotlivá jádra pro různé typy nezávislých úloh. Pro vývoj firmwaru a aplikací slouží vývojové prostředí Vivado, překladač z jazyka C do HDL (HLS) a SDSoC.
K modulům určeným pro jednoduché aplikace, vzdělávaní a zábavu patří variace na moduly Arduino a Raspberry osazené FPGA řady Zynq (XC7Z010-1CL- -G225C). Byť by se mohlo zdát, že tyto drobné moduly nemají uživateli co nabídnout, jedná se o relativně výkonný systém spojující dvoujádrový procesor ARM Cortex A9 a FPGA řady Artix. Procesor je schopen pracovat do frekvence 600 MHz a hradlové pole do 400 MHz. Modul je dále doplněn o nezbytné periferie. Primárně o konfigurační paměť o velikosti 16 MB SPI Flash a 128 MB DDR3L. Přehled dalších periferií je uveden níže:
Paměť SPI slouží pro konfiguraci FPGA, uložení operačního systému Linux a aplikací. Oscilátor generuje hodinové signály procesorové části a následně jsou pro hradlové pole syntetizovány požadované kmitočty jednotkou PLL. USB rozhraní dovoluje přenášet data do rychlosti 40 MB/s. Modul je připraven pro osazení konektory v rozteči 2,54 mm, a tedy uživatelsky velmi přívětivý, kdy je možné ho zapojit do nepájivého pole.
Druhým low-cost modulem postaveným na platformě Zynq je modul ZynqBerry, který je oproti ArduZynq vybaven větší pamětí (512MB- DDR3L) a množstvím rozšiřujících periferií:
Modul je kompatibilní s formátem Raspberry PI 2. Dovoluje přenášet data po Ethernetu, zobrazovat výstupy na monitoru s využitím rozhraní HDMI. Takto vybavený modul je dostupný v ceně kolem 100 EUR bez DPH.
Posledním představeným modulem TE0725 je cenově příznivá varianta FPGA modulu bez hard procesorového jádra postavená na platformě Artix-7 s 32 MB paměti Flash.
Přehled dostupných periferií:
Jako předcházející moduly je i tento modul napájen jediným napájecím napětím, konfigurace hradlového pole je zajištěna pamětí SPI. Modul je ideální pro realizaci logických operací, stavových automatů, úprav signálů, počítaní pulzů, základní zpracování signálů. V případě, že bude osazena paměť HyperRAM, lze modul použít pro zpracování složitějších úloh, včetně využití soft-core procesoru Microblaze.
Cena modulu TE0725 se pohybuje v rozsahu od 54 do 99 EUR dle konfigurace a velikosti FPGA.
Ke všem modulům je zdarma k dispozici vývojové prostředí Vivado, včetně překladačů z C do HDL, referenční příklady, schéma zapojení a podklady pro výrobu základních desek.
Výhodou výše zmíněných řešení je vysoká flexibilita, dostupnost modulu, urychlení vývoje, významné snížení rizika chyby při vývoji, kdy je třeba navrhovat a vyrábět plošné spoje s 12 a více vrstvami a řešit signálovou integritu a EMC.
Pro větší série je možné moduly uživatelsky upravovat, neosazovat nevyužívané součástky nebo změnit konfiguraci dle potřeby, popřípadě navrhnout uživatelskou platformu na přání. Více informací získáte na stránkách společnosti DFC Design – www.dfcdesign.cz.