Projektowanie

Użycie układów FPGA w projektowaniu systemów czasu rzeczywistego

Aby sprostać wyzwaniom projektowym można wykorzystać układy SoC bezpośrednio programowalnych macierzy bramek (FPGA), tworząc inteligentne, spójne i deterministyczne systemy.

Ważnymi narzędziami są dla projektantów bezpośrednio programowalne macierze bramek (FPGA), podsystemy mikrokontrolerów MCU RISC-V z obsługą systemu Linux, zaawansowane architektury pamięci oraz wysokowydajne interfejsy komunikacyjne. Dotyczy to w szczególności projektantów bezpiecznych systemów połączonych z siecią, systemów krytycznych dla bezpieczeństwa i szerokiej gamy systemów deterministycznych ścisłego czasu rzeczywistego, takich jak systemy sztucznej inteligencji (AI) i uczenia maszynowego (ML).

Jednak integracja tak różnorodnych elementów w bezpieczny, połączony oraz deterministyczny system może być trudnym i czasochłonnym działaniem, podobnie jak tworzenie szybkich połączeń dla różnych elementów tego systemu. Projektanci muszą pamiętać o jednostce zarządzania pamięcią, jednostce ochrony pamięci, funkcji bezpiecznego uruchamiania i nadajniko-odbiornikach gigabitowych zapewniających szybką łączność. Projekt będzie wymagał aktywnego i statycznego zarządzania zasilaniem oraz sterowania początkowymi prądami rozruchowymi. Niektóre projekty wymagają pracy w rozszerzonym, komercyjnym zakresie temperatur złącza (TJ) od 0°C do +100°C, podczas gdy systemy w środowiskach przemysłowych muszą pracować z temperaturą złącza TJ od -40°C do +100°C.

Aby sprostać tym i innym wyzwaniom, projektanci mogą skorzystać z układów SoC bezpośrednio programowalnych macierzy bramek (FPGA), które charakteryzują się niskim poborem mocy, sprawnością cieplną oraz zabezpieczeniami klasy wojskowej w celu stworzenia inteligentnych, połączonych i deterministycznych systemów.

W niniejszym artykule omówiono architekturę wspomnianego układu SoC bezpośrednio programowalnej macierzy bramek (FPGA) oraz sposób, w jaki wspiera on efektywne projektowanie połączonych i deterministycznych systemów. W dalszej części w skrócie przedstawiono test porównawczy EEMBC CoreMark-Pro mocy obliczeniowej w relacji do poboru mocy, a także wzorcowe parametry działania reprezentatywnego układu SoC bezpośrednio programowalnej macierzy bramek (FPGA). Artykuł omawia sposób implementacji zabezpieczeń w omawianych układach SoC bezpośrednio programowalnych macierzy bramek (FPGA) oraz szczegółowo omawia przykładowe układy SoC bezpośrednio programowalnych macierzy bramek (FPGA) firmy Microchip Technology wraz z platformą rozwojową przyspieszającą proces projektowania. Artykuł zamyka krótka lista płytek rozszerzeń firmy MikroElektronika, które można wykorzystać do wdrożenia szeregu interfejsów komunikacyjnych, a także funkcji lokalizacji z wykorzystaniem globalnego systemu nawigacji satelitarnej (GNSS).


Układ SoC zbudowany na sieci szkieletowej bezpośrednio programowalnej macierzy bramek (FPGA)

Mikroukładem dla omawianego układu SoC jest sieć szkieletowa bezpośrednio programowalnej macierzy bramek (FPGA), która zawiera elementy układowe, od bezpośrednio programowalnej macierzy bramek (FPGA) po podsystem mikrokontrolera MCU RISC-V zbudowany ze wzmocnionej logiki bezpośrednio programowalnej macierzy bramek (FPGA). Podsystem mikrokontrolera MCU obejmuje czterordzeniowy klaster mikrokontrolera MCU RISC-V, rdzeń monitora RISC-V, kontroler systemowy oraz deterministyczny podsystem pamięci poziomu 2 (L2). Bezpośrednio programowalna macierz bramek (FPGA) w omawianych układach SoC zawiera do 460K elementów logicznych, nadajniko-odbiorniki o prędkości transferu do 12,7Gbps oraz inne bloki wejścia-wyjścia (I/O), w tym bloki wejścia-wyjścia ogólnego przeznaczenia (GPIO) oraz interfejs połączeniowy komponentów peryferyjnych (PCIe) 2. Ogólna architektura została zaprojektowana z myślą o niezawodności. Zawiera ona korekcję błędu pojedynczego i wykrywanie błędu podwójnego (SECDED) we wszystkich pamięciach, różnicową analizę mocy (DPA), ochronę pamięci fizycznej oraz pamięć rozruchową flash 128kbit (ilustracja 1).

Ilustracja przedstawiająca podsystemy RISC-V zaimplementowane na sieci szkieletowej bezpośrednio programowalnej macierzy bramek (FPGA) (kliknij, aby powiększyć)

Ilustracja 1: Wszystkie elementy składające się na układ SoC bezpośrednio programowalnej macierzy bramek, w tym podsystemy RISC-V, są zaimplementowane na sieci szkieletowej bezpośrednio programowalnej macierzy bramek (FPGA). (Źródło ilustracji: Microchip Technology)

Firma Microchip oferuje własny ekosystem Mi-V (wymowa z angielskiego: „my five”) narzędzi i zasobów projektowych firm zewnętrznych wspierających wdrażanie układów RISC-V. Został on zaprojektowany tak, aby przyspieszyć wdrożenie architektury zestawu instrukcji RISC-V (ISA) dla wzmocnionych rdzeni RISC-V oraz rdzeni miękkich RISC-V. Ekosystem Mi-V daje dostęp do następujących zasobów:

  • Licencje własności intelektualnej (IP)
  • Sprzęt
  • Systemy operacyjne i oprogramowanie pośredniczące
  • Debuggery, kompilatory i usługi projektowe

Wzmocnione mikrokontrolery MCU RISC-V w układach SoC bezpośrednio programowalnych macierzy bramek (FPGA) zawierają kilka funkcji debugowania, jak np. pasywny konfigurowalny zaawansowany interfejs rozszerzalny (AXI) oraz zapis instrukcji. Dzięki zaawansowanemu interfejsowi rozszerzalnemu (AXI) projektanci mogą monitorować dane, które są zapisywane lub odczytywane z różnych pamięci oraz wiedzą, kiedy są one zapisywane lub odczytywane.

Architektura podsystemu mikrokontrolera MCU RISC-V charakteryzuje się pięciostopniową, skalarną budową i wykonywaniem operacji potoku w kolejności. Nie jest wrażliwa na programy wykorzystujące luki typu Spectre lub Meltdown, które mogą mieć wpływ na architektury z niesekwencyjnym wykonywaniem instrukcji. Wszystkie pięć mikrokontrolerów MCU jest spójnych z podsystemem pamięci i obsługuje kombinację deterministycznych systemów czasu rzeczywistego pracujących w trybie asymetryczne przetwarzanie wieloprocesorowe (AMP) oraz systemu Linux. Niektóre z możliwości podsystemu RISC-V to (ilustracja 2):

  • Uruchamianie systemu Linux i operacji ścisłego czasu rzeczywistego
  • Konfiguracja pamięci L1 i L2 jako pamięci deterministycznej
  • Podsystem pamięci DDR4
  • Włączanie i wyłączanie predyktorów odgałęzień
  • Wykonywanie operacji potoku w kolejności

Diagram przedstawiający podsystemu RISC-V zawierający kilka elementów procesorowych i pamięciowych

Ilustracja 2: Podsystem RISC-V zawiera kilka elementów procesorowych i pamięciowych. (Źródło ilustracji: Microchip Technology)

Strona: 1/3
Następna