Because placement typically has the greatest impact on overall design maximum clock frequency, applying different placer directives is one of the first techniques that should be tried to reduce congestion. Consider running the alternate placer directives without any existing Pblock constraints in order to give more freedom to the placer to spread the logic as needed.
Several placer directives exist that can help alleviate congestion by spreading logic throughout the device to avoid congested regions. The SpreadLogic placer directives are:
- AltSpreadLogic_high
- AltSpreadLogic_medium
- AltSpreadLogic_low
Other placer directives or implementation strategies might also help with alleviating congestions and should also be tried after the placer directives mentioned above.
To compare congestion for different placer directives either run the
Design Analysis Congestion report after place_design
,
or examine the initial estimated congestion in the router log file.
Routing has less impact on congestion than placer directives. However, in some cases it is useful to attempt different routing directives. The following directive ensures that the router works harder to access more routing and relieve congestion in the interconnect tiles:
- AlternateCLBRouting
For more information, see this link in the Vivado Design Suite User Guide: Implementation (UG904).