A reset-domain crossing is a signal path whose launching flop and capturing flop sit under different resets. The clocks may even be the same: if the source can be reset while the destination keeps running, the path is an RDC crossing regardless of the clocks involved.
The corrupting event is the assertion of the source reset, and it needs no clock subtlety to do damage. When the source domain resets, its flops jump to their reset values at an arbitrary moment. A destination flop that samples the crossing around that moment captures a value mid-transition: part old state, part reset value. Even away from any edge, the destination keeps sampling the source's reset values as if they were live data, which is the reset-value leakage the isolation lesson guards against.
Situation | Is it an RDC crossing? | Why |
|---|---|---|
Same clock, different resets, signal passes between | Yes | Source reset can fire while the destination runs |
Different clocks, one shared reset released through per-domain synchronisers | Still needs review | Releases land cycles apart; ordering and protocol tolerance still apply |
Different clocks, different resets | Yes, and usually also a CDC crossing | Both the clock and the reset relationships need protection |
Same clock, same reset everywhere on the path | No | No reset can fire on one side only; ordinary timing applies |
Yes. Either reset can fire while the other side runs, so assertion timing, reset-value leakage, and release ordering all apply despite the shared clock.
Assertion changes the source flops' outputs at an arbitrary moment, so a destination sampling nearby captures a mid-transition value, and afterwards it keeps capturing reset values as though they were data.