CDC-50011: Combinational Logic Before Synchronizer Chain

Description

A CDC transfer has logic between its source and destination, and there is no handshake for the transfer. Without a handshake, the destination of the transfer behaves as the head of a synchronizer chain. However, a chain can only synchronize a signal that is the output of a register, not the output of combinational logic.

Recommendation

If you want to negotiate this transfer by a handshake, attach it to a handshake. If the destination of the transfer is to act as a synchronizer chain, either remove the combinational logic on the transfer, or add a register after the combinational logic, with the register clocked by the source clock of the CDC transfer.

Severity

High

Device Family

  • Intel® Cyclone® 10 GX
  • Intel® Arria® 10
  • Intel® Stratix® 10
  • Intel® Agilex™