Interface Protocols · All levels

CXL Attach Modes: Comparison Matrix

Comparison Matrix for CXL Attach Modes.

Comparison matrix

Link width, Gen speed, credits, and attach mode trade latency vs platform flexibility.

diagram
+------------------+----------------+----------------+----------------+
| Approach         | Strength       | Weakness       | Best when      |
+------------------+----------------+----------------+----------------+
| Baseline         | known, signed  | may miss peak  | shipping SKU   |
| More buffer      | absorbs latency | area, deadlock | DMA-heavy      |
| Wider bus        | peak BW up     | timing, power  | memory bound   |
| SW contract      | cheap silicon  | driver burden  | fixed platform |
+------------------+----------------+----------------+----------------+

When to choose each approach

  • Pick baseline when schedule and risk dominate

  • Pick buffering only after proving backpressure is the limiter

  • Pick width only after payload efficiency analysis

  • Pick software contract when hardware change is too expensive

Interview traps

  • Comparing peak spec numbers across protocols

  • Ignoring bridge and firmware in the comparison

  • One-size-fits-all answer in interviews

Evidence comparison

diagram
COMPLIANCE / DEBUG MATRIX — CXL Attach Modes

+-------------------+------------------------+--------------------------+-------------------------+
| Evidence           | Tells you              | Does not prove           | Next action             |
+-------------------+------------------------+--------------------------+-------------------------+
| Waveform           | signal-level sequence  | full system intent       | map to transaction log  |
| VIP transaction    | spec-level behavior    | RTL micro-cause          | correlate timestamp     |
| Counter / PMU      | aggregate symptom      | single failing packet    | isolate traffic class   |
| Firmware log       | software-visible flow  | electrical/link health   | compare with hardware   |
| Analyzer capture   | external protocol view | internal reset/config    | align with RTL trace    |
+-------------------+------------------------+--------------------------+-------------------------+

Protocol deep dive

PCIe is reliable packet delivery over unreliable links; debug flows PHY -> DLL -> TLP -> firmware.

Concept diagram

diagram
PCIe DEBUG TOP-DOWN

L0 link healthy?  -> credits OK?  -> TLP completes?  -> driver happy?

Skip a layer and you will mis-own the bug.

Metric graph

diagram
LINK DEGRADE EXAMPLE

target x4 Gen4  ---- ---- ---- ----
actual   x4 Gen4  ---- ---- ---- ----   (eval board)
actual   x1 Gen3  -                   (product board)

Package/SI often shows up as width downgrade, not hard fail.

Metrics and artifacts to collect

  • link width/speed

  • replay count

  • completion timeout

  • AER error log

  • LTSSM history

Mini case study

Endpoint enumerated but DMA timed out: completion credits exhausted because a switch port was misconfigured in firmware, not because the endpoint was broken.

Debug branches

  • If degrade at width/speed, PHY/SI before driver.

  • If replay storm, link layer before transaction layer.

  • If CXL coherency bug, separate .io vs .cache vs .mem traffic.

Senior review question

Ask: what is the first transaction that deviates, and which spec rule does it test?

Key takeaways

  • Connect every protocol claim to a transaction identity and measurable metric.

  • Store the artifact (waveform, log, counter) next to every signoff decision.

Common pitfalls

  • Debugging timeouts without finding the first bad transaction.

  • Quoting peak bus width without payload efficiency and retry overhead.

  • Treating VIP compliance as a substitute for system integration replay.

Principal review addendum

Re-read CXL Attach Modes against one concrete product workload, not a synthetic directed test.

CXL.io, CXL.cache, and CXL.mem layer coherent and memory semantics on PCIe infrastructure.