
A system on a chip (SoC) is an
integrated circuit
An integrated circuit (IC), also known as a microchip or simply chip, is a set of electronic circuits, consisting of various electronic components (such as transistors, resistors, and capacitors) and their interconnections. These components a ...
that combines most or all key components of a
computer
A computer is a machine that can be Computer programming, programmed to automatically Execution (computing), carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic set ...
or
electronic system
Electronic may refer to:
*Electronics, the science of how to control electric energy in semiconductors
*Electronics (magazine), ''Electronics'' (magazine), a defunct American trade journal
*Electronic storage, the storage of data using an electron ...
onto a single microchip. Typically, an SoC includes a
central processing unit
A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary Processor (computing), processor in a given computer. Its electronic circuitry executes Instruction (computing), instructions ...
(CPU) with
memory
Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembe ...
,
input/output
In computing, input/output (I/O, i/o, or informally io or IO) is the communication between an information processing system, such as a computer, and the outside world, such as another computer system, peripherals, or a human operator. Inputs a ...
, and
data storage
Data storage is the recording (storing) of information (data) in a storage medium. Handwriting, phonographic recording, magnetic tape, and optical discs are all examples of storage media. Biological molecules such as RNA and DNA are con ...
control functions, along with optional features like a
graphics processing unit
A graphics processing unit (GPU) is a specialized electronic circuit designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal ...
(GPU),
Wi-Fi
Wi-Fi () is a family of wireless network protocols based on the IEEE 802.11 family of standards, which are commonly used for Wireless LAN, local area networking of devices and Internet access, allowing nearby digital devices to exchange data by ...
connectivity, and radio frequency processing. This high level of integration minimizes the need for separate, discrete components, thereby enhancing
power efficiency and simplifying device design.
High-performance SoCs are often paired with dedicated memory, such as
LPDDR, and flash storage chips, such as
eUFS or
eMMC, which may be stacked directly on top of the SoC in a
package-on-package (PoP) configuration or placed nearby on the motherboard. Some SoCs also operate alongside specialized chips, such as
cellular modems.
Fundamentally, SoCs integrate one or more
processor core
A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary Processor (computing), processor in a given computer. Its electronic circuitry executes Instruction (computing), instructions ...
s with critical peripherals. This comprehensive integration is conceptually similar to how a
microcontroller
A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
is designed, but providing far greater computational power. This unified design delivers lower power consumption and a reduced
semiconductor die area compared to traditional multi-chip architectures, though at the cost of reduced modularity and component replaceability.
SoCs are ubiquitous in mobile computing, where compact, energy-efficient designs are critical. They power
smartphone
A smartphone is a mobile phone with advanced computing capabilities. It typically has a touchscreen interface, allowing users to access a wide range of applications and services, such as web browsing, email, and social media, as well as multi ...
s,
tablets, and
smartwatch
A smartwatch is a portable wearable computer that resembles a wristwatch. Most modern smartwatches are operated via a touchscreen, and rely on mobile apps that run on a connected device (such as a smartphone) in order to provide core functions. ...
es, and are increasingly important in
edge computing
Edge computing is a distributed computing model that brings computation and data storage closer to the sources of data. More broadly, it refers to any design that pushes computation physically closer to a user, so as to reduce the Latency (engineer ...
, where real-time data processing occurs close to the data source. By driving the trend toward tighter integration, SoCs have reshaped modern hardware design, reshaping the design landscape for modern computing devices.
Types
In general, there are three distinguishable types of SoCs:
* SoCs built around a
microcontroller
A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
,
* SoCs built around a
microprocessor
A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
, often found in mobile phones;
* Specialized
application-specific integrated circuit
An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficienc ...
SoCs designed for specific applications that do not fit into the above two categories.
Applications
SoCs can be applied to any computing task. However, they are typically used in mobile computing such as tablets, smartphones, smartwatches, and netbooks as well as
embedded system
An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is e ...
s and in applications where previously
microcontroller
A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
s would be used.
Embedded systems
Where previously only microcontrollers could be used, SoCs are rising to prominence in the embedded systems market. Tighter system integration offers better reliability and
mean time between failure, and SoCs offer more advanced functionality and computing power than microcontrollers. Applications include
AI acceleration, embedded
machine vision
Machine vision is the technology and methods used to provide image, imaging-based automation, automatic inspection and analysis for such applications as automatic inspection, process control, and robot guidance, usually in industry. Machine vision ...
,
data collection
Data collection or data gathering is the process of gathering and measuring information on targeted variables in an established system, which then enables one to answer relevant questions and evaluate outcomes. Data collection is a research com ...
,
telemetry,
vector processing
In computing, a vector processor or array processor is a central processing unit (CPU) that implements an instruction set where its Instruction (computer science), instructions are designed to operate efficiently and effectively on large Array d ...
and
ambient intelligence
Ambient intelligence (AmI) refers to environments with electronic devices that are aware of and can recognize the presence of human beings and adapt accordingly. This concept encompasses various technologies in consumer electronics, telecommunic ...
. Often embedded SoCs target the
internet of things
Internet of things (IoT) describes devices with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other communication networks. The IoT encompasse ...
, multimedia, networking, telecommunications and
edge computing
Edge computing is a distributed computing model that brings computation and data storage closer to the sources of data. More broadly, it refers to any design that pushes computation physically closer to a user, so as to reduce the Latency (engineer ...
markets. Some examples of SoCs for embedded applications include the
STMicroelectronics STM32, the
Raspberry Pi Ltd RP2040, and the
AMD Zynq 7000.
Mobile computing
Mobile computing
Mobile computing is human–computer interaction in which a computer is expected to be transported during normal usage and allow for transmission of data, which can include voice and video transmissions. Mobile computing involves mobile commun ...
based SoCs always bundle processors, memories, on-chip
caches,
wireless networking
A wireless network is a computer network that uses wireless data connections between network nodes. Wireless networking allows homes, telecommunications networks, and business installations to avoid the costly process of introducing cables in ...
capabilities and often
digital camera
A digital camera, also called a digicam, is a camera that captures photographs in Digital data storage, digital memory. Most cameras produced today are digital, largely replacing those that capture images on photographic film or film stock. Dig ...
hardware and firmware. With increasing memory sizes, high end SoCs will often have no memory and flash storage and instead, the memory and
flash memory
Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...
will be placed right next to, or above (
package on package
Package on a package (PoP) is an integrated circuit packaging method to vertically combine ball grid array (BGA) packages for discrete logic and Semiconductor memory, memory. Two or more packages are installed atop each other, i.e. stacked, with a ...
), the SoC. Some examples of mobile computing SoCs include:
*
Samsung Electronics
Samsung Electronics Co., Ltd. (SEC; stylized as SΛMSUNG; ) is a South Korean multinational major appliance and consumer electronics corporation founded on 13 January 1969 and headquartered in Yeongtong District, Suwon, South Korea. It is curr ...
:
list
A list is a Set (mathematics), set of discrete items of information collected and set forth in some format for utility, entertainment, or other purposes. A list may be memorialized in any number of ways, including existing only in the mind of t ...
, typically based on
ARM
**
Exynos, used mainly by Samsung's
Galaxy
A galaxy is a Physical system, system of stars, stellar remnants, interstellar medium, interstellar gas, cosmic dust, dust, and dark matter bound together by gravity. The word is derived from the Ancient Greek, Greek ' (), literally 'milky', ...
series of smartphones
*
Qualcomm
Qualcomm Incorporated () is an American multinational corporation headquartered in San Diego, California, and Delaware General Corporation Law, incorporated in Delaware. It creates semiconductors, software and services related to wireless techn ...
:
**
Snapdragon (
list
A list is a Set (mathematics), set of discrete items of information collected and set forth in some format for utility, entertainment, or other purposes. A list may be memorialized in any number of ways, including existing only in the mind of t ...
), used in many smartphones. In 2018, Snapdragon SoCs were being used as the backbone of
laptop computers running
Windows 10
Windows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was Software release cycle#Release to manufacturing (RTM), released to manufacturing on July 15, 2015, and later to retail on July 2 ...
, marketed as "Always Connected PCs".
*
MediaTek, typically based on ARM
**
Dimensity & Kompanio Series. Standalone application & tablet processors that power devices such as Amazon Echo Show
Personal computers
In 1992,
Acorn Computers produced the
A3010, A3020 and A4000 range of personal computers with the ARM250 SoC. It combined the original Acorn ARM2 processor with a memory controller (MEMC), video controller (VIDC), and I/O controller (IOC). In previous Acorn
ARM-powered computers, these were four discrete chips. The ARM7500 chip was their second-generation SoC, based on the ARM700, VIDC20 and IOMD controllers, and was widely licensed in embedded devices such as set-top-boxes, as well as later Acorn personal computers.
Tablet and laptop manufacturers have learned lessons from embedded systems and smartphone markets about reduced power consumption, better performance and reliability from tighter
integration of hardware and
firmware
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
modules, and
LTE and other
wireless network
A wireless network is a computer network that uses wireless data connections between network nodes. Wireless networking allows homes, telecommunications networks, and business installations to avoid the costly process of introducing cables int ...
communications integrated on chip (integrated
network interface controller
A network interface controller (NIC, also known as a network interface card, network adapter, LAN adapter and physical network interface) is a computer hardware component that connects a computer to a computer network.
Early network interface ...
s).
On modern laptops and mini PCs, the low-power variants of
AMD Ryzen and
Intel Core
Intel Core is a line of multi-core (with the exception of Core Solo and Core 2 Solo) central processing units (CPUs) for midrange, embedded, workstation, high-end and enthusiast computer markets marketed by Intel Corporation. These processors ...
processors use SoC design integrating CPU, IGPU, chipset and other processors in a single package. However, such x86 processors still require external memory and storage chips.
Structure
An SoC consists of hardware
functional units, including
microprocessor
A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
s that run
software code, as well as a
communications subsystem to connect, control, direct and interface between these functional modules.
Functional components
Processor cores
An SoC must have at least one
processor core
A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary Processor (computing), processor in a given computer. Its electronic circuitry executes Instruction (computing), instructions ...
, but typically an SoC has more than one core. Processor cores can be a
microcontroller
A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
,
microprocessor
A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
(μP),
digital signal processor (DSP) or
application-specific instruction set processor (ASIP) core.
ASIPs have
instruction sets that are customized for an
application domain and designed to be more efficient than general-purpose instructions for a specific type of workload. Multiprocessor SoCs have more than one processor core by definition. The
ARM architecture
ARM (stylised in lowercase as arm, formerly an acronym for Advanced RISC Machines and originally Acorn RISC Machine) is a family of reduced instruction set computer, RISC instruction set architectures (ISAs) for central processing unit, com ...
is a common choice for SoC processor cores because some ARM-architecture cores are
soft processors specified as
IP cores.
Memory
SoCs must have
semiconductor memory
Semiconductor memory is a digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memory cells on a si ...
blocks to perform their computation, as do
microcontroller
A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
s and other
embedded system
An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is e ...
s. Depending on the application, SoC memory may form a
memory hierarchy and
cache hierarchy. In the mobile computing market, this is common, but in many
low-power embedded microcontrollers, this is not necessary. Memory technologies for SoCs include
read-only memory
Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM cannot be electronically modified after the manufacture of the memory device. Read-only memory is useful for storing sof ...
(ROM),
random-access memory
Random-access memory (RAM; ) is a form of Computer memory, electronic computer memory that can be read and changed in any order, typically used to store working Data (computing), data and machine code. A random-access memory device allows ...
(RAM), Electrically Erasable Programmable ROM (
EEPROM) and
flash memory
Flash memory is an Integrated circuit, electronic Non-volatile memory, non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for t ...
.
As in other computer systems, RAM can be subdivided into relatively faster but more expensive
static RAM (SRAM) and the slower but cheaper
dynamic RAM (DRAM). When an SoC has a
cache hierarchy, SRAM will usually be used to implement
processor register
A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-onl ...
s and cores'
built-in caches whereas DRAM will be used for
main memory
Computer data storage or digital data storage is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers.
The central processin ...
. "Main memory" may be specific to a single processor (which can be
multi-core
A multi-core processor (MCP) is a microprocessor on a single integrated circuit (IC) with two or more separate central processing units (CPUs), called ''cores'' to emphasize their multiplicity (for example, ''dual-core'' or ''quad-core''). Ea ...
) when the SoC
has multiple processors, in this case it is
distributed memory and must be sent via on-chip to be accessed by a different processor.
For further discussion of multi-processing memory issues, see
cache coherence and
memory latency.
Interfaces
SoCs include external
interfaces, typically for
communication protocol
A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer science), sem ...
s. These are often based upon industry standards such as
USB
Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
,
Ethernet
Ethernet ( ) is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
,
USART,
SPI,
HDMI
High-Definition Multimedia Interface (HDMI) is a proprietary digital interface used to transmit high-quality video and audio signals between devices. It is commonly used to connect devices such as televisions, computer monitors, projectors, gam ...
,
I²C,
CSI, etc. These interfaces will differ according to the intended application.
Wireless network
A wireless network is a computer network that uses wireless data connections between network nodes. Wireless networking allows homes, telecommunications networks, and business installations to avoid the costly process of introducing cables int ...
ing protocols such as
Wi-Fi
Wi-Fi () is a family of wireless network protocols based on the IEEE 802.11 family of standards, which are commonly used for Wireless LAN, local area networking of devices and Internet access, allowing nearby digital devices to exchange data by ...
,
Bluetooth
Bluetooth is a short-range wireless technology standard that is used for exchanging data between fixed and mobile devices over short distances and building personal area networks (PANs). In the most widely used mode, transmission power is li ...
,
6LoWPAN and
near-field communication
Near-field communication (NFC) is a set of communication protocols that enables communication between two electronic devices over a distance of or less. NFC offers a low-speed connection through a simple setup that can be used for the boots ...
may also be supported.
When needed, SoCs include
analog interfaces including
analog-to-digital and
digital-to-analog converters, often for
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
. These may be able to interface with different types of
sensors or
actuator
An actuator is a machine element, component of a machine that produces force, torque, or Displacement (geometry), displacement, when an electrical, Pneumatics, pneumatic or Hydraulic fluid, hydraulic input is supplied to it in a system (called an ...
s, including
smart transducers. They may interface with application-specific
modules or shields.
[In ]embedded system
An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is e ...
s, "shields" are analogous to expansion card
In computing, an expansion card (also called an expansion board, adapter card, peripheral card or accessory card) is a printed circuit board that can be inserted into an electrical connector, or expansion slot (also referred to as a bus sl ...
s for PCs. They often fit over a microcontroller
A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
such as an Arduino
Arduino () is an Italian open-source hardware and open-source software, software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardwar ...
or single-board computer such as the Raspberry Pi
Raspberry Pi ( ) is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in collaboration with Broadcom Inc., Broadcom. To commercialize the product and support its growing demand, the ...
and function as peripheral
A peripheral device, or simply peripheral, is an auxiliary hardware device that a computer uses to transfer information externally. A peripheral is a hardware component that is accessible to and controlled by a computer but is not a core compo ...
s for the device. Or they may be internal to the SoC, such as if an analog sensor is built in to the SoC and its readings must be converted to digital signals for mathematical processing.
Digital signal processors
Digital signal processor (DSP) cores are often included on SoCs. They perform
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
operations in SoCs for
sensors,
actuator
An actuator is a machine element, component of a machine that produces force, torque, or Displacement (geometry), displacement, when an electrical, Pneumatics, pneumatic or Hydraulic fluid, hydraulic input is supplied to it in a system (called an ...
s,
data collection
Data collection or data gathering is the process of gathering and measuring information on targeted variables in an established system, which then enables one to answer relevant questions and evaluate outcomes. Data collection is a research com ...
,
data analysis
Data analysis is the process of inspecting, Data cleansing, cleansing, Data transformation, transforming, and Data modeling, modeling data with the goal of discovering useful information, informing conclusions, and supporting decision-making. Da ...
and multimedia processing. DSP cores typically feature
very long instruction word (VLIW) and
single instruction, multiple data (SIMD)
instruction set architecture
In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, ...
s, and are therefore highly amenable to exploiting
instruction-level parallelism through
parallel processing and
superscalar execution.
SP cores most often feature application-specific instructions, and as such are typically
application-specific instruction set processors (ASIP). Such application-specific instructions correspond to dedicated hardware
functional units that compute those instructions.
Typical DSP instructions include
multiply-accumulate,
Fast Fourier transform
A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
,
fused multiply-add, and
convolution
In mathematics (in particular, functional analysis), convolution is a operation (mathematics), mathematical operation on two function (mathematics), functions f and g that produces a third function f*g, as the integral of the product of the two ...
s.
Other
As with other computer systems, SoCs require
timing sources to generate
clock signals, control execution of SoC functions and provide time context to
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
applications of the SoC, if needed. Popular time sources are
crystal oscillators and
phase-locked loops.
SoC
peripheral
A peripheral device, or simply peripheral, is an auxiliary hardware device that a computer uses to transfer information externally. A peripheral is a hardware component that is accessible to and controlled by a computer but is not a core compo ...
s including
counter-timers, real-time
timer
A timer or countdown timer is a type of clock that starts from a specified time duration and stops upon reaching 00:00. It can also usually be stopped manually before the whole duration has elapsed. An example of a simple timer is an hourglass ...
s and
power-on reset generators. SoCs also include
voltage regulator
A voltage regulator is a system designed to automatically maintain a constant voltage. It may use a simple feed-forward design or may include negative feedback. It may use an electromechanical mechanism or electronic components. Depending on the ...
s and
power management
Power management is a feature of some electrical appliances, especially copiers, computers, computer CPUs, computer GPUs and computer peripherals such as monitors and printers, that turns off the power or switches the system to a low-power ...
circuits.
Intermodule communication
SoCs comprise many
execution units. These units must often send data and
instructions back and forth. Because of this, all but the most trivial SoCs require
communications subsystems. Originally, as with other
microcomputer technologies,
data bus architectures were used, but recently designs based on sparse intercommunication networks known as
networks-on-chip (NoC) have risen to prominence and are forecast to overtake bus architectures for SoC design in the near future.
Bus-based communication
Historically, a shared global
computer bus typically connected the different components, also called "blocks" of the SoC.
A very common bus for SoC communications is ARM's royalty-free Advanced Microcontroller Bus Architecture (
AMBA) standard.
Direct memory access
Direct memory access (DMA) is a feature of computer systems that allows certain hardware subsystems to access main system computer memory, memory independently of the central processing unit (CPU).
Without DMA, when the CPU is using programmed i ...
controllers route data directly between external interfaces and SoC memory, bypassing the CPU or
control unit
The control unit (CU) is a component of a computer's central processing unit (CPU) that directs the operation of the processor. A CU typically uses a binary decoder to convert coded instructions into timing and control signals that direct the op ...
, thereby increasing the data
throughput
Network throughput (or just throughput, when in context) refers to the rate of message delivery over a communication channel in a communication network, such as Ethernet or packet radio. The data that these messages contain may be delivered ov ...
of the SoC. This is similar to some
device driver
In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
s of peripherals on component-based
multi-chip module
A multi-chip module (MCM) is generically an electronic assembly (such as a package with a number of conductor terminals or Lead (electronics), "pins") where multiple integrated circuits (ICs or "chips"), semiconductor Die (integrated circuit), d ...
PC architectures.
Wire delay is not scalable due to continued
miniaturization,
system performance does not scale with the number of cores attached, the SoC's
operating frequency must decrease with each additional core attached for power to be sustainable, and long wires consume large amounts of electrical power. These challenges are prohibitive to supporting
manycore systems on chip.
Network on a chip
In the late 2010s, a trend of SoCs implementing
communications subsystems in terms of a network-like topology instead of
bus-based protocols has emerged. A trend towards more processor cores on SoCs has caused on-chip communication efficiency to become one of the key factors in determining the overall system performance and cost.
This has led to the emergence of interconnection networks with
router-based
packet switching
In telecommunications, packet switching is a method of grouping Data (computing), data into short messages in fixed format, i.e. ''network packet, packets,'' that are transmitted over a digital Telecommunications network, network. Packets consi ...
known as "
networks on chip" (NoCs) to overcome the
bottlenecks of bus-based networks.
Networks-on-chip have advantages including destination- and application-specific
routing
Routing is the process of selecting a path for traffic in a Network theory, network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched ...
, greater power efficiency and reduced possibility of
bus contention. Network-on-chip architectures take inspiration from
communication protocols like
TCP and the
Internet protocol suite
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
for on-chip communication,
although they typically have fewer
network layer
In the seven-layer OSI model of computer networking, the network layer is layer 3. The network layer is responsible for packet forwarding including routing through intermediate Router (computing), routers.
Functions
The network layer provides t ...
s. Optimal network-on-chip
network architectures are an ongoing area of much research interest. NoC architectures range from traditional distributed computing
network topologies such as
torus
In geometry, a torus (: tori or toruses) is a surface of revolution generated by revolving a circle in three-dimensional space one full revolution about an axis that is coplanarity, coplanar with the circle. The main types of toruses inclu ...
,
hypercube
In geometry, a hypercube is an ''n''-dimensional analogue of a square ( ) and a cube ( ); the special case for is known as a ''tesseract''. It is a closed, compact, convex figure whose 1- skeleton consists of groups of opposite parallel l ...
,
meshes and
tree networks to
genetic algorithm scheduling to
randomized algorithm
A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performan ...
s such as
random walks with branching and randomized
time to live
Time to live (TTL) or hop limit is a mechanism which limits the lifespan or lifetime of data in a computer or network. TTL may be implemented as a counter (digital), counter or timestamp attached to or embedded in the data. Once the prescribed ev ...
(TTL).
Many SoC researchers consider NoC architectures to be the future of SoC design because they have been shown to efficiently meet power and throughput needs of SoC designs. Current NoC architectures are two-dimensional. 2D IC design has limited
floorplanning choices as the number of cores in SoCs increase, so as
three-dimensional integrated circuit
A three-dimensional integrated circuit (3D IC) is a MOSFET, MOS (metal-oxide semiconductor) integrated circuit (IC) manufactured by stacking as many as 16 or more ICs and interconnecting them vertically using, for instance, through-silicon vias (TS ...
s (3DICs) emerge, SoC designers are looking towards building three-dimensional on-chip networks known as 3DNoCs.
Design flow

A system on a chip consists of both the
hardware, described in , and the software controlling the microcontroller, microprocessor or digital signal processor cores, peripherals and interfaces. The
design flow for an SoC aims to develop this hardware and software at the same time, also known as architectural co-design. The design flow must also take into account optimizations () and constraints.
Most SoCs are developed from pre-qualified hardware component
IP core specifications for the hardware elements and
execution units, collectively "blocks", described above, together with software
device driver
In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
s that may control their operation. Of particular importance are the
protocol stacks that drive industry-standard interfaces like
USB
Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
. The hardware blocks are put together using
computer-aided design
Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve c ...
tools, specifically
electronic design automation
Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD), is a category of software tools for designing Electronics, electronic systems such as integrated circuits and printed circuit boards. The tools wo ...
tools; the
software modules are integrated using a software
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
.
SoCs components are also often designed in
high-level programming language
A high-level programming language is a programming language with strong Abstraction (computer science), abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language ''elements'', be ea ...
s such as
C++,
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
or
SystemC and converted to
RTL designs through
high-level synthesis (HLS) tools such as
C to HDL or
flow to HDL. HLS products called "algorithmic synthesis" allow designers to use C++ to model and synthesize system, circuit, software and verification levels all in one high level language commonly known to
computer engineers in a manner independent of time scales, which are typically specified in HDL. Other components can remain software and be compiled and embedded onto
soft-core processors included in the SoC as modules in HDL as
IP cores.
Once the
architecture
Architecture is the art and technique of designing and building, as distinguished from the skills associated with construction. It is both the process and the product of sketching, conceiving, planning, designing, and construction, constructi ...
of the SoC has been defined, any new hardware elements are written in an abstract
hardware description language
In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, usually to design application-specific integrated circuits (ASICs) and to progra ...
termed
register transfer level (RTL) which defines the circuit behavior, or synthesized into RTL from a high level language through high-level synthesis. These elements are connected together in a hardware description language to create the full SoC design. The logic specified to connect these components and convert between possibly different interfaces provided by different vendors is called
glue logic.
Design verification
Chips are verified for validation correctness before being sent to a
semiconductor foundry. This process is called
functional verification and it accounts for a significant portion of the time and energy expended in the
chip design life cycle, often quoted as 70%.
With the growing complexity of chips,
hardware verification languages like
SystemVerilog,
SystemC,
e, and OpenVera are being used.
Bugs found in the verification stage are reported to the designer.
Traditionally, engineers have employed simulation acceleration,
emulation or prototyping on
reprogrammable hardware to verify and debug hardware and software for SoC designs prior to the finalization of the design, known as
tape-out.
Field-programmable gate arrays (FPGAs) are favored for prototyping SoCs because
FPGA prototypes are reprogrammable, allow
debugging
In engineering, debugging is the process of finding the Root cause analysis, root cause, workarounds, and possible fixes for bug (engineering), bugs.
For software, debugging tactics can involve interactive debugging, control flow analysis, Logf ...
and are more flexible than
application-specific integrated circuit
An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficienc ...
s (ASICs).
With high capacity and fast compilation time, simulation acceleration and emulation are powerful technologies that provide wide visibility into systems. Both technologies, however, operate slowly, on the order of MHz, which may be significantly slower – up to 100 times slower – than the SoC's operating frequency. Acceleration and emulation boxes are also very large and expensive at over US$1 million.
FPGA prototypes, in contrast, use FPGAs directly to enable engineers to validate and test at, or close to, a system's full operating frequency with real-world stimuli. Tools such as Certus are used to insert probes in the FPGA RTL that make signals available for observation. This is used to debug hardware, firmware and software interactions across multiple FPGAs with capabilities similar to a logic analyzer.
In parallel, the hardware elements are grouped and passed through a process of
logic synthesis, during which performance constraints, such as operational frequency and expected signal delays, are applied. This generates an output known as a
netlist
In electronic design, a netlist is a description of the connectivity of an electronic circuit. In its simplest form, a netlist consists of a list of the electronic components in a circuit and a list of the nodes they are connected to. A netwo ...
describing the design as a physical circuit and its interconnections. These netlists are combined with the
glue logic connecting the components to produce the schematic description of the SoC as a circuit which can be
printed
Printing is a process for mass reproducing text and Printmaking, images using a master form or template. The earliest non-paper products involving printing include cylinder seals and objects such as the Cyrus Cylinder and the Cylinders of Nabon ...
onto a chip. This process is known as
place and route
Place and route (also called PnR or P&R) is a stage in the design of printed circuit boards, integrated circuits, and field-programmable gate arrays. As implied by the name, it is composed of two steps, placement and routing. The first step, p ...
and precedes
tape-out in the event that the SoCs are produced as
application-specific integrated circuit
An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficienc ...
s (ASIC).
Optimization goals
SoCs must optimize
power use, area on
die, communication, positioning for
locality between modular units and other factors. Optimization is necessarily a design goal of SoCs. If optimization was not necessary, the engineers would use a
multi-chip module
A multi-chip module (MCM) is generically an electronic assembly (such as a package with a number of conductor terminals or Lead (electronics), "pins") where multiple integrated circuits (ICs or "chips"), semiconductor Die (integrated circuit), d ...
architecture without accounting for the area use, power consumption or performance of the system to the same extent.
Common optimization targets for SoC designs follow, with explanations of each. In general, optimizing any of these quantities may be a hard
combinatorial optimization
Combinatorial optimization is a subfield of mathematical optimization that consists of finding an optimal object from a finite set of objects, where the set of feasible solutions is discrete or can be reduced to a discrete set. Typical combina ...
problem, and can indeed be
NP-hard
In computational complexity theory, a computational problem ''H'' is called NP-hard if, for every problem ''L'' which can be solved in non-deterministic polynomial-time, there is a polynomial-time reduction from ''L'' to ''H''. That is, assumi ...
fairly easily. Therefore, sophisticated
optimization algorithms are often required and it may be practical to use
approximation algorithm
In computer science and operations research, approximation algorithms are efficient algorithms that find approximate solutions to optimization problems (in particular NP-hard problems) with provable guarantees on the distance of the returned sol ...
s or
heuristics
A heuristic or heuristic technique (''problem solving'', '' mental shortcut'', ''rule of thumb'') is any approach to problem solving that employs a pragmatic method that is not fully optimized, perfected, or rationalized, but is nevertheless ...
in some cases. Additionally, most SoC designs contain
multiple variables to optimize simultaneously, so
Pareto efficient solutions are sought after in SoC design. Oftentimes the goals of optimizing some of these quantities are directly at odds, further adding complexity to design optimization of SoCs and introducing
trade-offs in system design.
For broader coverage of trade-offs and
requirements analysis, see
requirements engineering.
Targets
Power consumption
SoCs are optimized to minimize the
electrical power
Electric power is the rate of transfer of electrical energy within a electric circuit, circuit. Its SI unit is the watt, the general unit of power (physics), power, defined as one joule per second. Standard prefixes apply to watts as with oth ...
used to perform the SoC's functions. Most SoCs must use low power. SoC systems often require long
battery life (such as
smartphone
A smartphone is a mobile phone with advanced computing capabilities. It typically has a touchscreen interface, allowing users to access a wide range of applications and services, such as web browsing, email, and social media, as well as multi ...
s), can potentially spend months or years without a power source while needing to maintain autonomous function, and often are limited in power use by a high number of
embedded SoCs being
networked together in an area. Additionally, energy costs can be high and conserving energy will reduce the
total cost of ownership
Total cost of ownership (TCO) is a financial estimate intended to help buyers and owners determine the direct and indirect costs of a product or service. It is a management accounting concept that can be used in full cost accounting or even eco ...
of the SoC. Finally,
waste heat from high energy consumption can damage other circuit components if too much heat is dissipated, giving another pragmatic reason to conserve energy. The amount of energy used in a circuit is the
integral
In mathematics, an integral is the continuous analog of a Summation, sum, which is used to calculate area, areas, volume, volumes, and their generalizations. Integration, the process of computing an integral, is one of the two fundamental oper ...
of
power consumed with respect to time, and the
average rate of power consumption is the product of
current by
voltage
Voltage, also known as (electrical) potential difference, electric pressure, or electric tension, is the difference in electric potential between two points. In a Electrostatics, static electric field, it corresponds to the Work (electrical), ...
. Equivalently, by
Ohm's law
Ohm's law states that the electric current through a Electrical conductor, conductor between two Node (circuits), points is directly Proportionality (mathematics), proportional to the voltage across the two points. Introducing the constant of ...
, power is current squared times resistance or voltage squared divided by
resistance:
SoCs are frequently embedded in
portable devices such as
smartphones
A smartphone is a mobile phone with advanced computing capabilities. It typically has a touchscreen interface, allowing users to access a wide range of applications and services, such as web browsing, email, and social media, as well as mult ...
,
GPS navigation device
A satellite navigation (satnav) device or GPS device is a device that uses satellites of the Global Positioning System (GPS) or similar global navigation satellite systems (GNSS).
A satnav device can determine the user's geographic coordinat ...
s, digital
watches
A watch is a Clock, timepiece carried or worn by a person. It is designed to maintain a consistent movement despite the motions caused by the person's activities. A wristwatch is worn around the wrist, attached by a watch strap or another typ ...
(including
smartwatch
A smartwatch is a portable wearable computer that resembles a wristwatch. Most modern smartwatches are operated via a touchscreen, and rely on mobile apps that run on a connected device (such as a smartphone) in order to provide core functions. ...
es) and
netbooks. Customers want long battery lives for
mobile computing
Mobile computing is human–computer interaction in which a computer is expected to be transported during normal usage and allow for transmission of data, which can include voice and video transmissions. Mobile computing involves mobile commun ...
devices, another reason that power consumption must be minimized in SoCs.
Multimedia applications are often executed on these devices, including video games,
video streaming,
image processing
An image or picture is a visual representation. An image can be two-dimensional, such as a drawing, painting, or photograph, or three-dimensional, such as a carving or sculpture. Images may be displayed through other media, including a pr ...
; all of which have grown in
computational complexity in recent years with user demands and expectations for higher-
quality
Quality may refer to:
Concepts
*Quality (business), the ''non-inferiority'' or ''superiority'' of something
*Quality (philosophy), an attribute or a property
*Quality (physics), in response theory
*Energy quality, used in various science discipli ...
multimedia. Computation is more demanding as expectations move towards
3D video at
high resolution with
multiple standards, so SoCs performing multimedia tasks must be computationally capable platform while being low power to run off a standard mobile battery.
Performance per watt
SoCs are optimized to maximize
power efficiency in performance per watt: maximize the performance of the SoC given a budget of power usage. Many applications such as
edge computing
Edge computing is a distributed computing model that brings computation and data storage closer to the sources of data. More broadly, it refers to any design that pushes computation physically closer to a user, so as to reduce the Latency (engineer ...
,
distributed processing and
ambient intelligence
Ambient intelligence (AmI) refers to environments with electronic devices that are aware of and can recognize the presence of human beings and adapt accordingly. This concept encompasses various technologies in consumer electronics, telecommunic ...
require a certain level of
computational performance, but power is limited in most SoC environments.
Waste heat
SoC designs are optimized to minimize
waste heat output
Output may refer to:
* The information produced by a computer, see Input/output
* An output state of a system, see state (computer science)
* Output (economics), the amount of goods and services produced
** Gross output in economics, the valu ...
on the chip. As with other
integrated circuit
An integrated circuit (IC), also known as a microchip or simply chip, is a set of electronic circuits, consisting of various electronic components (such as transistors, resistors, and capacitors) and their interconnections. These components a ...
s, heat generated due to high
power density are the
bottleneck to further
miniaturization of components.
The power densities of high speed integrated circuits, particularly microprocessors and including SoCs, have become highly uneven. Too much waste heat can damage circuits and erode
reliability of the circuit over time. High temperatures and thermal stress negatively impact reliability,
stress migration, decreased
mean time between failures,
electromigration,
wire bonding,
metastability and other performance degradation of the SoC over time.
In particular, most SoCs are in a small physical area or volume and therefore the effects of waste heat are compounded because there is little room for it to diffuse out of the system. Because of high
transistor counts on modern devices, oftentimes a layout of sufficient throughput and high
transistor density is physically realizable from
fabrication processes but would result in unacceptably high amounts of heat in the circuit's volume.
These thermal effects force SoC and other chip designers to apply conservative
design margins, creating less performant devices to mitigate the risk of
catastrophic failure
A catastrophic failure is a sudden and total failure from which recovery is impossible. Catastrophic failures often lead to cascading systems failure. The term is most commonly used for structural failures, but has often been extended to many ot ...
. Due to increased
transistor densities as length scales get smaller, each
process generation produces more heat output than the last. Compounding this problem, SoC architectures are usually heterogeneous, creating spatially inhomogeneous
heat flux
In physics and engineering, heat flux or thermal flux, sometimes also referred to as heat flux density, heat-flow density or heat-flow rate intensity, is a flow of energy per unit area per unit time (physics), time. Its SI units are watts per sq ...
es, which cannot be effectively mitigated by uniform
passive cooling.
Throughput
SoCs are optimized to maximize computational and communications
throughput
Network throughput (or just throughput, when in context) refers to the rate of message delivery over a communication channel in a communication network, such as Ethernet or packet radio. The data that these messages contain may be delivered ov ...
.
Latency
SoCs are optimized to minimize
latency for some or all of their functions. This can be accomplished by
laying out elements with proper proximity and
locality to each-other to minimize the interconnection delays and maximize the speed at which data is communicated between modules,
functional units and memories. In general, optimizing to minimize latency is an
NP-complete
In computational complexity theory, NP-complete problems are the hardest of the problems to which ''solutions'' can be verified ''quickly''.
Somewhat more precisely, a problem is NP-complete when:
# It is a decision problem, meaning that for any ...
problem equivalent to the
Boolean satisfiability problem
In logic and computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated SATISFIABILITY, SAT or B-SAT) asks whether there exists an Interpretation (logic), interpretation that Satisf ...
.
For
tasks running on processor cores, latency and throughput can be improved with
task scheduling. Some tasks run in application-specific hardware units, however, and even task scheduling may not be sufficient to optimize all software-based tasks to meet timing and throughput constraints.
Methodologies
Systems on chip are modeled with standard hardware
verification and validation
Verification and validation (also abbreviated as V&V) are independent procedures that are used together for checking that a product, service, or system meets requirements and specification (technical standard), specifications and that it fulf ...
techniques, but additional techniques are used to model and optimize SoC design alternatives to make the system optimal with respect to
multiple-criteria decision analysis on the above optimization targets.
Task scheduling
Task scheduling is an important activity in any computer system with multiple
processes or
threads sharing a single processor core. It is important to reduce and increase for
embedded software running on an SoC's . Not every important computing activity in a SoC is performed in software running on on-chip processors, but scheduling can drastically improve performance of software-based tasks and other tasks involving
shared resources.
Software running on SoCs often schedules tasks according to
network scheduling and
randomized scheduling algorithms.
Pipelining
Hardware and software tasks are often pipelined in
processor design. Pipelining is an important principle for
speedup in
computer architecture. They are frequently used in
GPUs (
graphics pipeline
The computer graphics pipeline, also known as the rendering pipeline, or graphics pipeline, is a framework within computer graphics that outlines the necessary procedures for transforming a three-dimensional (3D) scene into a two-dimensional (2 ...
) and RISC processors (evolutions of the
classic RISC pipeline
In the history of computing hardware, history of computer hardware, some early reduced instruction set computer central processing units (RISC CPUs) used a very similar architectural solution, now called a classic RISC pipeline. Those CPUs were: ...
), but are also applied to application-specific tasks such as
digital signal processing
Digital signal processing (DSP) is the use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The digital signals processed in this manner are a ...
and multimedia manipulations in the context of SoCs.
Probabilistic modeling
SoCs are often analyzed though
probabilistic model
A statistical model is a mathematical model that embodies a set of statistical assumptions concerning the generation of sample data (and similar data from a larger population). A statistical model represents, often in considerably idealized form ...
s,
queueing networks, and
Markov chain
In probability theory and statistics, a Markov chain or Markov process is a stochastic process describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event. Informally ...
s. For instance,
Little's law allows SoC states and NoC buffers to be modeled as arrival processes and analyzed through
Poisson random variables and
Poisson process
In probability theory, statistics and related fields, a Poisson point process (also known as: Poisson random measure, Poisson random point field and Poisson point field) is a type of mathematical object that consists of Point (geometry), points ...
es.
Markov chains
SoCs are often modeled with
Markov chain
In probability theory and statistics, a Markov chain or Markov process is a stochastic process describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event. Informally ...
s, both
discrete time and
continuous time variants. Markov chain modeling allows
asymptotic analysis
In mathematical analysis, asymptotic analysis, also known as asymptotics, is a method of describing Limit (mathematics), limiting behavior.
As an illustration, suppose that we are interested in the properties of a function as becomes very larg ...
of the SoC's
steady state distribution of power, heat, latency and other factors to allow design decisions to be optimized for the common case.
Fabrication
SoC chips are typically
fabricated using
metal–oxide–semiconductor (MOS) technology. The netlists described above are used as the basis for the physical design (
place and route
Place and route (also called PnR or P&R) is a stage in the design of printed circuit boards, integrated circuits, and field-programmable gate arrays. As implied by the name, it is composed of two steps, placement and routing. The first step, p ...
) flow to convert the designers' intent into the design of the SoC. Throughout this conversion process, the design is analyzed with static timing modeling, simulation and other tools to ensure that it meets the specified operational parameters such as frequency, power consumption and dissipation, functional integrity (as described in the register transfer level code) and electrical integrity.
When all known bugs have been rectified and these have been re-verified and all physical design checks are done, the physical design files describing each layer of the chip are sent to the foundry's mask shop where a full set of glass lithographic masks will be etched. These are sent to a wafer fabrication plant to create the SoC dice before packaging and testing.
SoCs can be fabricated by several technologies, including:
*
Full custom ASIC
*
Standard cell ASIC
*
Field-programmable gate array (FPGA)
ASICs consume less power and are faster than FPGAs but cannot be reprogrammed and are expensive to manufacture. FPGA designs are more suitable for lower volume designs, but after enough units of production ASICs reduce the total cost of ownership.
SoC designs consume less power and have a lower cost and higher reliability than the multi-chip systems that they replace. With fewer packages in the system, assembly costs are reduced as well.
However, like most
very-large-scale integration (VLSI) designs, the total cost is higher for one large chip than for the same functionality distributed over several smaller chips, because of
lower yields and higher
non-recurring engineering costs.
When it is not feasible to construct an SoC for a particular application, an alternative is a
system in package (SiP) comprising a number of chips in a single
package. When produced in large volumes, SoC is more cost-effective than SiP because its packaging is simpler. Another reason SiP may be preferred is
waste heat may be too high in a SoC for a given purpose because functional components are too close together, and in an SiP heat will dissipate better from different functional modules since they are physically further apart.
Examples
Some examples of systems on a chip are:
*
Apple A series
*
Cell processor
*
Adapteva's Epiphany architecture
*
Xilinx
Xilinx, Inc. ( ) was an American technology and semiconductor company that primarily supplied programmable logic devices. The company is renowned for inventing the first commercially viable field-programmable gate array (FPGA). It also pioneered ...
Zynq UltraScale
*
Qualcomm Snapdragon
Benchmarks
SoC
research and development
Research and development (R&D or R+D), known in some countries as OKB, experiment and design, is the set of innovative activities undertaken by corporations or governments in developing new services or products. R&D constitutes the first stage ...
often compares many options. Benchmarks, such as COSMIC,
are developed to help such evaluations.
See also
*
Chiplet
*
List of system on a chip suppliers
*
Post-silicon validation
*
ARM architecture family
ARM (stylised in lowercase as arm, formerly an acronym for Advanced RISC Machines and originally Acorn RISC Machine) is a family of RISC instruction set architectures (ISAs) for computer processors. Arm Holdings develops the ISAs and lic ...
*
RISC-V
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
*
Single-board computer
*
System in a package
*
Network on a chip
*
Cypress PSoC
*
Application-specific instruction set processor (ASIP)
*
Platform-based design
*
Lab-on-a-chip
*
Organ-on-a-chip in biomedical technology
*
Multi-chip module
A multi-chip module (MCM) is generically an electronic assembly (such as a package with a number of conductor terminals or Lead (electronics), "pins") where multiple integrated circuits (ICs or "chips"), semiconductor Die (integrated circuit), d ...
*
Parallel computing
Parallel computing is a type of computing, computation in which many calculations or Process (computing), processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. ...
*
ARM big.LITTLE co-architecture
*
Hardware acceleration
Notes
References
Further reading
* 465 pages.
*
*
External links
SOCCAnnual
IEEE
The Institute of Electrical and Electronics Engineers (IEEE) is an American 501(c)(3) organization, 501(c)(3) public charity professional organization for electrical engineering, electronics engineering, and other related disciplines.
The IEEE ...
International SoC Conference
Bayafree SoC platform assembly and IP integration tool
Systems on Chip for Embedded Applications Auburn University
Auburn University (AU or Auburn) is a Public university, public Land-grant university, land-grant research university in Auburn, Alabama, United States. With more than 26,800 undergraduate students, over 6,100 post-graduate students, and a tota ...
seminar in
VLSI
Instant SoCSoC for FPGAs defined by C++
MPSoC – Annual Conference on MPSoCAnnual Symposium
{{Hardware acceleration
Computer engineering
Electronic design
Microtechnology
Hardware acceleration
Computer systems
Application-specific integrated circuits