Skip to content
DenseChip
Learn
PracticeCode labInterview
LearnPracticeCode 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
← Topics
  1. Topics
  2. First Principles of Hardware Protocols

First Principles of Hardware Protocols

All courses

Intermediate · ~55 h · 234 lessons · 19 sections

The questions every protocol answers, from handshakes to replay.

Start courseHow to Use This Course

Course map

  1. How to Use This Course
    1 lesson

    Starts with How to Use This Course

  2. Reading Paths
    1 lesson

    Starts with Reading Paths

  3. Concept Map
    1 lesson

    Starts with Concept Map

  4. How to Read the Diagrams
    1 lesson

    Starts with How to Read the Diagrams

  5. Part 0: What Is a Protocol?
    10 lessons

    Starts with A Protocol Is a Contract

  6. Part 1: Timing and Clocking
    11 lessons

    Starts with Common-Clock Interfaces

  7. Part 2: Encoding and Framing
    12 lessons

    Starts with Line Codes

  8. Part 3: Handshakes
    13 lessons

    Starts with Valid-Only Streams

  9. Part 4: Flow Control
    17 lessons

    Starts with Why Flow Control

  10. Part 5: Transactions
    19 lessons

    Starts with Reads and Writes Are Not Symmetric

  11. Part 6: Concurrency and Performance
    17 lessons

    Starts with Latency, Throughput and Bandwidth

  12. Part 7: Ordering
    13 lessons

    Starts with Why Ordering Matters

  13. Part 8: Sharing and Arbitration
    12 lessons

    Starts with Shared Media and Topologies

  14. Part 9: Deadlock and Liveness
    13 lessons

    Starts with Deadlock, Livelock and Starvation

  15. Part 10: Reliability and Recovery
    20 lessons

    Starts with Error Models

  16. Part 11: Bring-Up and Link Management
    10 lessons

    Starts with Reset Semantics

  17. Part 12: Power
    8 lessons

    Starts with Idle Detection

  18. Part 13: Shared State and Coherence
    9 lessons

    Starts with Why Coherence

  19. Part 14: Security and Isolation
    7 lessons

    Starts with Access Attributes

  20. Part 15: Specifying and Verifying
    11 lessons

    Starts with Writing an Interface Contract

  21. Part 16: Protocols Dissected
    17 lessons

    Starts with How to Dissect a Protocol

  22. Part 17: Capstones
    5 lessons

    Starts with Read Any Spec

  23. Part 18: Interview Preparation
    6 lessons

    Starts with The Reasoning Framework

About this course

Most protocol courses teach one specification: signal names, encodings, timing tables. This course teaches what every specification is answering. From a UART to CXL, every protocol has to decide when data is valid, where a message starts, whether the receiver is ready, how much may be in flight, in what order results appear, who gets the wire, why it might hang, and what happens when bits go wrong. The answers change from protocol to protocol. The questions do not.

Learn the questions, the possible answers and the trade-off behind each, and you can read a new specification in a day, explain why AXI, PCIe or I2C made the choices they did, and design and defend a protocol of your own.

Note

Status: all 198 lessons are written. Every part page lists its lessons in learning order.

The fifteen questions the course is built on. Each part answers one; parts 16 to 18 apply them all.

What you will be able to do

  1. Read an unfamiliar protocol specification in a day and know what to look for.

  2. Explain the reason behind the main design choices of AXI, PCIe, I2C, DDR, CHI, Ethernet, USB and UCIe.

  3. Size buffers, credits, tags and replay windows from bandwidth and latency.

  4. Debug a hang, a lost transfer or a throughput collapse from a waveform by reasoning about the protocol.

  5. Answer senior and principal interview questions that have no single-protocol answer, and design a small protocol from requirements.

Four levels on every page

Badge

Level

Who

What a page gives you

F

Foundation

0–3 years

The problem, the mechanism, a clear picture, one worked example

W

Working

3–6 years

Rules, corner cases, runnable code, failure modes, how to verify

S

Senior

6–10 years

Sizing maths, trade-off tables, cross-protocol comparison, debug method

P

Principal

10+ years

Design-space reasoning, what a reviewer must ask, how the choice ages

Each lesson carries its lowest level badge, and every lesson ends its teaching with a Senior or Principal lens, so experienced readers get something from the foundation pages too. See reading paths for routes by role.

The parts

Part

Title

The question

Lessons

Status

0

What Is a Protocol?

What is a protocol, really?

8

8 ready

1

Timing and Clocking

When is the data valid?

9

9 ready

2

Encoding and Framing

Where does a message start and end?

10

10 ready

3

Handshakes

Is the receiver ready?

11

11 ready

4

Flow Control

How much may I send before I hear back?

15

15 ready

5

Transactions

What exactly is being asked?

17

17 ready

6

Concurrency and Performance

How many requests can be in flight?

15

15 ready

7

Ordering

In what order do results become visible?

11

11 ready

8

Sharing and Arbitration

Who gets the wire?

10

10 ready

9

Deadlock and Liveness

Why can it hang?

11

11 ready

10

Reliability and Recovery

What if bits go wrong?

18

18 ready

11

Bring-Up and Link Management

How do the two sides agree at start-up?

8

8 ready

12

Power

How do we save power without losing data?

6

6 ready

13

Shared State and Coherence

What if there are several copies of one value?

7

7 ready

14

Security and Isolation

Who is allowed to ask?

6

6 ready

15

Specifying and Verifying

How do we know it is correct?

10

10 ready

16

Protocols Dissected

How do real protocols answer the fifteen questions?

15

15 ready

17

Capstones

Can you apply all of it?

5

5 ready

18

Interview Preparation

Can you explain it under pressure?

6

6 ready

How the course is built

  • One picture that keeps coming back. A sender, a channel and a receiver with a return path. Each part adds its idea to that same figure: a ready signal, a credit counter, a replay buffer.

  • DCLink, a protocol you build. Twelve steps across the course turn a bare wire into a small protocol with handshakes, credits, transactions, tags, ordering, arbitration, deadlock freedom, replay, start-up and low power.

  • Real simulations. Every waveform comes from a simulation of the code on the page, and every number in a plot comes from a model on the page.

  • Real protocols as evidence. Each lesson shows how two to four real protocols answered its question, and why their constraints led there.

Tip

New here? Start with how to use this course, then the concept map.

Related topics

  • How to use this course
  • Reading paths
  • Concept map
  • How to read the diagrams
Open question bankPractice questions for this track