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
  • Reset Domain Crossing16
    • Reset Deassertion CDC
    • Reset Sequencing
      • Release Order Across Domains
      • Reset Isolation
      • Async Reset Into Sync Logic
      • Power-On and Warm Reset
    • RDC Structural Checks
    • Reset Debug Playbook
  • 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

‹Reset Sequencing
  1. Topics
  2. CDC & RDC
  3. Reset Domain Crossing
  4. Reset Sequencing
  5. Release Order Across Domains

Part 5 · Reset Domain Crossing · All levels

Release Order Across Domains

Why release order matters, who must come out of reset first, and how to enforce it by design.

Reset synchronisers align each release to its own clock, but they say nothing about the order in which domains wake up. Two domains can each release perfectly and still be incompatible for several cycles: the producer is already sending while the consumer's flops are still held in reset, so the first words land nowhere.

The general rule is receivers before senders. A consumer must be out of reset, with its handshake or FIFO pointers in their idle state, before its producer starts traffic. Memory controllers come up before the CPUs that use them; clock-status logic comes up before anything that depends on the clock being stable. The full power-up sequence, including the PLL-lock wait, is worked through in Reset Architecture.

How to enforce the order

  1. A reset sequencer releases domain resets in dependency order with gaps between them, so each block is stable before the next starts.

  2. Ready flags between blocks: each block announces it has left reset and is idle, and no block starts traffic until its peer's flag is set.

  3. Software-gated start: the last step of the sequence enables traffic explicitly rather than letting each block free-run out of reset.

Ordered release with a ready flag from consumer to producer.
The consumer leaves reset first, announces readiness, and only then does the producer start traffic.

Common pitfall

Releasing interacting domains in the same cycle of their own clocks is not the same time on two unrelated clocks, and it still starts the producer before the consumer is ready. Same-cycle release is not sequencing; ordered release with a ready check is.

Interview

“Who comes out of reset first?” Receivers before senders, infrastructure (clocks, memories) before users. Enforce it with a sequencer plus ready flags, and be ready to say why same-cycle release is not an answer.

Check yourself A producer and consumer leave reset on the same cycle of their own unrelated clocks. Why can the first word still be lost?

Same-cycle on unrelated clocks is not simultaneous, and nothing guarantees the consumer's idle state is established before the producer sends. Order plus a ready flag is needed, not just synchronised releases.

Check yourself Name two mechanisms that enforce release order.

A reset sequencer that staggers the releases in dependency order, and ready flags so no block starts traffic before its peer announces it is out of reset and idle.

Related topics

  • Reset isolation

  • RTL: Reset Architecture

Previous

67 / 179

Next: Reset Isolation

Up next

Up nextReset Isolation

Sign in to save progress

Practice this lessonReport an error

See also

  • Async Reset Into Sync Logic
  • Power-On and Warm Reset