Timing analysis and CDC
With a 1.0 ns clock, flip-flops are connected A→B→C. A→B needs 1.2 ns including clock-to-output delay and setup time, while 0.8 ns is enough for B→C. To meet setup on both by intentionally using skew, what should be done to B's clock (assume the clocks of A and C arrive at the same time)?
- AAdvance it by 0.2 ns
- BDelay it by 0.4 ns
- CDelay it by 0.2 ns
Show answer and explanation
Answer: C. Delay it by 0.2 ns
Delaying B's clock by 0.2 ns delays capture on A→B, giving it 1.0 + 0.2 = 1.2 ns. On B→C, launch is delayed, leaving 1.0 − 0.2 = 0.8 ns, but only 0.8 ns is needed, so this is enough. Skew introduced intentionally like this is called useful skew. Delaying by 0.4 ns leaves B→C only 0.6 ns, a violation, and advancing the clock makes A→B even tighter. Whenever skew is changed, hold must also be checked.