AR# 52137: 14.2 Kintex-7 Route - Hold router introduces small setup violations
AR# 52137
|
14.2 Kintex-7 Route - Hold router introduces small setup violations
描述
Cases have been seen where the Hold Router which fixes Hold violations at the end of routing will sometimes introduce Setup violations. The main indication of this problem is an increase in the Setup score at the end of routing.
Starting Router
Phase 1 : 380475 unrouted; REAL time: 6 mins 37 secs
Phase 2 : 265873 unrouted; REAL time: 7 mins 13 secs
Phase 3 : 81400 unrouted; REAL time: 13 mins 36 secs
Phase 4 : 81365 unrouted; (Setup:0, Hold:2528861, Component Switching Limit:0) REAL time: 14 mins 48 secs
Updating file: design.ncd with current fully routed design.
Phase 5 : 0 unrouted; (Setup:0, Hold:2406122, Component Switching Limit:0) REAL time: 19 mins 15 secs
Phase 6 : 0 unrouted; (Setup:0, Hold:2406122, Component Switching Limit:0) REAL time: 19 mins 15 secs
Phase 7 : 0 unrouted; (Setup:0, Hold:2406122, Component Switching Limit:0) REAL time: 19 mins 15 secs
Phase 8 : 0 unrouted; (Setup:0, Hold:2406122, Component Switching Limit:0) REAL time: 19 mins 15 secs
Phase 9 : 0 unrouted; (Setup:21, Hold:0, Component Switching Limit:0) REAL time: 21 mins 18 secs
Total REAL time to Router completion: 21 mins 19 secs Total CPU time to Router completion: 22 mins 2 secs
解决方案
This problem occurs because there is sometimes a small discrepancy in the timing numbers available to the Hold router compared to Trce. The router maintains a parameter that sets a margin of error (default 15 ps) that is meant to account for the timing discrepancy. For cases where the default value still allows Setup violations to be introduced, it is possible to increase the parameter to increase the margin for error. A recommended value is 50, but it should be at least 15 plus the largest Setup error introduced.
Linux: setenv XIL_PAR_RT_HOLD_MAXTHR 50
Windows: SET XIL_PAR_RT_HOLD_MAXTHR=50
For general information about setting ISE software environment variables, see (Xilinx Answer 11630).
There is also a data file patch attached for use with all versions of ISE 14.x for those that do not want to depend on an environment variable to change the parameter. Since this is a data file patch, it is compatible with all platforms. This patch changes the default value to 50.