O que é um SoC?

What is an SoC?

A System on Chip or SoC is an integrated circuit that incorporates most of the components present in a computer. As the name suggests, it is a complete system manufactured on a silicon chip. The beauty of an SoC is that it integrates all components onto a single substrate. In semiconductors, a substrate is a thin film of silicon used to manufacture integrated circuits. In contrast to the traditional motherboard, the SoC integrates replaceable components into a single chip, thus reducing size and increasing efficiency.

Along with the integrated circuit, an SoC includes software and an interconnect structure for integration. The hardware-software integration approach makes the SoC smaller in size, enables lower power consumption, and is more reliable than a standard multichip system.

Figure 1. From PCBs to SoCs.

Components of an SoC
SoCs can be identified as the following types: built around a microcontroller, built around a microprocessor, built for specific applications, and programmable SoCs (PSoC). The integral parts of an SoC include a processor, primary and secondary memory storage, and input/output ports. The other vital components include a graphics processor unit (GPU), a WiFi module, digital signal processor (DSP), and various peripherals like USB, Ethernet, SPI (Serial Peripheral Interface), ADC, DAC, and even FPGAs. Typically, it has multiple cores. Depending on several deciding factors and preferences, the core can be a microcontroller, microprocessor, DSP or even an ASIP (Application Specific Instruction-set Processor). ASIPs have instruction sets based on a specific application. Typically, SoCs use the ARM architecture, which is a family of RISC (Reduced Instruction Set Computing), which requires less digital design, making it compatible for use in embedded systems. The ARM architecture is much more power efficient than processors like the 8051 because, in contrast to processors using the CISC architecture, processors with the RISC architecture require fewer transistors. This also reduces heat dissipation and cost.

The following diagram shows an example of a SoC block diagram.

FIG 2: Example of SoC block diagram.

Processor
At the heart of the SoC is its processor. It usually has multiple processor cores. Multiple cores allow different processes to run at the same time, which increases system speed by allowing the computer to perform multiple operations at the same time. Basically, the operating system sees multiple cores as multiple CPUs, which increases performance. Since multiple cores are installed on the same chip, there is less latency due to faster communication between cores. A multi-core system has only one multi-core CPU socket. For example, the following system has four cores and one socket.

Because of hyper-threading, to an operating system, a single core appears as two logical units. Hyper-threading allows sharing of physical resources between two CPUs.

Figure 3. Example of multi-core processors and their descriptions.

Digital Signal Processor (DSP)
Digital Signal Processor (DSP) is a chip optimized for digital signal processing operations. This includes operations for sensors, actuators, data processing, and data analysis. It can be used for image decoding. Using DSP saves CPU cycles for other processing tasks, which increases performance. Dedicated DSPs are more power efficient, which makes them suitable for use in SoCs. The instruction set used for DSP cores is SIMD (Single Instruction, Multiple Data) and VLIW (Very Long Instruction Word). Using this architecture allows for parallel instruction processing and superscalar execution. DSPs are used to perform operations such as Fast Fourier Transform, convolution and multiple accumulation.

Memories in an SoC
SoCs have application-based memories. Memories are semiconductor memory blocks for computing purposes. Semiconductor memory generally refers to Metal Oxide Semiconductor memory cells, which are manufactured on a single silicon chip. The types of memories are:

  • Volatile memories: Memories that lose data after power off. In other words, they need a constant energy source to retain information. Volatile memories are faster and cheaper, which is why they are often chosen.

RAM is a type of volatile memory. The most common RAM used are SRAM (static RAM) and DRAM (dynamic RAM). SRAM is made of memory cells that consist of 1,3 or 6 transistors (MOSFETs). In contrast, DRAM has only a MOSFET and a capacitor that is charged and discharged according to the state of the FET. However, DRAM is subject to capacitor leakage currents. A significant advantage of DRAM is that it is cheaper than SRAM. If an SoC has a cache hierarchy, SRAM is used for cache and DRAM is used for main memory. This is because cache requires a faster type of memory compared to main memory.

There are types of RAM designed for non-volatile functions as well. These are FRAM (ferroelectric RAM), MRAM (magnetoresistive random access memory), which stores data in magnetic states, PRAM (parameter random access memory), which is used in Macintosh computers to store system configurations, including system settings. display and time zone. . In addition to these, there is RRAM (Resistive Random Access Memory), which has a component called memristor. A memristor is a resistor whose voltage varies depending on the applied voltage.

  • Non-volatile memories: Memories that retain information even in the absence of a power source. ROM (Read Only Memory) is a type of non-volatile memory. ROM types include EPROM (Erasable Programmable Read-Only Memory), which is a set of floating-gate transistors. UVROM (Ultraviolet Erasable Programmable Read-Only Memory), which is erased using UV light and reprogrammed with data, EEPROM (Electrically Erasable Programmable ROM), and flash.

The memory type selected depends on the design and application specifications.

Figure 4: Classification of semiconductor memories in an SoC.

Companies that mainly manufacture semiconductor memories are Micron Technology, Intel Corporation, Western Digital.

On-chip communication
Traditionally, bus architecture was used for communication between SoC execution units. However, nowadays, Network-On-Chip interconnection technology has emerged as a trend to surpass bus architecture.

A popular example of bus communication is ARM's AMBA (Advanced Microcontroller Bus Architecture) bus protocol. The bus architecture is used to conduct data between components. On-chip bus architecture can be classified as shared bus, hierarchical bus, and ring topologies. Different companies have designed different architectures according to chip design and application. Some examples are Altera AVALON, IBM CORECONNECT, WISHBONE from Silicore Corporation.

Figure 5. Example of AMBA bus in an SoC.

Network-On-Chip employs system-level networking techniques for on-chip traffic management. The NOC is a homogeneous and scalable switch fabric network used to transport multifunctional data packets. This architecture is naturally layered with user-defined technology. Communication occurs through a three-layer communication scheme, namely Transaction, Transport and Physical.

The purpose of a NOC interconnect fabric is to reduce on-chip wire routing congestion, better timing closure, and a standardized way to make changes to multiple IPs in the SOC design. NOC architectures have proven to be more energy efficient and can meet throughput requirements.

Figure 6. Layers in an on-chip network.

External interfaces
SOC interfaces are differentiated according to the intended application. External interfaces are commonly based on communication protocols such as WiFi, USB, Ethernet, I2C, SPI, HDMI. If necessary, analog interfaces can be added to interface with sensors and actuators.

Other components
Other components required for a fully functional SOC are timing sources such as clocks, timers, oscillators, phase-locked loop systems, voltage regulators, and power management units.

SoC design flow
The SoC design flow aims at architectural co-design, which designs hardware and software at the same time. The design flow must take into account optimization objectives and various constraints. The diagram below is an example of a SoC design flow, from specifications to manufacturing. Separate teams perform each of the steps involved in manufacturing an SoC.

An SoC is manufactured using MOS technology. Today, the smallest MOS technology is the 3nm technology developed by TSMC and Samsung. However, most devices today use 10nm technology. The manufacturing process involves generating the netlist design, followed by the physical design flow. Throughout the process, special attention is paid to static timing analysis (STA), which is the calculation of timings in a digital circuit. The STA is also used to validate timing performance and verify any timing violations. Timing violations can lead to metastability, which occurs when the flip-flops in a digital circuit are in an unknown state (neither 1 nor 0).

Figure 7. SoC design flow.

In Stage 1 of manufacturing, the design specifications are analyzed and a list of IPs required to perform the specifications is generated. These IPs or Intellectual Properties are often outsourced to third-party IP providers. These IPs can be Soft Cores, Hard Cores or Firm Cores, depending on the level of flexibility for changing parameters. IPs can also be made by the same company.

In Step 2, the IPs are integrated to generate an RTL description of the entire project. RTL stands for Register Transfer Level, which includes the use of various hardware descriptive languages ​​such as Verilog, System Verilog and VHDL. RTL models synchronous digital circuit between hardware registers.

In Step 3, a port-level netlist is generated by the SoC integrator. A port-level netlist contains data about the logical connectivity of standard cells, including for combinational, sequential, and network cells. A network is a group of two or more interconnected components. Design-For-Test (DFT) tools are used to improve testability.

In Step 4, the gate-level netlist is converted into a layout based on the physical design process. IP cores can also be imported at this stage. Physical design involves converting circuit representations of a design into geometric shapes, which leads to the components functioning after manufacturing.

In Step 5, assuming static timing analysis and power analysis are complete, a final layout is developed and sent to manufacturing.

In Step 6, the fabricated chip is checked in assembly. The chips are carefully checked for logical correctness before this step. This check is called a functional check and is responsible for a significant part of the process. To perform verification, languages ​​like SystemC, System Verilog are becoming increasingly popular to accommodate the complexity.

It is important to remember that making any changes to a chip after manufacturing is very difficult and expensive. Consequently, design emulation (prototyping) is performed before manufacturing. This is popularly done using FPGAs (Field Programmable Gate Array) because it is reprogrammable and allows debugging.

Advantages and disadvantages of SoC
The main objective of an SoC is to minimize external components. Therefore, it has the following advantages over a single-board computer:

  1. Size: The SoC is the size of a coin. Due to the ever-shrinking size of MOS technology, SOCs can be very small while still being able to perform complex tasks. Size does not affect chip capabilities.
  2. Decreased power consumption: An SoC is optimized for low power consumption devices such as cell phones. Low power consumption results in higher battery capacity of cell phones.
  3. Flexibility: SoCs are easily reprogrammable, which makes them flexible. They allow the reuse of IPs.
  4. Reliability: SoCs offer high circuit security and reduced design complexity.
  5. Cost-effective: Mainly due to fewer physical components and design reuse
  6. Faster circuit operation

SoCs also have some disadvantages:

  1. Time-consuming: The entire process, from design to manufacturing, can take from 6 months to 1 year. Consequently, the time to market demand is very high.
  2. Design verification requirements are very high and consume 70% of the total time. DV is tedious due to the increasing complexity of SoC design.
  3. Availability and compatibility of IPs play a very significant role, which can increase time to market.
  4. Exponential increase in manufacturing costs.
  5. For low volume products, SoC may not be the best option.

Forms
The most common application of SOCs today is in mobile applications, including smartphones, smartwatches, tablets. Other applications include speech signal processing, PC interfaces and data communications. SoCs are also being applied to personal computers due to the integration of communication modules such as LTE and wireless networks on the chip.

The most popular SoCs on the market today are manufactured by Qualcomm Technologies for smartphones, smartwatches, and upcoming 5G network compatibility. Other manufacturers include Intel Technology, Samsung Inc, Apple Inc., among many others.

Related Content

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.