CDC / RDC · All levels

Gray Code Crossing: Worked Example

Worked Example for Gray Code Crossing.

Worked example

Worked Example for Gray Code Crossing focuses on single-bit transition compliance, pointer decode correctness, CDC flag integrity. The goal is to convert issue observations into mechanism-backed closure decisions.

A milestone review shows single-bit transition compliance, pointer decode correctness, CDC flag integrity. Teams disagree on severity. The right move is to isolate one representative issue, prove mechanism class, and decide fix or waiver with explicit residual risk.

Crossing under inspection

diagram
CROSSING FLOW — Gray Code Crossing

source clock domain -> launch signal -> crossing structure -> destination sample
      |                    |                 |                    |
   source FF           protocol           sync / fifo         destination FF

Key metric: single-bit transition compliance, pointer decode correctness, CDC flag integrity

Gray transition property

diagram
binary:  0111 -> 1000 (4 bit changes)
gray:    0100 -> 1100 (1 bit change)

One-bit transition reduces sampled ambiguity in crossing.
  1. Capture warning, waveform, and owning module context.

  2. Tag mode/reset/traffic state for the failure.

  3. Validate assumptions against spec and assertions.

  4. Compare outcome with gray encode/decode checks, pointer transition proof, FIFO status tests.

  5. Choose one reversible action and define regression upfront.

Did the action work?

diagram
BEFORE / AFTER — Gray Code Crossing

open critical issues
  ^
  |  o baseline
  |     o after fix batch
  |         o after protocol proof
  |             o signoff-ready
  +---------------------------------> closure iteration

Track issue burn-down with evidence quality, not only count.

CDC/RDC deep dive

Reconvergence failures are timing + logic coupling hazards.

Concept diagram

diagram
RECONVERGENCE

branch A sync --                 -> merge logic -> illegal combination window
branch B sync --/

Metric graph

diagram
HAZARD REPRODUCTION RATE

before fix: 1/2000 runs
after fix: 0/100000 runs

Reports and artifacts

  • reconvergence warnings

  • gray transition checks

  • hazard replay traces

  • multi-bit strategy map

Mini case study

Gray pointer was legal, but downstream merge decoded mixed-era values during burst stress.

Debug branches

  • Trace fanin cones

  • align event windows

  • verify decode assumptions

Senior review question

Ask: what evidence proves this risk is closed for silicon, not just tool-clean?

Key takeaways

  • State crossing class, assumptions, and owner with every issue.

  • Run structural and dynamic regressions after each fix.

Common pitfalls

  • Treating all warnings as equivalent risk.

  • Waiving issues without containment evidence.

  • Skipping reset and reconvergence stress after CDC fixes.

Principal CDC/RDC review addendum

Gray encoding limits transitions to one bit per step, reducing sampled ambiguity when pointers cross asynchronous boundaries.

Metric: single-bit transition compliance, pointer decode correctness, CDC flag integrity