6.4.5. Evaluate Other Reports and Adjust Settings Accordingly
Difficulty Packing Design
As the effort level of Difficulty Packing Design increases, timing closure gets harder. Going from medium to high can result in significant drop in performance or increase in compile time. Consider reducing logic to reduce packing difficulty.
Review Ignored Assignments
Review Non-Default Settings
Review the Design Floorplan
For example, logic that interfaces with I/Os should be close to the I/Os, and logic that interfaces with an IP or memory should be close to the IP or memory.
The following notes describe use of the visualization in Floorplan with Color-Coded Entities:
- The green block is spread apart. Check to see if those paths are failing timing, and if so, what connects to that module that could affect placement.
- The blue and aqua blocks are spread out and mixed together. Check if connections between the two modules contribute to this.
- The pink logic at the bottom must interface with I/Os at the bottom edge. Check fan-in and fan-out of a highlighted module by using the buttons on the task bar. Look for signals that go a long way across the chip and see if they are contributing to timing failures.
- Check global signal usage for signals that affect logic placement, and verify if the Fitter placed logic feeding a global buffer close to the buffer and away from related logic. Use settings like high fan-out on non-global resource to pull logic together.
- Check for routing congestion. The Fitter spreads out logic in highly congested areas, making the design harder to route.
Adjust Placement Effort
Adjust the multiplier after reviewing and optimizing other settings and RTL. Try an increased value, up to 4, and reset to default if performance or compile time does not improve.
Adjust Fitter Effort
By default, the Fitter Optimization mode is set to Balanced (Normal flow) mode, which reduces Fitter effort and compilation time as soon as timing requirements are met. You can optionally select another Optimization mode to target performance, area, routability, power, or compile time.
To increase Fitter effort further, you can also enable the Assignments > Settings > Compiler Settings > Advanced Settings (Fitter) > Fitter Effort option. The default Auto Fit setting reduces Fitter effort once timing requirements are met. Standard Fit (highest effort) setting uses maximum effort regardless of the design's requirements, leading to higher compilation time and more timing margin.
Review Timing Constraints
To confirm the proper application of timing constraints, run the Design Assistant and then review and correct any timing constraint rule violations. In addition, you can review the Ignored Constraints report to locate any constraints assigned to invalid node names in the design. These invalid node names are most commonly caused by changes that you make in the design hierarchy that are not yet reflected in the constraint. Similarly, review the Report Unconstrained Paths report to locate unconstrained paths. Add constraints as necessary so that the Compiler can fully optimize the design.