Reconvergence is about agreement, not settling. Each synchroniser in the design does its own job: it takes one signal across and delivers a clean, settled copy a few cycles later. Reconvergence asks the next question: when two of those copies meet again in destination logic, do they still describe the same source moment? If the two paths took a different number of cycles, the answer is no for the cycles in between.
The two paths diverge at the source register and reconverge at the first destination gate they share. Everything between those points is the skew window: sampling-edge alignment, synchroniser depth differences, and routing delay all move the two arrivals apart.
Each chain samples the source change on the first destination edge after it arrives, and the two chains can straddle a change on different edges when the change lands near the clock edge.
The chains may have different depths (two flops on one path, three on another), which offsets them by whole cycles structurally.
Downstream destination logic after one chain but not the other adds further offset before the two meet.
None of this is metastability: every flop involved settles correctly. The failure is a legal 0 and a legal 1 arriving in the wrong combination.
Metastability | Reconvergence | |
|---|---|---|
Where | Inside one sampling flop | At the meeting point of two settled paths |
Symptom | Late or unpredictable resolution of one bit | A combination of correct bits that never coexisted |
Fix direction | More settling time (extra flop stages) | Less independence (one crossing, derive the rest locally) |
The AND can output 1 a cycle early or late relative to the intended combination, or see 10 or 01 mixtures, because the two synchronised copies arrive on different destination cycles. Lengthening the pulse fixes missing, not skew.