Reviewing Constraints Coverage - Reviewing Constraints Coverage - 2026.1 English - UG903

Vivado Design Suite User Guide: Using Constraints (UG903)

Document ID
UG903
Release Date
2026-07-01
Version
2026.1 English

When writing timing constraints, keep them simple and apply them only to relevant netlist objects. Inefficient constraints increase runtime, consume more memory, and can lead to improperly constrained designs.

Timing exceptions can unintentionally cover more paths than expected and conflict with other constraints. An efficient timing constraint uses the smallest number of objects necessary to accurately and safely cover the intended timing paths.

Full efficiency is not always possible because object lists often use name patterns for pins or cells. Even so, aim to minimize the number of objects in each timing exception.

Vivado provides several ways to evaluate the quality of timing exceptions:

  • Run methodology check XDCB-1 with report_methodology. This reports constraints referencing large collections of objects (over 1,000).
  • Run report_exceptions for coverage and collision details on defined timing exceptions.

AMD recommends that you carefully analyze the following reports:

  • Run report_exceptions -scope_override

    Reports scoped timing constraints partially or fully overridden by top-level constraints. However, it does not report scoped constraints overridden by another scoped constraint. Use this to verify that IP constraints are not overridden by user top‑level constraints.

  • Run report_exceptions –coverage to see timing exception coverage. This report shows logical path coverage for each timing exception. It compares the number of objects passed to the exception with the number of startpoints and endpoints covered. Review constraints where the object count differs significantly from the covered startpoints and endpoints.
  • Run report_exceptions –ignored to list timing constraints overridden by other constraints. For example, set_false_path overridden by set_clock_group. Review overridden constraints for correctness or remove any that are unnecessary.
  • Run report_exceptions –ignored_objects to list startpoints and endpoints ignored due to nonexistent paths from or to those objects.