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 architekturzeARM.
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 mianemSiP (ang.System-in-package), jest ono jednak mniej opłacalne ekonomicznie, szczególnie przy produkcji w dużych seriach.
Innym rozwiązaniem, stosowanym np. wtelefonach komórkowych z „najwyższej półki”, jestPoP (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ęciRAM lubFlash o znacznie większym rozmiarze zwykle w obudowie typuBGA.
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ęciRAM, 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 iFlash, a określenieSystem 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ą wCPU o stosunkowo dużej mocy obliczeniowej, pozwalającej uruchamiaćsystemy operacyjne takie jakLinux,Windows CE /Windows Mobile lub nawet ich odpowiedniki desktopowe, a także mogą obsługiwać bardziej wyspecjalizowane peryferia niż mikrokontrolery.
Opracowywanie układów SoC przebiega równolegle w dwóch procesach: rozwijana jest baza sprzętowa oraz programowa integrującamikroprocesor,mikrokontroler lub rdzeńDSP z peryferiami i interfejsami.
Kluczowym etapem podczas projektowania układów SoC jest emulacja bloków sprzętowych na platformieFPGA 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 czyOpenVera.
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.