CDC / RDC · All levels

Async FIFO CDC: Software / Programmer View

Software / Programmer View for Async FIFO CDC.

RTL / implementation view

State machine contracts must encode eventual delivery and backpressure.

What designers feel

  • Intermittent sync failure

  • mode-dependent startup hangs

RTL structure impact

  • state machine handshake discipline

  • reset release assumptions

  • cross-domain data packaging

Synthesis interaction

  • retiming can invalidate implicit assumptions

  • lint clean does not imply CDC-safe

RTL-side mitigations

  • explicit synchronizer wrappers

  • protocol assertions

  • reset sequence tests

diagram
RTL VIEW — Async FIFO CDC
// ensure crossing intent and protocol assumptions are explicit in module contract

Implementation layers touched

diagram
CDC/RDC OWNERSHIP LAYERS — Async FIFO CDC

layer                 owns                            common failure
------------------    -----------------------------   -----------------------------
design intent         crossing architecture           wrong topology selected
protocol semantics    req/ack, fifo, ordering        liveness/deadlock bugs
reset behavior        assert/deassert sequencing      boot instability
analysis setup        tool rules + waivers            false confidence
signoff governance    risk acceptance + dashboard     stale critical waivers

CDC/RDC deep dive

Protocol correctness is the bridge between structural clean and functional safe.

Concept diagram

diagram
PROTOCOL FLOW

intent -> transport protocol -> synchronization -> destination acceptance

Metric graph

diagram
PROTOCOL ISSUE BURNDOWN

open issues: 20 -> 11 -> 5 -> 0

Reports and artifacts

  • FIFO pointer proofs

  • req/ack liveness

  • pulse miss checks

  • protocol assertions

Mini case study

Async FIFO empty/full logic looked correct until gray decode mismatch appeared during reset overlap.

Debug branches

  • Pointer sync audit

  • formal liveness checks

  • reset interaction review

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

Async FIFOs decouple domains with gray-coded pointers and synchronized status logic; correctness depends on pointer math, full/empty rules, and reset behavior.

Metric: overflow/underflow risk, pointer synchronization integrity, latency throughput