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. Power-On and Warm Reset

Part 5 · Reset Domain Crossing · All levels

Power-On and Warm Reset

Power-on reset versus warm and soft reset and domain-specific resets: what each should and should not clear.

Not every reset means the same thing. A power-on reset starts from an unknown world: no clocks, unknown flop states, uninitialised memories. A warm or soft reset restarts operation while the chip is alive: clocks run, configuration is programmed, and some state must survive. Treating them identically either clears state that should survive or keeps state that should be rebuilt.

Power-on reset

Warm / soft reset

Domain-specific reset

When

Supply ramps, chip starts

Firmware or watchdog restarts operation

One block restarts while neighbours run

Clocks

May not exist yet

Running and stable

Running

Must clear

All control state, FSMs, valid bits

Protocol state, datapath valids, error sticky bits per spec

That block's protocol and control state

Must preserve

Nothing can be assumed

Programmed configuration, calibration, debug trace

Shared configuration and neighbour state

Release basis

After stabilised clocks plus ordered sequence

Quick, but still synchronised per domain

Sequenced against the blocks it talks to

What goes wrong

  • A warm reset that clears configuration forces a full reprogramming cycle the system did not budget for, and the first transactions after release use default settings instead of tuned ones.

  • A warm reset that keeps protocol state resumes a conversation the other side has forgotten: sequence numbers, credits, or handshake phase disagree from the first word.

  • A domain-specific reset without isolation and release ordering hits its running neighbours with reset values and early traffic, the failures the previous three lessons describe.

The practical rule is to list, per reset kind, which registers it touches and which it must leave alone, and to review that list like an interface: every preserved register is a promise to the next power-up or the next warm boot, and every cleared one is a promise that nothing downstream depended on its old value.

Tip

Give each reset kind its own synchronised distribution even when they share a source pin: power-on, warm, and per-domain resets have different release conditions (clocks stable, peers ready), so sharing one release path forces the strictest condition on all of them.

Check yourself A warm reset clears a link's credit counters on one side only. What happens on the first transfer after release?

The sides disagree about available credit: one side believes the link is empty while the other still counts old grants, so transfers stall or overflow. Warm resets must return shared protocol state to a mutually known point.

Check yourself Why must a domain-specific reset still follow release ordering with its neighbours?

Because its neighbours keep running: they see its reset values during the reset and its first traffic after release. Without isolation during, and ordering after, the reset corrupts live neighbours exactly like a badly sequenced power-up.

Related topics

  • Reset isolation

  • RTL: Reset Architecture

Previous

70 / 179

Next: RDC Structural Checks

Up next

Up nextRDC Structural Checks

Sign in to save progress

Practice this lessonReport an error

See also

  • Release Order Across Domains
  • Reset Isolation