Czy projektowanie FPGA wraca do łask?

Utworzono: listopad 1, 2021
Zaktualizowano: lipiec 1, 2024

Z rewolucji ASIC lat 70. XX wieku wyłoniła się rewolucja MCU, MPU i FPGA, gdzie kontrolery hosta były budowane na pojedynczym chipie wypełnionym blokami logicznymi i wieloma zintegrowanymi funkcjami. W 2021 roku niektórzy w branży ogłosili, że FPGA stały się teraz platformą wyboru dla zaawansowanych aplikacji. Zobacz, co ludzie mówią i gdzie możesz zdecydować się na użycie FPGA w swoim projekcie.

Nie jestem na tyle stary, aby pamiętać lata 70., kiedy to ASIC zaczęły pojawiać się na rynku i ostatecznie przyczyniać się do większej integracji i redukcji formy. Dziedzictwo ASIC trwa do dziś, a popularni producenci nadal oferują szeroką gamę chipów, które wykonują specjalizowane funkcje przy małym rozmiarze. Niektóre zadania, które byłyby bardzo trudne do zaimplementowania w ogólnodostępnej programowalnej logice, nagle stały się łatwe do zaimplementowania, gdy te funkcje zostały wbudowane w ASIC ze specjalizowaną logiką lub dedykowanymi funkcjami. Na początku tej samej dekady mikrokontrolery zostały wprowadzone przez Intel, dając projektantom wszystko, czego potrzebowali do budowania bardziej zintegrowanych systemów, zamiast polegać na dyskretnych obwodach logicznych.

Po ASIC i MCU przyszły programowalne macierze bramek (FPGA) w 1984 roku, z pierwszym komponentem wprowadzonym przez Xilinx. Na początku projektanci ASIC używali FPGA do emulacji logiki, którą zamierzali zaimplementować w swoich projektach ASIC jako rodzaj platformy testowej. Z biegiem czasu FPGA były implementowane w większej liczbie sprzętu produkcyjnego, albo jako uzupełnienie typowych ASIC, albo do implementacji specjalistycznych funkcji logicznych, których nie było w innych procesorach lub ASIC. Liczba interfejsów dostępnych na platformach FPGA również się rozszerzyła do tego stopnia, że FPGA może być używane jako kontroler hosta dla dowolnego systemu wbudowanego.

Dzisiaj projektowanie FPGA nadal cieszy się popularnością wśród doświadczonych deweloperów wbudowanych, a prognozowane wskaźniki wzrostu na globalnym rynku FPGA wahają się od 6,4% do 10% CAGR w ciągu następnych 6-7 lat. Dla porównania, najwyższa szacowana wartość jest na równi z 10,1% przewidywanym CAGR na globalnym rynku MCU. Pytanie dla projektanta systemów wbudowanych brzmi, co napędza popularność FPGA w porównaniu z innymi platformami i czy FPGA powinno być punktem wyjścia dla nowego projektu? Przyjrzymy się bliżej tym pytaniom, porównując niektóre opcje architektury systemu dla nowego systemu wbudowanego.

Co napędza nowe projekty FPGA?

FPGA od zawsze były popularne w kilku szerokich przypadkach dzięki swojej adaptowalności, jak to było omówione we wcześniejszym artykule na tym blogu. Niektóre z wysokopoziomowych obszarów, w których FPGA tradycyjnie odnosiły sukces, to:

  • Implementacja specjalistycznej logiki w kompaktowych platformach, która normalnie musiałaby być implementowana przy użyciu wolnej logiki sekwencyjnej w MCU

  • Obszary zastosowań lub produkty, gdzie czas wprowadzenia na rynek jest krytyczny ze względu na długi czas rozwoju ASIC

  • Każda aplikacja wymagająca wirtualizacji sprzętowej lub emulacji

  • Każdy produkt, który może wymagać szybkiego przeprogramowania bez łączenia z zewnętrznym systemem

Jeśli nie jesteś zaznajomiony z projektowaniem i programowaniem FPGA, ale znasz niektóre podstawowe idee, które rządzą działaniem FPGA, to powyższa lista nie powinna być zaskakująca. Są to dość szerokie obszary do rozważenia, ale przekładają się one na rzeczywiste zastosowania w kilku branżach.

FPGA vs. MPU/MCU i ASIC

Zauważysz powyżej, że spędziłem dużo czasu na odniesieniach do ASIC jako głównego konkurenta dla FPGA. Rzeczywiście, ogromna gama komponentów pozwala deweloperom wbudowanym mieszać i dopasowywać ich MCU, specjalistyczne funkcje z ASIC oraz niskoszybkościowe peryferia lub interfejsy. FPGA niosą kilka zalet w różnych obszarach i warto porównać wszystkie te opcje, ponieważ dotyczą one systemu wbudowanego.

Z powyższej listy powinno być jasne, jaką rolę mogą odgrywać FPGA: adaptowalne kontrolery hosta dla systemów wbudowanych, które są agnostyczne względem aplikacji i systemu operacyjnego. Projekt FPGA daje dodatkową zaletę możliwości ulepszenia, o ile projekt płyty i systemu może pomieścić te zmiany. Gdy przyjrzymy się niektórym nowszym zastosowaniom w przemyśle, powinno być jasne, dlaczego FPGA są dziś bardziej popularne, przy czym ich popularność ma tylko wzrosnąć w najbliższej przyszłości.

Główni użytkownicy przemysłowi

Nie ma pojedynczej kategorii produktów, która była tradycyjnie odpowiedzialna za konsumpcję FPGA. Od kiedy zostały po raz pierwszy wprowadzone, głównymi konsumentami przemysłowymi FPGA są systemy telekomunikacyjne, mil-aero, motoryzacja, lekkie produkty konsumenckie, a nawet przemysł naftowy i gazowy. W rzeczywistości, niektóre z oryginalnych technologii, które stały się FPGA, zostały pierwotnie opracowane pod Zilog, filią Exxon, której IP zostało później nabyte przez Xilinx.

W miarę jak FPGA zyskiwały na popularności, uwaga przesunęła się na inne branże, które wymagają specjalistycznej logiki wdrażanej bezpośrednio na pojedynczym procesorze, pomimo ogromnej liczby ASIC od wielu dostawców, które mogłyby pokryć te same projekty. Jako przykład, wiele produktów kart mezzanine i kart córek na rynku mil-aero używa FPGA jako adaptowalnej platformy obliczeniowej wbudowanej, która zapewnia bardzo szybkie prędkości transmisji danych z dostępem do wielu peryferiów i kart poprzez magistralę. Telekomunikacja i sieci pozostają jednym z obszarów zastosowań z szeroko zakrojonym projektowaniem i rozwojem FPGA ze względu na szybszy wymagany czas wprowadzenia na rynek oraz względną łatwość ulepszeń, aby dostosować się do zmian w standardach i wdrażaniu technologii.

Projektowanie i rozwój FPGA dzisiaj

Obszary wyróżnione powyżej nie odnotowały spadku w użyciu FPGA. Telekomunikacja jest jednym z obszarów, na które warto zwrócić uwagę; jako przykład, Huawei jest jednym z największych na świecie konsumentów FPGA i nawet wprowadzili na rynek platformę „FPGA cloud”, oferując przyspieszone obliczenia w chmurze jako usługę. Istnieje nawet repozytorium Huawei Cloud na GitHubie, aby pomóc użytkownikom rozpocząć rozwój aplikacji. Użycie FPGA w ich infrastrukturze przyczyniło się również do ich zdolności do szybszego wdrożenia usług 5G niż inne telekomy. Dzisiaj te same zalety, które zostały wyżej wymienione, popychają projektowanie i rozwój FPGA w dwóch kierunkach: robotyka i AI. Chociaż te dwa obszary są ściśle powiązane, AI jest zdecydowanie większym motorem nowych projektów i rozwoju FPGA.

AI napędza projektowanie i użycie FPGA

Liderzy w dziedzinie FPGA przewidują, że implementacja AI w większej liczbie systemów sprzętowych spowoduje duże zmiany w użyciu krzemu w tych komponentach. Nie oznacza to, że nie można używać MCU w robotyce lub lekkiej AI; rozpowszechnienie modułów akceleratorów AI, które łączą się przez USB lub mostek PCIe, ilustruje wysiłek na rzecz dostosowania się do deweloperów MCU/MPU dla inteligentnych systemów wbudowanych. Jednak FPGA to znacznie bardziej elastyczna platforma, na której obliczenia wnioskujące mogą być wykonywane bardzo szybko poprzez równoległe przetwarzanie; tkanina FPGA może być dostosowana do pasowania do algorytmu, podczas gdy sekwencyjna logika w GPU/MCU/MPU nie może.

Jednym z nowszych komponentów, który jest używany w systemach wbudowanych o wysokiej mocy obliczeniowej, w tym systemach implementujących wnioskowanie AI na pokładzie, jest Zynq-7000 All Programmable series SoC od Xilinx. Ten komponent pracuje z prędkością do 866 MHz z procesorem aplikacyjnym opartym na rdzeniu ARM Cortex-A9. Dodatkowe interfejsy takie jak gigabit Ethernet, DDR, Flash, PCIe i wysoka liczba GPIO ułatwiają integrację tego komponentu w systemach obliczeń brzegowych. Interfejsy niskiej prędkości takie jak I2C i SPI pozwalają również Zynq na współpracę z ASIC, które zbierają dane z analogowych czujników lub innych standardowych interfejsów (CANBus, RS-485 itp.).

Xilinx jest jednym z liderów w dziedzinie AI na FPGA i oferuje wiele zasobów dla deweloperów. Jednym z interesujących rozwojów z procesorem Zynq jest implementacja Pythona na Zynq, lub PYNQ, jak to nazywa Xilinx. Inni producenci FPGA rozwijają swoje linie produktów, aby konkurować z Zynq, więc deweloperzy AI wbudowani będą mieli wiele opcji dla obliczeń AI na urządzeniu, używając projektu FPGA.

Wyzwania w użyciu FPGA

FPGA są świetnymi platformami dla doświadczonych deweloperów pracujących w bardziej zaawansowanych obszarach aplikacji. Gdy krajobraz standardów, krajobraz rozwiązań ASIC i możliwości MCU/MPU są niewystarczające lub szybko się zmieniają, FPGA prawdopodobnie jest lepszą opcją dla nowego systemu. Chociaż FPGA umożliwiły sukces w wielu obszarach, niosą ze sobą własny zestaw wyzwań sprzętowych i programistycznych:

  • Zarządzanie ciepłem: Podobnie jak ich kuzyni MCU/MPU, FPGA mogą generować znaczne ilości ciepła, w zależności od rozmiaru komponentu. To nie jest nowe wyzwanie, chociaż jest ono potęgowane przez wymagania projektowe w kompaktowych systemach o wysokiej mocy obliczeniowej, takich jak edge computing, czy w sprzęcie 5G o wysokiej mocy. Niektórzy moi klienci rozważali strategie odprowadzania ciepła, obejmujące unikalne radiatory lub łączenie z obudową w tych systemach.

  • Umieszczanie i trasowanie: W aplikacjach o wysokiej mocy obliczeniowej nadal istnieje wyzwanie związane z zadaniami umieszczania i trasowania, gdzie oprogramowanie własnościowe dostawcy jest mapowane na tkaninę FPGA. Zajmuje to czas, ponieważ oprogramowanie kompilujące musi użyć algorytmu, aby znaleźć mapowanie, które obsługuje wszystkie funkcje logiczne w aplikacjach. Obszary aplikacji, gdzie jest to wyzwanie, to obliczenia wysokiej wydajności i centra danych. Może to być również problematyczne w AI, gdy FPGA jest używane do zadań na poziomie systemu oprócz wnioskowania/szkolenia.

  • Zasoby rozwojowe: Społeczność programistów FPGA nie jest nawet w przybliżeniu tak duża jak społeczność ASIC + MCU, czy cała społeczność oprogramowania open-source. MCU są łatwiejsze dla początkujących programistów do rozpoczęcia użytkowania dzięki ogromnie popularnym platformom takim jak Arduino i ESP32. Jednak dostawcy FPGA znacznie poprawili dostępność zasobów dla programistów, aby mogli szybko wdrażać rozwiązania na FPGA. Liczba nowych projektów FPGA na GitHubie również dotrzymuje kroku projektom MCU, jak pokazano w poniższej tabeli.

Jak będą wyglądać FPGA w przyszłości?

Obecne FPGA przydzielają około 50% lub więcej obszaru krzemu na wejścia/wyjścia, ponieważ starsze produkty oparte na FPGA wymagały interfejsu z ogromną gamą peryferiów przez wiele interfejsów. W miarę przesuwania się uwagi bardziej na aplikacje o wysokiej mocy obliczeniowej, takie jak AI, nie zdziw się, gdy większa część obszaru krzemu będzie przeznaczona na bloki obliczeniowe AI, możliwe z ewoluującymi połączeniami i elastycznym przemieszczaniem danych w czasie rzeczywistym. Heterogeniczna integracja również znajdzie zastosowanie w SoC FPGA, gdzie bloki AI, GPU/TPU, pamięci o wysokiej przepustowości i front-endy RF są łączone w jedną kompaktową paczkę.

Mimo że FPGA mogą mieć zaimplementowane i przeprogramowane w tkaninie FPGA funkcje ASIC w razie potrzeby, nadal są doskonałym uzupełnieniem systemów opartych na ASIC. Jedna z architektur projektowych, która ma sens, to umieszczenie wszystkich funkcji, które mogą wymagać aktualizacji, w FPGA, przy jednoczesnym wykorzystaniu standaryzacji ASIC do interfejsu z prostszymi peryferiami, takimi jak czujniki i magistrale danych. Z pewnością redukuje to czas projektowania FPGA, ponieważ programiści mogą skupić się na doskonaleniu funkcji o wysokiej mocy obliczeniowej, które są potrzebne w końcowym produkcie. Jeśli chcesz użyć tego typu architektury w inteligentnych systemach wbudowanych, prawdopodobnie będziesz potrzebować kilku innych komponentów:

Kiedy potrzebujesz znaleźć komponenty do swojego kolejnego projektu FPGA, użyj zaawansowanych funkcji wyszukiwania i filtracji w Octopart. Korzystając z wyszukiwarki elektroniki Octopart, uzyskasz dostęp do aktualnych danych o cenach dystrybutorów, zapasach części i specyfikacjach części, a wszystko to jest swobodnie dostępne w przyjaznym dla użytkownika interfejsie. Zobacz naszą stronę z układami scalonymi, aby znaleźć potrzebne komponenty.

Zapoznaj się z naszymi najnowszymi artykułami, zapisując się na nasz newsletter.

 

 

 

 

 

Powiązane zasoby

Powrót do strony głównej
Thank you, you are now subscribed to updates.