Key Considerations in SoC Design

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?

Key Considerations in SoC Design

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

Key Considerations in SoC Design

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.

Key Considerations in SoC Design

D Flip-Flop Circuit Structure:

Key Considerations in SoC Design

2 Data Loss

Key Considerations in SoC Design

3 Data Inconsistency – Bus Type

Key Considerations in SoC Design

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

Key Considerations in SoC Design

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

Key Considerations in SoC Design

2 Edge Synchronization – 2/3 Clock Synchronization

Key Considerations in SoC Design

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.

Key Considerations in SoC Design

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

Key Considerations in SoC Design

2.3 Reset Signal Synchronization

Asynchronous reset, synchronous release;

Key Considerations in SoC Design

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

Key Considerations in SoC Design

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;

Key Considerations in SoC Design

Second, the tool inserts it.

Key Considerations in SoC Design

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;

Leave a Comment