Timing analysis and CDC

What constraint applies when passing pulses from a fast clock domain to a slow one with toggle synchronization?

  1. AThe interval before the next pulse must be at least the several cycles the receiving side needs to finish detecting the change
  2. BThe pulse width must be stretched to at least 1.5 times the receiving clock period
  3. CThe sending and receiving clock frequencies must be in an integer ratio
Show answer and explanation

Answer: A. The interval before the next pulse must be at least the several cycles the receiving side needs to finish detecting the change

Toggle synchronization does not lose events even with short pulses, but if the next pulse arrives before the receiving side has finished detecting the change over the several synchronization cycles, the toggle signal goes 0→1→0 and both events may become invisible. For example, if the receiving side runs at 100 MHz and needs 3 cycles to detect a change, pulses must be spaced roughly 30 ns or more apart. When the spacing cannot be guaranteed, use a handshake that waits for the receiver's response, or an asynchronous FIFO. Neither pulse stretching nor a condition on the frequency ratio is required.

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. In a four-phase handshake using req and ack, what is the correct signal sequence for passing one data item?
  2. Which is a drawback of transferring data between clock domains with a handshake?
  3. Why are the write and read pointers of an asynchronous FIFO converted to Gray code before being synchronized into the other domain?
  4. What is the 4-bit binary value 0110 (decimal 6) converted to Gray code?
  5. In a 16-word-deep asynchronous FIFO, why are the write and read pointers made 5 bits, one bit more than the address?