Design constraints set the requirements the compilation flow must meet for the design to function 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. The implementation flow uses physical constraints only during optimization, placement, and routing.
Proper timing constraints are essential because they drive synthesis and implementation algorithms. 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, refer to 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