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 Path
  • CDC/RDC Glossary
  • CDC/RDC Metrics Reference
  • CDC/RDC Interview Prep
  • CDC/RDC Signoff Cheatsheet
  • Clock Domains and Failure Modes8
  • Metastability and Synchronizers16
  • CDC Protocols and Handshakes16
    • Pulse Synchronizers
    • Handshake Protocols Across Domains
      • Four-Phase Req/Ack
      • Two-Phase Toggle
      • Valid/Ready Across Domains
      • Latency and Throughput
    • Async FIFO CDC
    • CDC Protocol Verification
  • Reconvergence and Gray Coding16
  • Reset Domain Crossing16
  • Architecture and Design Rules16
  • CDC Signoff Methodology24
  • RDC Signoff16
  • Debug and Case Studies11
  • CDC and RDC Interview Prep30
  • Capstone: Sign Off a Multi-clock Peripheral4
Loading lesson

‹Handshake Protocols Across Domains
  1. Topics
  2. CDC & RDC
  3. CDC Protocols and Handshakes
  4. Handshake Protocols Across Domains
  5. Latency and Throughput

Part 3 · CDC Protocols and Handshakes · All levels

Latency and Throughput

Round-trip cost in destination and source cycles, with a symbolic comparison of the options.

On this page

    Why it matters

    Protocol choice is a performance commitment: software timeouts, DMA pacing and interface rates all follow from it. Signoff reviewers therefore ask for the cost in writing, counted in clock cycles of each domain. This lesson counts symbolically so the numbers stay valid whatever the frequencies are; no invented cycle counts appear here.

    Counting the round trip

    Let N be the synchroniser latency in destination cycles (typically 2 to 3) and M the synchroniser latency in source cycles. Each one-way crossing of a control signal costs its synchroniser latency plus about one cycle of endpoint logic. A four-phase word pays two one-way crossings in each direction:

    Diagram
    symbolic round-trip cost per word (N, M = synchroniser latencies in
    destination and source cycles; L = endpoint logic, ~1 cycle each end)
    four-phase: 2 x (N + L) destination cycles + 2 x (M + L) source cycles
    two-phase:  1 x (N + L) destination cycles + 1 x (M + L) source cycles
    toggle pulse: N + L destination cycles one way (no return path)
    async FIFO word: ~(N + L) cycles of flag latency, then one word per cycle

    Option

    Cycles per word (symbolic)

    Sustained rate

    Use when

    Four-phase handshake

    2N + 2M plus logic

    One word per round trip

    Occasional words; simplest review

    Two-phase handshake

    N + M plus logic

    One word per half round trip

    Steady control traffic

    Toggle/stretch pulse

    N one way

    One event per 2+ destination periods

    Events without payloads

    Async FIFO

    Flag latency once, then full rate

    Up to one word per slower clock

    Streams and bursts

    Two worked readings of the same formula show how it is used. With N = 3 destination cycles and M = 3 source cycles, a four-phase word costs about 12 cycles of the round trip plus endpoint logic: roughly a dozen cycles on each side. Recompute from the other end: each direction carries two crossings (there and return-to-zero), each crossing costs one synchroniser latency, so the round trip is 2N destination-side and 2M source-side by construction. Both countings agree, as they must.

    What the checks look for

    Reviewers compare the stated throughput against the producer's peak rate: if the source can offer words faster than one per round trip, the design needs back-pressure (a ready flag) or a FIFO, not a bare handshake. Verification measures the achieved rate in simulation and confirms it matches the symbolic count within the expected synchroniser variation.

    Common mistakes

    Common pitfall

    Quoting latency in nanoseconds for one frequency pair and letting software depend on it. State N and M in cycles per domain so the budget survives frequency scaling, and re-check any power mode that slows a clock.

    Check yourself A four-phase link has N = 2 and M = 2 with one logic cycle per endpoint visit. About how many source cycles pass per word?

    Two ack crossings at 2 cycles each plus two endpoint visits: about 2 x (2 + 1) = 6 source cycles, alongside a similar destination-side cost. Streams needing more than this rate want a FIFO.

    Related topics

    • Two-phase toggle

    • FIFO depth sizing

    Previous

    38 / 179

    Next: Async FIFO CDC

    Up next

    Up nextAsync FIFO CDC

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Four-Phase Req/Ack
    • Two-Phase Toggle