Niedrogie płytki rozwojowe Numato Lab Mimas z układami FPGA Xilinx
Rola układów FPGA w systemach wbudowanych systematycznie rośnie. Dzieje się tak z powodu rosnących wymagań dotyczących wydajności, szybkości przetwarzania danych oraz przesuwania części obliczeń sztucznej inteligencji do urządzeń brzegowych (Edge processing/Edge AI). W takich sytuacjach dobrze sprawdza się układ FPGA ze względu na stosunkowo dużą moc obliczeniową i potencjał do zrównoleglania obliczeń.
Nauka projektowania za pomocą FPGA uznawana jest za drogą w stosunku do np. mikrokontrolerów. Nie jest to jednak do końca prawda, gdyż na rynku pojawia się coraz więcej konstrukcji umożliwiających stosunkowo niedrogi start z tą platformą. Jedną z firm, która produkuje takie zestawy jest Numato Lab. Oferta producenta obejmuje także moduły z przekaźnikami czy płytki do wielokanałowej akwizycji danych. W poniższym artykule przedstawię dwie płytki deweloperskie – Mimas A7 Artix 7 z układem Artix 7 oraz Mimas V2 Spartan 6 z układem Spartan 6.
Zestaw rozwojowy Mimas A7 Artix 7
Zestaw Mimas A7 Artix 7 umożliwia rozwój i tworzenie prototypów projektów opartych o układ FPGA Xilinx Artix 7 (model XC7A50T-1FGG484C). Zapewnia on 52 160 komórek logicznych, 8 150 slice’ów oraz 65 200 przerzutników. Kompletna pojemność bloków RAM wynosi 2 700 Kb. Oferuje także do 250 pojedynczych wejść/wyjść oraz do 120 par różnicowych. Układ zawiera też interfejs PCIe Gen2, przetwornik XADC, blok kryptograficzny AES / HMAC, a także cztery transceivery GTP o przepustowości do 6,6 Gb/s. Ten konkretny model ma obudowę FGG484, która ma aż 484 wyprowadzenia.
Rys. 1. Zestaw rozwojowy Mimas A7 Artix 7
Prócz układu FPGA moduł Mimas A7 zawiera także pamięć DDR3 o pojemności 2 Gb. Interfejs Ethernet o szybkości 1 Gigabit pozwala na szybką komunikację z siecią. Płytka jest przygotowana do przetwarzania wideo, gdyż zawiera po dwa złącza HDMI oraz DisplayPort, odpowiednio po jednym wejściu i wyjściu. Moduł zawiera wbudowane układy do programowania FPGA, zarówno za pomocą interfejsu JTAG, jak i poprzez złącze USB. To drugie połączenie jest możliwe dzięki konwerterowi FT223H.
Płytka zawiera także zestaw elementów, które początkujący mogą wykorzystać podczas nauki najprostszych funkcji oraz procesu projektowania na układzie FPGA. Są to cztery przyciski, 8 diod LED, 8 przełączników w formie DIP, a także 3 cyfry siedmiosegmentowego wyświetlacza LED. Wszystkie te elementy są dostępne z poziomu aplikacji i mogą także służyć jako prosty interfejs użytkownika.
Na bokach płytki znajdują się także dwa złącza GPIO po 80 wyprowadzeń w każdym. Złącze to pozwala na komunikację z pinami oraz interfejsami układu FPGA, co oczywiście daje możliwość dołączenia do zestawu układów i modułów zewnętrznych. Odpowiednie wyprowadzenia w parach mają te same długości ścieżek, a więc można ich używać w konfiguracji różnicowej.
Moduł zawiera również slot na kartę SD na spodzie płytki, co pozwala odczytywać i zapisywać dane w pamięci zewnętrznej. Złącze DC pozwala dołączenia zewnętrznego zasilania o napięciu z zakresu 5-12 V.
Rys. 2. Rozkład elementów płytki Mimas A7 Artix 7
Dokumentacja układu jest dostępna na stronie https://numato.com/docs/mimas-artix-7-fpga-development-board-with-ddr-sdram-and-gigabit-ethernet/
Zestaw rozwojowy Mimas V2 Spartan 6
Drugi prezentowany zestaw oparto o nieco mniejszy układ z serii Spartan 6, tradycyjnie stosowany jako podstawowy układ FPGA ze stajni Xilinx. Konkretnie użyto tu modelu XC6SLX9-CSG324, który oferuje 9 125 komórek logicznych, 1 430 slice’ów i 11 440 przerzutników. Pełna pojemność pamięci blokowej wynosi 576 Kb. Użytkownik dysponuje maksymalnie 200 wyprowadzeniami pojedynczymi lub 100 parami różnicowymi. Dodatkowo mamy do dyspozycji 16 komórek DSP, a także dwa bloki kontrolera pamięci. Model ma obudowę CSG324.
Rys. 3. Zestaw rozwojowy Mimas V2 Spartan 6
Pozostałe wyposażenie płytki obejmuje: pamięć DDR3 o pojemności 512 MB, pamięć Flash SPI o pojemności 16 MB, interfejs USB 2.0 oraz JTAG do programowania układu, a także slot na kartę SD. W tym przypadku zestaw złączy do obsługi wideo jest uboższy i składa się jedynie z jednego wyjścia VGA. Obecne jest również stereofoniczne wyjście audio w postaci złącza Jack 3,5 mm.
Podobnie jak w poprzednim zestawie, ta płytka również zawiera proste elementy, które można wykorzystać do nauki podstaw projektowania na FPGA. To 6 przycisków, 8 diod LED, 8 przełączników DIP oraz 3 cyfry 7-segmentowego wyświetlacza LED. Dostępne są także wyprowadzenia I/O układu w postaci czterech złącz po 12 wyprowadzeń, które umożliwiają dołączenie do zestawu modułów rozszerzeniowych, np. z serii Pmod. Zawiera także złącze na zewnętrzny zasilacz DC 5 V.
Rys. 4. Rozkład elementów płytki Mimas V2 Spartan 6
Pełna dokumentacja modułu znajduje się na stronie https://numato.com/docs/mimas-v2-spartan-6-fpga-development-board-with-ddr-sdram/
Programowanie płytek
Standardowo Xilinx udostępnia środowiska do programowania swoich układów FPGA. To np. oprogramowanie Xilinx ISE, które w wersji Webpack jest dostępne za darmo. Oprogramowanie to jest zgodne z układami Spartan-6, Virtex-6, CoolRunner oraz niektórymi produktami z serii Zynq-7000. Do większych i nowszych serii układów (a więc także dla Artix-7) dostępny jest pakiet Vivado, również bezpłatne w wersji Standard.
Numato Lab udostępnia także pakiety upraszczające obsługę modułów w środowiskach rozwojowych. Pakiety są dostępne na stronie producenta.
Rys. 5. Ekran startowy ISE Design Suite
Podsumowanie
Systemy wbudowane stają się coraz bardziej rozbudowane. Zawierają więc coraz bardziej skomplikowane urządzenia, takie jak układy FPGA o większej mocy obliczeniowej niż standardowe mikrokontrolery. Jednak nauka projektowania na tej platformie jest nieco trudniejsza i droższa. Ten koszt można jednak obniżyć odszukując narzędzia w bardziej przystępnej cenie, które coraz częściej pojawiają się na rynku. Takie płytki oferuje firma Numato Lab, a przedstawione w artykule zestawy doskonale spełnią rolę prostych modułów rozwojowych umożliwiających naukę oraz prototypowanie projektów wbudowanych.
Moduły Mimas V2 Spartan 6 oraz Mimas A7 Artix 7 są dostępne w ofercie sklepu Kamami.pl