Although the 7 series and UltraScale architectures differ in terms of clock architectures, some general clock considerations apply to both families:
- Do not use the CLOCK_DEDICATED_ROUTE=FALSE constraint in a production 7 series design. Use CLOCK_DEDICATED_ROUTE=FALSE only as a temporary workaround to a clock
failure only to produce an implemented design in order to view
the clocking topology for debugging. Clock paths routed with fabric interconnect can
have high clock skew and be impacted by switching noise, leading to poor performance
or non-functional designs. In the following figure, the right side has a dedicated
clock route, while on the left side, the dedicated route is disabled for clock.Figure 1. Comparison of Fabric Clock Route versus Dedicated Clock Route
- Do not allow regional clock buffers (BUFR/BUFIO/BUFH) to drive logic in several clock regions as the skew between the clock tree branches in each region will be very high. Remove inappropriate LOC or Pblock constraints to resolve this situation.