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™