Design constraints define the requirements that must be met by the compilation flow for the design to be functional in hardware. For complex designs, constraints also define guidance for the tools to help with convergence and closure. Not all constraints are used by all steps in the compilation flow. For example, physical constraints are used only during the implementation steps: optimization, placement, and routing.
Because synthesis and implementation algorithms are timing-driven, creating proper timing constraints is essential. Over-constraining or under-constraining your design makes timing closure difficult. You must use reasonable constraints that correspond to your application requirements. For more information on constraints, see the following resources:
- Vivado Design Suite User Guide: Design Analysis and Closure Techniques (UG906)
- Applying Design Constraints video tutorials available from the Vivado Design Suite Video Tutorials web page