Constraint Sets Apply Lists of Constraint Files to Your Design - 2021.1 English

Vivado Design Suite User Guide: Implementation (UG904)

Document ID
UG904
Release Date
2021-08-30
Version
2021.1 English

A constraint set is a list of constraint files that can be applied to your design in Project Mode. The set contains design constraints captured in XDC or Tcl files.

Allowed Constraint Set Structures

The following constraint set structures are allowed:

  • Multiple constraint files within a constraint set
  • Constraint sets with separate physical and timing constraint files
  • A master constraint file
  • A new constraint file that accepts constraint changes
  • Multiple constraint sets
Tip: Separate constraints by function into different constraint files to (a) make your constraint strategy clearer, and (b) to facilitate targeting timing and implementation changes.

Multiple Constraint Sets Are Allowed

You can have multiple constraint sets for a project. Multiple constraint sets allow you to use different implementation runs to test different approaches.

For example, you can have one constraint set for synthesis, and a second constraint set for implementation. Having two constraint sets allows you to experiment by applying different constraints during synthesis, simulation, and implementation.

Organizing design constraints into multiple constraint sets can help you:

  • Target various Xilinx devices for the same project. Different physical and timing constraints might be needed for different target devices.
  • Perform what-if design exploration. Use constraint sets to explore various scenarios for floorplanning and over-constraining the design.
  • Manage constraint changes. Override master constraints with local changes in a separate constraint file.
Tip: To validate the timing constraints, run report_timing_summary and report_methodology on the synthesized design. Fix problematic constraints before implementation!

For more information on defining and working with constraints that affect placement and routing, see this link in the Vivado Design Suite User Guide: Using Constraints (UG903).