UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 34898

14.x Timing-PAR takes a long time fixing hold time problems

Description

Place and Route can take hours fixing hold time problems at the end of the process.

Sometimes the job does not finish.

What can be done to speed this up?

Solution

The timing driven Place and Route does take some time to implement the design. 

The run time also depends on the device; high run time is expected for a bigger device with less RAM size.

Below are some possible causes of high hold errors.

 

  1. If clocks are brought in on CC (Clock Capable) pins and then routed to BUFGs.
    There is no direct route from a CC pin to a BUFG, so this leads to a long delay in the clock route which leads to the hold errors. 
    You will need to move these clock inputs to GC (Global Clock) pins or change the buffers to BUFIO and/or BUFRs, depending on what you are clocking with these clocks.

  2. Period constraint on input clocks of BUFGMUX.
    The output clock of BUFGMUX has two constraints, so please use a priority construct.  
    The input PERIOD constraints must be related for the PRIORITY keyword to impact the analysis correctly.
    Here is the example syntax for using the priority keyword in ucf:
     
    TIMESPEC "TS_Clk0" = PERIOD "clk0_grp" 10 ns HIGH 50% PRIORITY 2;
    TIMESPEC "TS_Clk2X" = PERIOD "clk2x_grp" TS_Clk0 / 2 PRIORITY 1;

Note: Hold time violation could potentially be caused by great positive clock skew, which is caused by improper clock routing.

AR# 34898
Date Created 04/06/2010
Last Updated 07/09/2014
Status Active
Type Known Issues