System on chip
System na czipie (ang. system on a chip, SoC) – mianem tym określa się układ scalony (czip) zawierający kompletny system elektroniczny, w tym układy cyfrowe, analogowe (także radiowe) oraz cyfrowo-analogowe. Poszczególne moduły tego systemu, ze względu na ich złożoność, pochodzą zwykle od różnych dostawców. Przykładowo jednostka centralna pochodzi od jednego dostawcy, a porty komunikacji szeregowej od innego. Typowym obszarem zastosowań SoC są systemy wbudowane, a najbardziej rozpowszechnionym przedstawicielem tego rozwiązania są systemy oparte na procesorach w architekturze ARM.
W przypadku, gdy niemożliwe jest zintegrowanie wszystkich obwodów na jednym podłożu półprzewodnikowym, poszczególne moduły wykonuje się na oddzielnych kryształach, a całość zamyka się w jednej obudowie. Rozwiązanie takie określane jest mianem SiP (ang. System-in-package), jest ono jednak mniej opłacalne ekonomicznie, szczególnie przy produkcji w dużych seriach.
Innym rozwiązaniem, stosowanym np. w telefonach komórkowych z „najwyższej półki”, jest PoP (ang. Package-on-package). Polega ono na zastosowaniu dwóch układów scalonych, z których jeden jest montowany pod drugim. Zwykle czip znajdujący się pod spodem jest układem typu SoC, a na nim umieszczony jest układ pamięci RAM lub Flash o znacznie większym rozmiarze zwykle w obudowie typu BGA.
Największą różnicą, pomiędzy mikrokontrolerami a SoC, jest ilość pamięci jaką wymagają do swojej pracy i jaką obsługują te układy scalone. W przypadku mikrokontrolerów jest to zwykle poniżej 100 kB pamięci RAM, a ponadto cały system rzeczywiście jest zawarty w jednym tylko czipie. Natomiast SoC najczęściej potrzebują zewnętrznych układów pamięci RAM i Flash, a określenie System on a chip jest, głównie w przypadku większych systemów, tylko przenośnią, która określa raczej ukierunkowanie prac projektowych niż rzeczywistą realizację. Ponadto SoC wyposażone są w CPU o stosunkowo dużej mocy obliczeniowej, pozwalającej uruchamiać systemy operacyjne takie jak Linux, Windows CE / Windows Mobile lub nawet ich odpowiedniki desktopowe, a także mogą obsługiwać bardziej wyspecjalizowane peryferia niż mikrokontrolery.
Struktura
Typowy układ typu SoC składa się z elementów takich jak:
- pojedynczy mikroprocesor, mikrokontroler lub rdzeń DSP;
- bloki pamięci złożone z modułów RAM, ROM, EEPROM lub FLASH;
- układy czasowo-licznikowe;
- kontrolery transmisji szeregowej lub równoległej (np. UART, SPI, USB, Ethernet, FireWire);
- przetworniki analogowo-cyfrowe lub cyfrowo-analogowe;
- obwody zarządzania zasilaniem.
Niektóre układy SoC mogą zawierać kilka jednostek obliczeniowych, a są one określane mianem MPSoC (ang. Multiprocessor System-on-Chip).
Projektowanie SoC
Opracowywanie układów SoC przebiega równolegle w dwóch procesach: rozwijana jest baza sprzętowa oraz programowa integrująca mikroprocesor, mikrokontroler lub rdzeń DSP z peryferiami i interfejsami.
Kluczowym etapem podczas projektowania układów SoC jest emulacja bloków sprzętowych na platformie FPGA połączona z rozwijaniem sterowników programowych. Gdy działanie poszczególnych bloków takiego systemu jest już prawidłowe, to następnym krokiem jest zaprojektowanie struktury SoC w pojedynczym układzie scalonym i sprawdzenie poprawności jej funkcjonowania z użyciem języków takich jak: VHDL, Verilog, SystemVerilog, SystemC czy OpenVera.
Wytwarzanie
Układy SoC produkowane są w różnych procesach technologicznych, w tym:
SoC są na ogół mniej energochłonne, bardziej niezawodne, prostsze w montażu i tańsze przy masowej produkcji od rozwiązań opartych na wielu układach scalonych. Niemniej zaprojektowanie układu SoC wymaga zaawansowanych technologii i znacznego nakładu kosztów, jest więc na ogół nieopłacalne przy produkcji małoseryjnej.
Przykładowe układy SoC
- nVidia Tegra 2
- procesor – ARM Cortex A9 (2 rdzenie po 1,0 GHz)
- grafika – GeForce ULP
- Qualcomm Snapdragon
- (różne wersje)
- Samsung Hummingbird (Apple A4[a])
- procesor – ARM Cortex A8 (1 rdzeń o taktowaniu 1,0 GHz)
- grafika – PowerVR SGX-540
- Samsung Exynos 4210
- procesor – ARM Cortex A9 (2 rdzenie po 1,2 GHz)
- grafika – Mali 400 MP4
- Texas Instruments OMAP
- (różne wersje)
Zobacz też
Uwagi
- ↑ w procesorze Apple A4 zastosowano grafikę SGX-535