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.

Figure 1. Combinational logic before synchronizer.

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.

Figure 2. Proper technique to synchronize combinational logic.

Severity

High

Tags

Tag Description
synchronizer Design rule checks related to synchronizer chains.

Device Family

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