SoCrates – nowatorski komputer embedded z SoC: dwurdzeniowy Cortex-A9 i FPGA

Układy FPGA z rodziny Cyclone V SoC należą do pierwszej – w ofercie Altery – generacji układów System-on-Chip (SoC). Oznacza to, że w jednej strukturze zintegrowano rekonfigurowalny układ FPGA i dwurdzeniowy mikroprocesor z rdzeniami Cortex-A9, taktowane do 800 MHz. Na bazie tego nowoczesnego rozwiązania firma EBV zbudowała komputer ewaluacyjny embedded o nazwie SoCrates, który prezentujemy w artykule.

baner

Zaczniemy od przybliżenia idei układów System-on-Chip, które stopniowo zdobywają nowe obszary aplikacyjne, głównie dzięki ich dużej elastyczności, możliwości łatwej adaptacji ich budowy wewnętrznej i wygodzie stosowania. Idea przyświecająca twórcom układów System-on-Chip była następująca: integracja w jednej strukturze lub obudowie elementy wykonane w różnych technologiach lub różniących się architekturami i wynikającymi z tych różnic możliwościami.

Kombinacje pomysłów noszących wspólne miano SoC jest wiele, w przypadku układów Cyclone V SoC firmy Altera idea jest najbliższa klasycznej definicji cyforowego SoC: zintegrowano w nich bowiem dwurdzeniowy mikroprocesor zaimplementowany „na stałe” w krzemie oraz rekonfigurowalną, bardzo elastyczną matrycę FPGA nowej generacji, w której można implementować własne, zarówno proste jak i bardzo wyrafinowane bloki cyfrowe. Mocno uproszczony schemat blokowy układu SoC z serii Cyclone V SoC pokazano na rysunku 1.

 

Rys. 1. Schemat blokowy układu z serii Cyclone V SoC firmy Altera 

Rys. 1. Schemat blokowy układu z serii Cyclone V SoC firmy Altera

 

W skład zestawu SoCrates wchodzą:

  • płytka SoCrates,
  • zasilacz sieciowy,
  • dwa kable mini-USB,
  • karta microSD z systemem Linux.

W ramach rodziny Cyclone V ich producent – amerykańska firma Altera – oferuje dwie duże podrodziny (klasyczne FPGA oraz SoC z takim też sufiksem w nazwie rodziny), dodatkowo w wielu wariantach różniących się docelowymi obszarami aplikacyjnymi. Szczegóły przedstawiliśmy w artykule.

W zestawie SoCrates, na którego prezentacji skupimy się w artykule, producent zastosował układ z rodziny Cyclone V SE, oznaczony symbolem 5CSEBA6U23C7N, w którym poza matrycą FPGA o dużych zasobach logicznych znajduje się także dwurdzeniowy mikroprocesor (z rdzeniami Cortex-A9MPCore, taktowanymi sygnałami zegarowymi o częstotliwości do 800 MHz). Układ SoC zastosowany w zestawie jest zamknięty w obudowie BGA672, co pozwoliło producentowi wykorzystać w aplikacji aż 288 wyprowadzeń I/O matrycy FPGA i 181 wyprowadzeń I/O części procesorowej.

Galeria zdjęć zestawu SoCrates jest dostępna pod adresem.

Rdzenie zastosowane w układach Cyclone V SoC są zmodyfikowaną wersją popularnych rdzeni Cortex-A9, zoptymalizowaną do implementacji w systemach wielordzeniowych. Wyposażono je w blok SCU (Snoop Control Unit), która zajmuje się wspomaganiem arbitrażu, zarządzaniem zawartością pamięci cache, wymianą danych pomiędzy rdzeniami i innymi funkcjami charakterystycznymi dla systemów wieloprocesorowych.

Szczegóły dotyczące budowy układów SoC z rodziny Cyclone V firmy Altera przedstawiliśmy w artykule.

Opracowane przez ARM rdzenie Cortex-A9MP charakteryzują się wydajnością dochodzącą do 2,5 MIPS/MHz, co przy maksymalnej dopuszczalnej częstotliwości ich taktowania daje ogromną moc obliczeniową wynoszącą nawet 2 GMIPS/rdzeń. Standardowym wyposażeniem tego rdzenia – poza FPU – są koprocesory NEON (wspomaganie obliczeń dla aplikacji multimedialnych) oraz Jazelle (sprzętowe wspomaganie interpreterów Javy), a także 2 zespoły pamięci cache L1 (po 32 kB) oraz 512 kB pamięci cache L2.

 

/wp-content/uploads/artykuly/socrates-nowatorski-komputer-embedded-z-soc-dwurdzeniowy-cortex-a9-i-fpga/kolsr_rys2.gif
 

Rys. 2. Budowa bloku procesorowego HPS w układach Cyclone V SoC

 

Rdzenie wraz z otoczeniem, w skład którego wchodzą także m.in. lokalny interfejs pamięci DDS SDRAM z obsługą ECC, kontroler pamięci NAND Flash, programowalny system DMA (8-kanałowy), dwa interfejsy USB-OTG, dwa bloki MAC Ethernet (1 Gb/s), synchroniczne interfejsy SD/MMC, tworzą blok HPS (Hard Processor Systemrysunek 2). Każdy z rdzeni wyposażono oczywiście w blok sprzętowego monitorowania jego pracy ETR, wokół HPS zintegrowano także peryferia charakterystyczne dla standardowych systemów mikroprocesorowych, jak na przykład: bloki timerów, UART-y, sprzętowe interfejsy Flash SPI/QSPI itp.).

Niebagatelnym wyzwaniem stojącym przed konstruktorami układów Cyclone V SoC było opracowanie sposobu komunikacji rdzeni mikroprocesorowych z rekonfigurowalnym otoczeniem zaimplementowanym w strukturze FPGA. Do tego celu służy szerokopasmowy, dwukierunkowy mostek komunikacyjny HPS-to-FPGA, który bazuje na 32-/64-/128-bitowym interfejsie komunikacyjnym AMBA AXI-3 opracowanym przez ARM. Jego konstrukcja umożliwia kontrolowany dostęp do 6 bloków-masterów zaimplementowanych w FPGA do systemowej pamięci SDRAM. Interfejs ten może być także wykorzystywany do konfigurowania FPGA przez wbudowany mikroprocesor.

Rekonfigurowalna matryca FPGA zastosowana w układzie użytym w zestawie SoCrates oferuje użytkownikowi 110 000 bloków LE (41509 bloków ALM,), 112 bloków wspomagających obliczenia DSP, 224 multiplikatory 18×18-bitowe, a także 5,4 Mb pamięci SRAM, która jest dostępna w konfigurowalnych blokach, które pozwalają użyć ją m.in. jako pamięć klasyczną lub dwuportową pamięć RAM, pamięć FIFO, CAM a nawet klasyczny ROM.

Do pobrania

O autorze