1. Draw the layers: software, transaction, link/channel, physical/timing.
2. Draw the transaction identity: ID, tag, address, endpoint, lane, or cache line.
3. Mark flow control: ready, grant, credit, FIFO, retry, or link state.
4. Mark ordering: same ID, different ID, barrier, fence, completion, or shareability.
5. State the metric: latency, throughput, error rate, retry, or training margin.
6. State the artifact: waveform, VIP log, analyzer trace, firmware log, or counter.
7. Propose one reduced experiment and one product regression.The best protocol answers are layered, measurable, and tied to a specific transaction.
Never answer with only a block diagram; carry the failing transaction through the diagram.
Protocol correctness is a layered contract enforced at every boundary.
intent -> transaction -> channel -> physicalbaseline -> experiment -> targetlatency
throughput
error rate
compliance status
Always anchor debug to the first bad transaction.
Name layer
Name ID
Name artifact
Ask: what is the first transaction that deviates, and which spec rule does it test?
Connect every protocol claim to a transaction identity and measurable metric.
Store the artifact (waveform, log, counter) next to every signoff decision.
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.