This example shows how to apply timing exceptions and use the
report_exceptions command to identify how those constraints affect
the design. The design is fully constrained, with clock and I/O delays defined relative
to clk.
Figure 1. Fully Constrained Design for Timing Exception Example

- Select .
- In the Timing
Constraints window, add the following timing exceptions to
the design:
set_multicycle_path 3 -from [get_cell int10_reg] -to [get_cell int20_reg] set_multicycle_path 4 -to [get_cell int20_reg] set_false_path -from [get_ports in6] -to [get_cell int20_reg] set_false_path -to [get_ports out5] set_false_path -to [get_cells int21_reg] set_false_path -from [get_ports in6] -to [get_ports out6] set_max_delay 5 -to [get_ports out6] set_min_delay 3 -from [get_cells int10_reg] -to [get_cell int20_reg]The Timing Constraints window now displays each applied constraint and assigns a position number to each.
- Run the
report_exceptionsTcl command in the console.
- Review the Report Exceptions Output. The report shows the
following:
- Position
- The constraint's position number, which matches the order in the Timing Constraints window
- From, Through, and To
- The pattern or object used with the
*-from,*-through, or*-tooptions (an asterisk means the option wasn't used) - Setup and Hold
- Which checks the constraint applies to, including the
following:
-
cycles=forset_multicycle_path -
falseforset_false_path -
max=forset_max_delay -
max_dpo=forset_max_delay -datapath_only -
min=forset_min_delay -
clock_group=forset_clock_group
-
- Status
- Describes whether the constraint is partially or fully
overridden, and which type of exception caused it.
-
MCP= multicycle path -
FP= false path -
MXD= max delay -
MND= min delay -
CG= clock group
-
Note: The clock group is only reported in the
Status column of the
report_timing
-ignored command when a clock group constraint overrides another timing
exception.Examples from the Report
- Position 5:
set_multicycle_path 4 -to [get_cell int20_reg]is partially overridden by the following exceptions:- Position 4:
set_multicycle_path 3 -from [get_cell int10_reg] -to [get_cell int20_reg] - Position 6:
set_false_path -from [get_ports in6]-to [get_cell int20_reg]
- Position 4:
- Position 10:
set_max_delay 5 -to [get_ports out6]is partially overridden by the following exceptions:- Position 9:
set_false_path -from [get_ports in6] -to [get_ports out6]
- Position 9:
These messages help you understand how higher-priority exceptions affect lower-priority ones. Use this report to troubleshoot unintended overrides in complex constraint sets.