serpentine routing
**Serpentine routing** (also called **meandering**) is a physical design technique where signal wires are routed in a **zig-zag or snake-like pattern** to intentionally **increase wire length** — matching the delay of the signal to other nets in a bus or to a reference clock for proper timing alignment.
**Why Serpentine Routing Is Used**
- In high-speed parallel buses and clock distribution networks, multiple signals must **arrive at the same time** at their destinations.
- Different signal paths naturally have different lengths due to placement — shorter paths arrive earlier.
- Serpentine routing adds **controlled extra length** to shorter paths so all signals in the group have equal propagation delay.
**Common Applications**
- **DDR Memory Buses**: Data (DQ), address (A), and command/control signals must arrive at the DDR memory within tight timing windows. Length matching to within a few mils (0.1 mm) is typical.
- **Parallel Buses**: Source-synchronous buses where a clock travels with the data — data lines must match the clock line length.
- **Differential Pair Intra-Pair Matching**: If one wire of a differential pair is slightly longer (e.g., due to an asymmetric via placement), a small serpentine on the shorter wire equalizes the pair.
- **Clock Distribution**: Multiple clock branches feeding identical circuits must have matched delay.
**Serpentine Geometry**
- **Amplitude**: The height of each zig-zag — how far the wire deviates from the straight path. Typically small (1–5× wire pitch).
- **Pitch/Period**: The horizontal spacing between successive bends.
- **Segment Length**: The length of each straight segment between bends.
- **Total Added Length**: The cumulative extra wire length from the zig-zag pattern.
**Design Rules for Serpentine**
- **Minimum Gap**: The spacing between adjacent segments of the serpentine must meet minimum spacing rules. Too-tight serpentine creates crosstalk between its own segments (self-coupling).
- **Coupling Cancellation**: Serpentine segments that run in opposite directions create opposing coupling effects — the amplitude and pitch should be chosen so coupling effects cancel rather than accumulate.
- **No Sharp Corners**: Use 45° or rounded bends rather than 90° to reduce reflections and impedance discontinuities.
- **Consistent Pattern**: Maintain uniform serpentine amplitude and pitch — avoid mixing different patterns.
**Limitations**
- **Self-Crosstalk**: Closely spaced serpentine segments couple to each other, potentially degrading signal quality. Maintain adequate spacing between serpentine loops.
- **Impedance**: The zig-zag pattern slightly changes the effective impedance at each bend — more significant at very high frequencies.
- **Area**: Serpentine consumes routing area — must be factored into routing resource planning.
Serpentine routing is the **standard technique** for length matching in high-speed PCB and package design — it ensures timing alignment across parallel signal groups with minimal signal quality degradation.