Interface Protocols · All levels

PCIe / CXL Debug: Review Checklist

Review Checklist for PCIe / CXL Debug.

Review checklist

Review Checklist for PCIe / CXL Debug focuses on link degrade event count, completion timeout rate, poison/error log. The goal is to connect the observable symptom to protocol mechanism, ownership, and regression risk.

  • Spec revision and implemented feature subset are named.

  • Clock/reset and CDC assumptions are reviewed.

  • Traffic classes, IDs/tags, ordering, and outstanding limits are documented.

  • VIP/compliance coverage maps back to requirements.

  • Performance metric and debug artifact are stored with the signoff note.

  • Owners signed: debug lead, firmware owner, controller owner.

Sign-off ownership

diagram
OWNERSHIP MAP — PCIe / CXL Debug

evidence type        owner who reads it
-----------------    ---------------------------
waveform/RTL        debug lead
spec/VIP            firmware owner
firmware/system     controller owner

Rule: every metric must have a named owner before a review starts.

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 PCIe / CXL Debug against one concrete product workload, not a synthetic directed test.

debug starts at link health, then checks packet credit, ordering, firmware resource allocation, and endpoint behavior.