FPGA SSN vs Crosstalk
Engineering Notes · FPGA signal integrity

FPGA simultaneous switching noise vs crosstalk

A hierarchical guide to diagnosing and mitigating simultaneous switching noise (SSN/SSO/ground bounce) versus crosstalk in FPGA systems.

Terminology note: “crosswalk” in this context is almost certainly crosstalk. SSN and crosstalk can look similar on a scope because both produce edge-correlated glitches, but they come from different current paths and need different fixes.

Start here

SSN / SSO / ground bounce

Cause: many FPGA outputs switch at once. Package, pin, via, plane, and PDN inductance convert cumulative current slew into local ground/VCC movement: V = L × di/dt.

Signature: glitches correlate with a group of outputs switching, often across a whole I/O bank.

Crosstalk

Cause: capacitive or inductive coupling between nearby conductors: board traces, package escape, connectors, cables, or FPGA routing resources.

Signature: a victim net moves when a specific neighboring aggressor edge occurs.

Sections

1. Diagnosis

How to tell whether a failure is SSN, crosstalk, or both.

Open section →

2. Application symptoms

How the issue presents in buses, memory, clocks/resets, mixed-signal systems, SERDES, and industrial I/O.

Open section →

3. Mitigations

The common fixes, with pros and cons.

Open section →

4. System approach

Guidelines for approaching a real system without over-designing or fixing the wrong mechanism.

Open section →

Rule of thumb

Many outputs switch together

Start with SSN: lower slew/drive, reduce same-bank switching, improve PDN/return path, and validate against SSO limits.

One victim follows one aggressor

Start with crosstalk: spacing, routing, termination, impedance, guard/reference continuity, and moving sensitive nets away from data.

Only appears in real traffic

Assume a combination. Reproduce with worst-case vectors, then isolate by disabling banks or neighbors.

Sources: Microchip AN4848; AMD/Xilinx XAPP689; Altium, “Is it Simultaneous Switching Noise or Crosstalk?”; UBC, “Crosstalk-Aware Routing in FPGAs”; Design & Reuse, “How to reduce simultaneous switching output noise with a stand-alone SerDes.”