Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Paths
  • Concept Map
  • How to Read the Diagrams
  • Part 0: What Is a Protocol?10
  • Part 1: Timing and Clocking11
  • Part 2: Encoding and Framing12
  • Part 3: Handshakes13
  • Part 4: Flow Control17
  • Part 5: Transactions19
  • Part 6: Concurrency and Performance17
  • Part 7: Ordering13
  • Part 8: Sharing and Arbitration12
  • Part 9: Deadlock and Liveness13
  • Part 10: Reliability and Recovery20
  • Part 11: Bring-Up and Link Management10
  • Part 12: Power8
  • Part 13: Shared State and Coherence9
  • Part 14: Security and Isolation7
  • Part 15: Specifying and Verifying11
  • Part 16: Protocols Dissected17
  • Part 17: Capstones5
    • Read Any Spec
    • The Protocol Comparison Matrix
    • Design a Protocol
    • Design Review
    • Debug the Hang
  • Part 18: Interview Preparation6
Loading lesson

‹Part 17: Capstones
  1. Topics
  2. First Principles of Hardware Protocols
  3. Part 17: Capstones
  4. The Protocol Comparison Matrix

Part 17 · Capstones · Senior (S)

The Protocol Comparison Matrix

Capstone 2: fill in a matrix of ten protocols against six questions from memory, then check each row and explain every difference from the protocols' constraints.

On this page

    Note

    Level: Senior (S) · Answers: Can you apply all of it?

    Before this: Protocols Compared: Protocols Dissected

    An interviewer slides a blank grid across the table: ten protocols down the side, six questions across the top. "Fill in what you can, then tell me why any two rows differ." Filling the grid tests recall; explaining it tests whether you understand that every cell follows from a constraint.

    Can you fill the matrix from memory and explain each difference?

    The exercise

    Protocol

    When is data valid?

    Is the receiver ready?

    How much may I send?

    How many in flight?

    What if bits go wrong?

    UART

    ?

    ?

    ?

    ?

    ?

    SPI

    ?

    ?

    ?

    ?

    ?

    I2C

    ?

    ?

    ?

    ?

    ?

    APB

    ?

    ?

    ?

    ?

    ?

    AHB

    ?

    ?

    ?

    ?

    ?

    AXI4

    ?

    ?

    ?

    ?

    ?

    PCI Express

    ?

    ?

    ?

    ?

    ?

    DDR

    ?

    ?

    ?

    ?

    ?

    Ethernet

    ?

    ?

    ?

    ?

    ?

    USB

    ?

    ?

    ?

    ?

    ?

    Fill all fifty cells (ten protocols, five questions each) on paper before checking. Then pick three pairs of rows and explain every difference between them using the five constraint questions (distance, bandwidth and latency, wires, topology, who builds each side).

    Check each row

    Check yourself UART: your five answers?

    Timing: No clock; start bit re-aligns. Ready: None. Flow control: None in the frame. In flight: One character. Errors: Parity, framing error; no retry. Details on the UART page.

    Check yourself SPI: your five answers?

    Timing: Master's clock. Ready: None. Flow control: Master paces. In flight: One transaction. Errors: None. Details on the SPI page.

    Check yourself I2C: your five answers?

    Timing: Master's clock; stable while SCL high. Ready: ACK per byte; clock stretching. Flow control: Per byte. In flight: One transaction. Errors: Missing ACK only. Details on the I2C page.

    Check yourself APB: your five answers?

    Timing: Common clock. Ready: PREADY wait states. Flow control: One transfer. In flight: One. Errors: PSLVERR. Details on the APB page.

    Check yourself AHB: your five answers?

    Timing: Common clock. Ready: HREADY wait states. Flow control: One data phase. In flight: Pipeline of two. Errors: Two-cycle ERROR. Details on the AHB page.

    Check yourself AXI4: your five answers?

    Timing: Common clock. Ready: VALID/READY per channel. Flow control: READY back-pressure. In flight: Many, by ID. Errors: SLVERR/DECERR; no retry. Details on the AXI4 page.

    Check yourself PCI Express: your five answers?

    Timing: Embedded clock, CDR. Ready: Credits. Flow control: Six credit types. In flight: Many, by tag. Errors: LCRC + replay; ECRC; FEC (Gen6). Details on the PCI Express page.

    Check yourself DDR: your five answers?

    Timing: Strobes (DQS). Ready: None: fixed latency. Flow control: Controller owns timing. In flight: Many banks. Errors: ECC DIMMs. Details on the DDR page.

    Check yourself Ethernet: your five answers?

    Timing: Embedded clock. Ready: None per frame. Flow control: Lossy; PAUSE/PFC optional. In flight: Many frames. Errors: CRC-32 then drop; FEC. Details on the Ethernet page.

    Check yourself USB: your five answers?

    Timing: Recovered from transitions. Ready: ACK/NAK/STALL to host tokens. Flow control: NAK. In flight: One per bus (USB 2.0). Errors: CRC + retry; DATA0/1. Details on the USB page.

    Explaining differences: three worked pairs

    Pair

    The difference

    The constraint behind it

    APB and AXI4

    One transfer versus many outstanding by ID

    AXI faces long, variable memory latency (C2); APB serves slow registers

    AXI4 and PCI Express

    Ready versus credits; no retry versus replay

    PCIe's round trip is long and its channel lossy (C1, C2); on-chip wires are short and reliable

    PCI Express and Ethernet

    Lossless with replay versus lossy with end-to-end recovery

    Ethernet spans networks of any size and leaves delivery to the end points; PCIe must look like a bus to software (C4, C5)

    Scoring

    • Recall: 42 or more of 50 cells correct is strong; below 33, revisit the Part 16 pages.

    • Reasoning: each explained difference must name a constraint; "it's a different protocol" scores nothing.

    • Reference: the filled-in comparison across fourteen protocols is on Protocols Compared: Protocols Dissected.

    Why this matters

    Senior lens. The matrix is a compressed model of the field. Keep one for the protocols you work with, add a column whenever you meet a new question, and use it to place every new protocol you read: most new protocols are a new combination of familiar cells, and the unfamiliar cell is where to spend your reading time.

    Key takeaways

    • Every cell in the matrix follows from a protocol's constraints.

    • Recall the cells, but practise explaining the differences between rows.

    • Rows to revisit: UART, AXI4, PCI Express are the ones most often asked about.

    Keep going

    Next: Capstone 17.3, Design a Protocol. Three briefs; write the contract and defend every choice.

    Related topics

    • Part 17 overview: Capstones

    Previous

    225 / 234

    Next: Design a Protocol

    Up next

    Up nextDesign a Protocol

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Design Review
    • Debug the Hang