Skip to guide

Chapter 1 of 3 · Clock, Reset, CDC and Power

Map domains and release reset safely

Record clock provenance, reset ownership, voltage, traffic, and state, then prove asynchronous assertion, local release, recovery, removal, and reset-domain crossings.

Watercolor of two clock domains joined by a small bridge of register blocks.
01

Domain atlas

Draw the boundaries before choosing circuitry.

Start with clock provenance, reset ownership, voltage, switchability, and payload direction. Frequency alone never tells you whether a crossing is synchronous.

Primary sourceCrystalIndependent sourceSensor clockElectrical + temporal boundaryCDC · RDC · isolation · level shift
Switchable consumer

Compute island

Clock
clk_compute · 500 MHz
Provenance
PLL output behind an ICG
Reset
Local release after power-good + PLL lock
Power
0.72 V · Switchable, selected state retained
Traffic
Configuration, samples, completion
Owned state
Filter pipeline, FIFO read side, retained mode
Signoff boundary
CDC + RDC + power-aware + clock-gating checks
Boundary ledger: every crossing receives four classifications
PayloadSource → destinationClock relationReset epochPower rule
mode_enAON → computeRelated while compute clock runsAON survives compute resetClamp before compute OFF
sample_eventSensor → AONIndependent clocksReject stale toggle epochBoth domains powered
config[31:0]AON → computeRelated bundled transferHandshake restarts after resetLevel shift + isolation
samplesSensor → computeDual-clock FIFOPointers converge from emptyDrain before compute OFF
02

Reset and RDC

Release locally. Reconnect deliberately.

Asynchronous assertion can force safety without a clock. Deassertion is a timed local event, and related state must not reconverge until reset epochs agree.

RDC release scopeSafe structure

clk_compute ↑ defines local release opportunities.

  1. rst_compute_nLocal reset deasserts before readiness is published.
  2. ↓ ready_aonAON readiness arrives first.
  3. ↓ ready_computeCompute readiness follows AON; local state must already be valid.
  4. ↓ traffic_enableTraffic waits for both readiness contracts.

Check recovery/removal, minimum reset pulse width, stage attributes, reset-tree timing, and no traffic before both readiness contracts are true.

clk_computerst_compute_nready_aonready_computetraffic_enable
Each domain releases reset on its own active edges.Power-good and PLL lock qualify the asynchronous request. A two-stage local chain then deasserts reset in each domain; traffic waits for synchronized domain-ready.

Put it into practice

Explain the decision behind the design.

Practice Clock, Reset, CDC and Power in the question bank

Continue the learning path

Next: CDC and clocks

Connect the adjacent layer

Continue across ASIC Design.