What is System on Chip, SoC?
A System on Chip or SoC is a key component in Embedded Systems today. An SoC refers to a single chip or IC with a completely electronic or computer system fabricated.
It usually integrates a CPU, GPU, DSP, memory, I/Os, and external interfaces such as USB and analog input and output blocks. This way, an SoC has everything needed to function like an independent system except for a power supply. It can be soldered on a motherboard with power circuitry and relevant external interfaces.
Like any other computer system, an SoC can perform various functions, including but not limited to Artificial Intelligence, Machine Learning, IoT, wireless communication, and image processing.
Examples like the popular Raspberry Pi’s BCM2835, ESP8266 chip, NVIDIA’s Tegra K1, Qualcomm’s Snapdragon 820, and NXP’s I.MX series.
The main motivation behind the development of SoC technology is to make power efficient, cost-effective, and miniaturized systems. An SoC is an answer to all these questions because it essentially reduces a design containing multiple processing elements and microchips into one single chip.
This way, not only does it reduce the device size but also effectively reduces the power consumption. SoC is the main driving force behind the arrival of smart digital devices such as smartphones, tablets, laptops, and many more.
Building Blocks of an SoC
At times, an SoC is referred to as the processor or controller in an embedded application, but it is much more than that. An SoC typically has the following building blocks:
- Depending on the application, single or multiple processing elements such as a microprocessor, microcontroller, or DSP.
- On-chip memory elements such as Flash, EEPROM, or RAM. Or memory access control for external or off-chip memory.
- GPU for graphical processing.
- External communication interfaces such as USB, Ethernet, and I2C, etc.
- Wi-Fi, Bluetooth, or any other application-specific protocol for wireless communication.
- Application-related hardware such as video encoder/decoder.
- Voltage regulator, ADC/DAC, Clock, PLL, etc
- Internal interface bus.
Advantages of SoC
- Software and hardware co-design and IP core reusability.
- Power efficiency, small size, and reduced cost.
- Reduced latency as a single chip is responsible for all tasks and hence efficient performance.
- Reduced effort for software developers as they don’t have to worry about designing underlying functional hardware.
What is System on Module, SoM?
Much like an SoC, a System on a Module or SoM integrates the core components of an embedded processing system, such as processor, memory, and peripherals, in one place.
However, unlike an SoC, an SoM provides this functionality on a PCB or a module rather than a single chip. In this regard, an SoM is a board-level system. Typically, it is a small board that has many ICs or chips incorporated into it.
These ICs usually include an SoC and its supporting components such as memory, clock, power management, and other application-related parts such as ADC/DAC, GPS, Wi-Fi, Bluetooth, audio codec modem, etc.
However, an SoM is not the complete product but a part of the product. It is connected to an external board or the base board through pins, edge connectors, or solder tabs. It serves as the thinking board or the main processing element for the specified application.
Some examples include Xilinx’s Kria, Google’s Coral SoM, ESP32-WROOM-32, Microchip’s SAMA5D27, etc.
The key motivation behind the design of SoMs is to ease embedded hardware’s highly complex design procedure and fulfill the processing requirements of high-end applications like AI.
The use of SoC does make things simpler as the designer doesn’t have to put effort into each aspect of the circuit, and a lot of functionality comes into the chip.
However, the designer still needs to have a detailed understanding of the SoC chip, including each pin’s function, the thermal properties of the SoC, and the pad design.
To take care of this, an SoM offers a module with a really small form factor that can be connected to a baseboard, simplifying the whole procedure while keeping power budgets low and making them suitable for a wide range of applications.
SoM: An Answer to Developers’ Woes
The design and development of an embedded system can be tedious, especially when you have to design a customized board.
Manufacturing and testing delays make time constraints much tighter. An SoM makes the whole design procedure smoother. All you need to do is to choose an SoM that suits your requirements, integrate it with your main device and you are good to go.
Developers can use all this saved time to concentrate on their application software, significantly cutting down the time-to-market and the overall costs.
Although it appears that an SoM is similar to an evaluation board like Arduino, what makes it much more than that is the idea that an SoM can also be used in the final product without losing reliability or performance.
On top of that, SoMs offer greater performance efficiency, reliability, and scalability to the design.
Advantages of SoM
- No need for a deep understanding and experience in hardware, making it ideal for software developers. Some SOMs also come with drivers so the developer can completely focus on the application layer.
- Makes the design process for hardware developers faster, more efficient, and more resource efficient. FPGA performance and flexibility can be achieved without going through the slow and tedious process of PCB design and manufacturing.
- Interchangeability and easy to upgrade. An upgraded version of SoM with the same form factor can easily replace the older unit without changing the underlying hardware completely.
- The simplified life cycle of the product.
- High performance, reliability, and scalability.
- Reduced time-to-market
SoC vs SoM
As discussed, SOC and SOM both serve the basic purpose of making embedded design procedures easier and smoother for developers.
They are intended to enable developers to work on high-end applications such as AI and IoTs and design and produce embedded systems to meet the stringent design requirements of this day and age.
These requirements include lesser time-to-develop, reduced cost, lower power consumption, lower latency, and high performance.
An SoC is essentially a chip with all the embedded components needed for a specific function, such as processing elements, memory, I/Os, and other peripherals, integrated into that chip.
An SoM integrates these same components on a single board with a small form factor that can easily be connected to a main board or baseboard.
Still, there are some ways in which SoMs outperform SoCs, as follows:
- Designing and manufacturing a propriety SoC is a very expensive process and can cost millions of dollars. Therefore, it is only affordable by major companies like Apple and Samsung. However, SMEs can use SoCs developed by these companies that are best suited to their needs.
- Although SoC makes the task of the developer easier by taking care of all the applications inside the chip, there is still a need to be aware of the detailed functionality of the chip, its pin configuration, thermal properties for soldering, and pad structure. An SoM, on the other hand, makes you completely independent of these tasks as it’s just a plug-and-play sort of device.
- SoMs also offer greater flexibility as a developer can use multiple SoMs with different SoCs on the same baseboard. This way any application can be tested on different architectures just by swapping the SoMs.
- SoMs offer interchangeability in design as the components from the SoM can be easily interchanged whenever a newer improved version of the component is available with the same form factor. There will be no need to make any changes to the rest of the circuit or to change it completely. However, in the case of SoC, there is only one way to upgrade, and that is to replace the chip.
- SoMs can be recycled by using the older SoM boards in cheaper designs.
- The same SoM can be used in the final product used during the development and testing phase without any loss of reliability.
- SoM performs well in terms of performance efficiency, power consumption, speed, reliability, and scalability.
In a nutshell, due to a significant rise in demand for embedded electronic devices in AI, industrial IoT, and smart cities, there is a strong need for attributes such as efficient usage of power with high performance and plug n’ play features. System on Module, SoM appears to be a good choice of device to meet such needs.