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
  • Reconvergence and Gray Coding16
    • Gray Code Crossing
    • Reconvergence Analysis
    • Multi-bit Crossing Strategies
      • Mux Recirculation
      • Handshake for Buses
      • Dual-Clock RAM
      • Qualified Capture
    • Reconvergence Debug
  • 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

‹Multi-bit Crossing Strategies
  1. Topics
  2. CDC & RDC
  3. Reconvergence and Gray Coding
  4. Multi-bit Crossing Strategies
  5. Qualified Capture

Part 4 · Reconvergence and Gray Coding · All levels

Qualified Capture

Capturing quasi-static buses with a qualifier, and the proof obligations that make it sound.

On this page

    Most multi-bit crossings are not streams: mode selects, calibration values, address offsets. These buses sit unchanged for thousands of cycles and move only in maintenance windows. Qualified capture crosses them almost for free: synchronise one qualifier and sample the stable bus with it. The saving is real and so is the obligation: the bus must really be stable.

    The structure

    The source changes the bus only while idle, then raises a qualifier that crosses through a synchroniser. The destination samples the bus directly (no per-bit synchronisers) on the qualified edge. Sampling an unsynchronised bus is sound here for exactly one reason: nothing on it is changing.

    Proof obligations

    Obligation

    What to show

    Bus stable around every qualifier

    No source path changes any bus bit from well before the qualifier until the capture settles, covering synchroniser latency and skew

    Qualifier itself clean

    Single-bit level or pulse synchroniser with the standard rules (registered source, no logic between flops)

    Change protocol quiesces first

    The maintenance window stops all qualifiers before touching the bus and re-arms after

    No hidden writers

    Every driver of every bus bit enumerated; no debug, test, or exception path writes outside the window

    Reset state consistent

    Bus and qualifier reset to a pair the destination may legally sample

    The fourth row fails most often in review: a scan dump, a firmware poke, or an error-injection path writes the “static” bus during operation. Each needs either exclusion by construction or its own quiesce rule.

    Common pitfall

    “Quasi-static” must be proven per bit, not per bus. One live bit (a heartbeat, a toggling reserved field) inside an otherwise static word tears the sample exactly like a fast bus. Either freeze the whole word or move the live bits to their own crossing.

    Check yourself A 32-bit trim bus is written once at boot and never again, with a lock bit that firmware sets after the write. How should it cross, and what proves it?

    Qualified capture: cross the lock (or a done strobe) as the qualifier and sample the bus with it. Prove the boot sequence writes the bus before raising the qualifier, nothing writes after the lock, and reset holds a legal default until boot completes.

    Related topics

    • Dual-clock RAM

    • Fixes using qualified capture

    Previous

    58 / 179

    Next: Reconvergence Debug

    Up next

    Up nextReconvergence Debug

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Mux Recirculation
    • Handshake for Buses