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
    • MTBF & Synchronizer Math
    • Two-Flop Synchronizers in Practice
      • Structure and Rules
      • No Logic Between Flops
      • Level and Pulse Signals
      • Simulation Models and X
    • Multi-bit CDC Hazards
    • Synchronizer Selection Guide
  • CDC Protocols and Handshakes16
  • 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

‹Two-Flop Synchronizers in Practice
  1. Topics
  2. CDC & RDC
  3. Metastability and Synchronizers
  4. Two-Flop Synchronizers in Practice
  5. Structure and Rules

Part 2 · Metastability and Synchronizers · All levels

Structure and Rules

Two destination-clock flops in series, the role of each flop, and the five usage rules.

On this page

    A single-bit level crossing needs exactly one structure: two flip-flops in series, both clocked by the destination clock, with the source feeding the first flop directly. Everything in this topic is a consequence of that circuit.

    Source flop feeding two destination-clock flops in series, then destination logic.
    Two-flop synchroniser: the source flop feeds the first destination flop directly, and only the second flop drives destination logic.

    The first flop is the sacrificial one: it takes the timing hit, and if the source changes inside its window it has one full destination period to resolve. The second flop samples a settled value. The design uses only the second flop's output, so downstream logic never sees a hovering signal.

    The five rules

    1. Source is a registered output in its own domain. The crossing starts at a flop, so the signal travels glitch-free to the synchroniser.

    2. No logic between the flops, and none between the source flop and the first flop. Any gate in the path can glitch or stretch the wire and eat the resolution time.

    3. Both flops on one destination clock. The full period of settling time exists only if the same clock samples twice.

    4. Flops placed together so the wire between them is short; a long route steals resolution time.

    5. Never read the first flop. No branch, no debug tap, no fanout of it into destination logic.

    Latency is two to three destination cycles from source change to visible output. That delay is the price of the settling time and must appear in every protocol budget.

    What the tools check

    Structural analysis looks for exactly this shape: a single-bit crossing whose destination side is two or more back-to-back flops on one clock, fed directly by a source flop, with the synchroniser identified to the flow so optimisation and retiming leave it alone. Missing identification, logic in the path, or a tap on the first flop are reported as violations.

    Common pitfall

    A debug tap on the first flop is still a use of the first flop. Route debug from the second flop's output instead, even if the tap seems harmless.

    Interview

    Draw both flops with their clock, cross out any gate between them, and state the tap rule. Interviewers then usually ask about multi-bit buses, which is the next topic of this section.

    Check yourself A designer feeds the first flop from a combinational decoder output in the source domain. Which rule breaks, and why does it matter?

    The registered-source rule. The decoder output can glitch as its inputs settle, and the first flop may capture a glitch as if it were data. Register the signal in the source domain first.

    Check yourself Why must both flops share one clock? Would a faster second clock not sample sooner?

    The settling budget is the time between the two sampling edges. With two different clocks that spacing is uncontrolled, so the resolution time the MTBF argument relies on no longer exists.

    Related topics

    • No Logic Between Flops

    • RTL: Metastability and Synchronisation

    Previous

    19 / 179

    Next: No Logic Between Flops

    Up next

    Up nextNo Logic Between Flops

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Level and Pulse Signals
    • Simulation Models and X