If constraints overlap (for example, if several timing exceptions are applied to the same path), the priority from highest to lowest is:
- Clock Groups (
set_clock_groups
) - False Path (
set_false_path
) - Maximum Delay Path (
set_max_delay
) and Minimum Delay Path (set_min_delay
) - Multicycle Paths (
set_multicycle_path
)
Note: The
set_bus_skew
constraint does not affect the above constraints
precedence. The set_bus_skew
constraint does not override and is not
overridden by clock groups, max delays, false paths, and multicycle paths. The reason is
that the bus skew is not a constraint on a particular path, but a constraint between
paths.Note: The priority between the False Path, Maximun/Minimum Delay and Multicycle Path can be
altered using the option
-reset_path
. The Clock Group constraint cannot
be overriden. A Maximum/Minimum Delay or Multicycle Path constraint can only override a
previously defined False Path or Maximum/Minimum Delay constraint when both constraints
are defined with the exact same arguments for
-from
/-to
/-through
and the latest
constraint uses -reset_path
.In addition, for the same type of exception, the more specific the constraint, the higher the precedence. Depending on the filtering options and the type of objects used in the constraint, you can modify the specificity of a constraint.
The priority rule for the objects is:
- Ports, pins, and cells
Pins of a cell are used instead of the cell itself.
- Clocks
Clocks always have lower priority than ports, pins, and cells. A timing exception that uses clock object(s) always has a lower priority than another timing exception defined with ports, pins, and cells.
The precedence rule for the filters, from highest to lowest, is:
-
-from
-through
-to
-
-from
-to
-
-from
-through
-
-from
-
-through
-to
-
-to
-
-through
Important: Note that cells used in either the -from or
-to, always have a higher precedence than a clock even if the clock is used in a more
specific case of -from -through -to.