1 SoC Concept
System on Chip vs. System on PCB: The essence is to evolve the process technology to transform a traditional module into an internal module.
-
SoC aims for high integration and miniaturization within a single chip. SoC serves as the core, and it is certainly expanded and connected through PCB.
-
System on PCB seeks flexibility and functional expansion through discrete components at the circuit board level.
In-depth Comparison: SoC vs. System on PCB
| Feature | System on PCB (SoPCB) | System on Chip (SoC) |
| Core Idea | Discrete Integration | Monolithic Integration |
| Composition | Multiple independent functional chips (CPU, memory, PHY, ADC, etc.) connected via PCB traces. | Integration of CPU, GPU, memory controller, DSP, and various peripheral interfaces onto a single chip. |
| Advantages | 1. Design flexibility: Ability to choose the best components from different manufacturers.2. Easy debugging and maintenance: Faulty chips can be measured and replaced individually.3. Short development cycle: Relatively low cost, suitable for prototype validation and small batch production. | 1. Extremely small size: Greatly saves space, suitable for portable devices like phones and watches.2. Low power consumption: Internal interconnect power consumption is much lower than board-level interconnects.3. High performance: On-chip bus speeds are much higher than board-level buses, with lower latency.4. Low cost in mass production: Although chip design costs are high, the cost per chip in mass production is lower than purchasing a bunch of discrete chips. |
| Disadvantages | 1. Larger physical size.2. Relatively higher power consumption (signals travel longer distances on PCB, leading to larger parasitic capacitance/inductance).3. Greater signal integrity challenges (high-speed signals are prone to interference).4. High costs for mass production (requires procurement and soldering of numerous discrete components). | 1. Extremely complex design and manufacturing, with a high barrier to entry (typically the domain of giants like Apple, Qualcomm, and HiSilicon).2. One-time investment (NRE) costs are astronomical (tens of millions to hundreds of millions of dollars).3. Poor flexibility: Once the chip is fabricated, functionality cannot be changed.4. Difficult debugging: Internal chip signals are hard to probe. |
| Typical Examples | 1. Arduino, Raspberry Pi (early models): CPU, memory, and IO controllers are all independent chips.2. Desktop computer motherboards: CPU, memory modules, graphics cards, and network card chips are all independent, plugged into or soldered onto the PCB. | 1. Mobile application processors (e.g., Apple A series, Qualcomm Snapdragon, MediaTek Dimensity): integrate CPU, GPU, NPU, memory controller, image processor, etc.2. The core of Raspberry Pi CM4: its core is a Broadcom SoC.3. Modern router chips: integrate CPU, switching matrix, PHY, etc. into one. |
System on PCB is a classic method for implementing electronic systems, while SoC represents the ultimate extension and high integration of this method at the chip level.
1.1 SoC Design Process – Hardware-Software Co-design Process
If a requirement is established from the beginning, how should development proceed?

Here, the classic SoC flowchart from ARM is often used as an example:

1 How Software and Hardware Interact
2 How to Divide Software and Hardware
2 CDC in SoC
CDC is a key focus in SoC design; an SoC contains high-speed CPUs and high-speed peripherals; maximizing the performance of each system is essential. Therefore, there must be different clocks; generally, a reference clock is input externally, and various high-speed clocks are generated internally by the PLL in the CRG module.
2.1 Hazards of CDC
0 Clock Domain
1 Metastability
The actual phenomenon: The red area indicates the unstable metastable state, which in simulation is represented as the X state, with serious consequences due to oscillation and propagation; however, the benefit is that it stabilizes over time like a roller coaster, eventually becoming a stable state.

D Flip-Flop Circuit Structure:

2 Data Loss

3 Data Inconsistency – Bus Type

Can bus-type data signals synchronize directly for each bit?

This method is not applicable for bus-type signals where multiple bits are related; however, it can be used when multiple bits are independent.
2.2 Synchronization Methods and Types
1 Single Bit Level Synchronization – 2/3 Clock

2 Edge Synchronization – 2/3 Clock Synchronization

3 Pulse Synchronization – 2/3 Clock Synchronization
In the source clock domain, the pulse is first widened to a level, and then synchronization is performed to detect the edge.

Pulse sync requirements: The interval of the input pulse must be at least the interval of two synchronizers.

2.3 Reset Signal Synchronization
Asynchronous reset, synchronous release;

2.4 Bus-Type Data Synchronization
1 Handshake Protocol
Referencing the content of the AMBA protocol here makes it easy to understand.
2 Asynchronous FIFO

This will not be elaborated on here.
3 SoC Low Power Technologies
3.1 Clock Gating
RTL and Tools
First, the designer actively adds it when writing RTL;

Second, the tool inserts it.

During PR, it is essential to check with the backend.
3.2 Multi-Clock Domains
3.3 DVFS – Dynamic Voltage and Frequency Scaling
Dynamic voltage switching and frequency reduction;