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
    • A Protocol Is a Contract
    • Roles and Agents
    • Signals, Meaning and Timing
    • Reading Timing Diagrams
    • Protocols as State Machines
    • Topologies and Duplex
    • Layering and the End-to-End Argument
    • Memory, Message and Stream Semantics
    • Protocols Compared: What Is a Protocol?
    • Drills: What Is a Protocol?
  • 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
  • Part 18: Interview Preparation6
Loading lesson

‹Part 0: What Is a Protocol?
  1. Topics
  2. First Principles of Hardware Protocols
  3. Part 0: What Is a Protocol?
  4. Protocols Compared: What Is a Protocol?

Part 0 · What Is a Protocol? · All levels

Protocols Compared: What Is a Protocol?

Ten real protocols side by side: roles, topology, duplex, layering and communication model.

On this page

    This page puts the ideas of Part 0 side by side for ten real protocols. Read a row to see one protocol's basic shape; read a column to see how differently the same question can be answered. Every entry is stated the way the course's fact sheet states it.

    The basic shape of ten protocols

    Protocol

    Topology

    Duplex

    Roles

    Layers

    Model

    UART

    Point-to-point

    Full duplex, one line per direction

    Symmetric: either side may send

    One (framing on the line)

    Stream of characters

    SPI

    One master, slaves picked by chip select

    Full duplex

    Master drives the clock and starts every transfer

    One

    Stream of bits per transfer

    I2C

    Shared bus, open-drain

    Half duplex on SDA

    Masters start transfers and arbitrate; slaves answer

    One

    Addressed transfers (memory-like registers)

    APB

    Point-to-point interface into a fabric

    Separate read and write data

    Requester and completer

    One

    Memory (register reads and writes)

    AXI

    Point-to-point interfaces joined by interconnects

    Separate channels per direction

    Master and slave per interface

    One

    Memory

    AXI-Stream

    Point-to-point

    One way (data), plus TREADY back

    Producer and consumer

    One

    Stream, with TLAST boundaries

    PCI Express

    Point-to-point links joined by switches

    Dual simplex lanes

    Requester and completer, both on one link

    Three: transaction, data link, physical

    Mainly memory, plus messages

    Ethernet

    Point-to-point links joined by switches (classic shared media in the past)

    Full duplex on modern links

    Symmetric stations

    Physical and data link; upper layers (IP, TCP) above

    Messages (frames)

    DDR memory

    Controller to memory devices

    Half duplex data bus (reads and writes take turns)

    Controller initiates everything

    Controller and PHY

    Memory

    CAN

    Shared bus

    Half duplex

    Any node may send; bitwise arbitration

    One

    Messages identified by ID

    What the table shows

    • Shared buses take turns and need arbitration (I2C, CAN, and the DDR data bus between reads and writes). Point-to-point links do not, which is one reason fast protocols are point-to-point and use switches for fan-out.

    • Roles split cleanly on chip (AXI, APB: one master side, one slave side per interface) and mix on links (PCI Express: the same device is a requester and a completer over one link). Mixing roles is cheaper in pins and harder to keep deadlock-free.

    • Only the long-distance protocols are layered (PCI Express, Ethernet). On chip, wires are short and reliable enough that one layer suffices; off chip, a link layer earns its keep with CRC, replay and credits.

    • The communication model follows the traffic: memory where data is shared or revisited (AXI, APB, DDR), stream where it flows (AXI-Stream, UART), messages where self-contained units are exchanged (Ethernet, CAN).

    Where each idea is explained

    • 0.1 A Protocol Is a Contract

    • 0.2 Roles and Agents

    • 0.6 Topologies and Duplex

    • 0.7 Layering and the End-to-End Argument

    • 0.8 Memory, Message and Stream Semantics

    Tip

    Try it yourself: pick a protocol you use at work that is not in the table and fill in its row. If any column is hard to fill, that is the part of its specification to read first.

    Keep going

    Next: Drills: What Is a Protocol?. Interview questions, a whiteboard exercise and a ten-question checkpoint for Part 0.

    Related topics

    • Part 0 overview: What Is a Protocol?

    • Course hub

    Previous

    13 / 234

    Next: Drills: What Is a Protocol?

    Up next

    Up nextDrills: What Is a Protocol?

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • A Protocol Is a Contract
    • Roles and Agents
    • Signals, Meaning and Timing