Timing analysis and CDC

Which is the correct structure of a reset synchronizer that generates, from an active-low external reset, an internal reset that is "asserted asynchronously and deasserted synchronously"?

  1. AConnect the external reset to the asynchronous reset pins of two flip-flops, tie the first stage's D input to 1, and use the second stage's output as the internal reset
  2. BSynchronize the external reset by feeding it into the D inputs of two flip-flops, and use only that output as the internal reset
  3. CUse the AND of the external reset and the clock directly as the internal reset
Show answer and explanation

Answer: A. Connect the external reset to the asynchronous reset pins of two flip-flops, tie the first stage's D input to 1, and use the second stage's output as the internal reset

When the external reset goes to 0, the two flip-flops are immediately cleared to 0 through their asynchronous reset pins without waiting for the clock, and the internal reset is asserted. After the external reset returns to 1, the 1 on the first stage's D input shifts one stage per clock, and on the second clock the second stage's output becomes 1, releasing reset. The release is aligned to the clock, and even if the first stage goes metastable, one period is secured for it to resolve before it reaches the second stage. Synchronizing only through the D input does not apply reset while the clock is stopped.

Practice this topic Back to topic

Books on Timing analysis and CDC Ad

As an Amazon Associate I earn from qualifying purchases.

More Timing analysis and CDC questions

  1. Two control signals from the same sending domain are each received through a separate two-stage synchronizer and ANDed on the receiving side. What is the problem with this design?
  2. Why is checking with a CDC verification tool considered necessary even when STA and RTL simulation have been done?
  3. Why can it be a problem to leave the paths that carry an asynchronous FIFO's Gray code pointers to the other domain unconstrained (false path) just because they are asynchronous?
  4. In a synchronous circuit with a clock period of 2.0 ns, the launching flip-flop's clock-to-output delay is 0.2 ns, the combinational logic delay is 1.4 ns and the capturing flip-flop's setup time is 0.1 ns. With zero clock skew, what is the setup slack?
  5. On a flip-flop-to-flip-flop path, the clock-to-output delay is 0.15 ns, the maximum combinational logic delay is 2.2 ns and the setup time is 0.15 ns. Ignoring skew and clock uncertainty, what is the maximum clock frequency at which this path can operate?