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
    • Why Flow Control
    • On/Off Flow Control
    • Credit-Based Flow Control
    • Credit Initialisation
    • The Credit Loop and Buffer Sizing
    • Credit Classes and Pools
    • Credit Return Latency and Batching
    • Credit Bugs
    • Window Flow Control
    • Rate-Based Shaping
    • Hop-by-Hop or End-to-End
    • Lossless or Lossy
    • Switching Modes
    • Head-of-Line Blocking
    • Choosing Flow Control
    • Protocols Compared: Flow Control
    • Drills: Flow Control
  • 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 4: Flow Control
  1. Topics
  2. First Principles of Hardware Protocols
  3. Part 4: Flow Control
  4. Protocols Compared: Flow Control

Part 4 · Flow Control · All levels

Protocols Compared: Flow Control

How ten protocols and networks answer "how much may I send before I hear back?": nothing, ready, PAUSE, credits, windows or drops.

On this page

    Read across for one protocol; read down to see how the answers follow from how late the stop arrives and whether data may be lost.

    Flow control, side by side

    Protocol or network

    Mechanism

    Scope

    Lossless?

    UART, SPI

    None at the link level (UART may add RTS/CTS)

    Link

    Only if the receiver keeps up

    I2C

    Clock stretching; not acknowledging a byte

    Link

    Yes

    APB

    Wait states (PREADY)

    One transfer

    Yes

    AXI, AXI-Stream

    VALID/READY on each channel

    Per channel, per hop

    Yes

    On-chip networks

    Credits per virtual channel; wormhole switching

    Hop by hop

    Yes

    PCI Express

    Credits per type (posted, non-posted, completion; header and data), returned in UpdateFC packets; replay window for bit errors

    Hop by hop

    Yes (replay covers bit errors)

    InfiniBand, Fibre Channel

    Link-level credits

    Hop by hop

    Yes

    Classic Ethernet

    Drops when full; optional PAUSE (802.3x)

    Link

    No

    Ethernet for RDMA

    Priority flow control (802.1Qbb), PAUSE per class

    Link, per class

    Yes, with pause storms and deadlock to manage

    TCP

    Receiver-advertised sliding window

    End to end

    Recovers losses by resending

    What the table shows

    • Short, same-clock paths use ready-style signals (wait states, VALID/READY): the stop arrives within a cycle.

    • Long or pipelined links use credits, sized from the round trip, because a per-cycle stop would arrive too late.

    • Networks that span many hops choose between lossless and lossy: lossless fabrics (on-chip, PCIe, InfiniBand) must design out deadlock; lossy networks (Ethernet) recover at the ends.

    • Windows appear where acknowledgements already exist: TCP end to end, and the replay layers of reliable links.

    Where each idea is explained

    • 4.2 On/Off Flow Control

    • 4.3 Credit-Based Flow Control

    • 4.5 The Credit Loop and Buffer Sizing

    • 4.6 Credit Classes and Pools

    • 4.9 Window Flow Control

    • 4.12 Lossless or Lossy

    • 4.13 Switching Modes

    Tip

    For any link not in the table, ask the four questions of lesson 4.15: how late the stop arrives, whether data can be lost, whether the resource is shared, and whether the path is multi-hop.

    Keep going

    Next: Drills: Flow Control. Interview questions, a whiteboard exercise and a ten-question checkpoint for Part 4.

    Related topics

    • Part 4 overview: Flow Control

    • Course hub

    Previous

    66 / 234

    Next: Drills: Flow Control

    Up next

    Up nextDrills: Flow Control

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Why Flow Control
    • On/Off Flow Control
    • Credit-Based Flow Control