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

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

Part 0 · What Is a Protocol? · All levels

Part 0: What Is a Protocol?

What is a protocol, really? Explain what a spec promises beyond its port list.

  • 10topics
  • 10lessons
On this page

    Part 0 answers: What is a protocol, really?

    Where Part 0 sits among the fifteen questions of the course.

    Before any signal names, a protocol is an agreement between two pieces of hardware that cannot see inside each other. Each side can only observe the wires, so everything it relies on has to be promised by the other side and checkable on those wires.

    This part builds the vocabulary the rest of the course uses: roles, the three layers of every spec (signals, meaning, timing), protocols as pairs of state machines, topologies, layering, and the three models of communication (memory, message, stream).

    After this part you can

    • Explain what a spec promises beyond its port list.

    • Read and draw a timing diagram without guessing.

    • Say which layer of a stack should own a guarantee, using the end-to-end argument.

    Lessons

    #

    Lesson

    Level

    Status

    0.1

    A Protocol Is a Contract

    F · Foundation

    Ready

    0.2

    Roles and Agents

    F · Foundation

    Ready

    0.3

    Signals, Meaning and Timing

    F · Foundation

    Ready

    0.4

    Reading Timing Diagrams

    F · Foundation

    Ready

    0.5

    Protocols as State Machines

    W · Working

    Ready

    0.6

    Topologies and Duplex

    F · Foundation

    Ready

    0.7

    Layering and the End-to-End Argument

    S · Senior

    Ready

    0.8

    Memory, Message and Stream Semantics

    W · Working

    Ready

    —

    Protocols compared

    all levels

    Ready

    —

    Drills and checkpoint

    all levels

    Ready

    Every lesson in this part is ready. Work through them in order: each one sets up the problem the next one solves.

    Related topics

    • Course hub

    • Next: Part 1 · Timing and Clocking

    PreviousNext: A Protocol Is a Contract

    Up next

    Up nextA Protocol Is a Contract

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • How to Use This Course
    • Reading Paths
    • Concept Map