The Report Exception command can generate a list of invalid startpoints and endpoints for each of the timing exception constraints. Invalid startpoints and endpoints are ignored by the Vivado tool because timing paths can neither originate from those startpoints nor end on those endpoints. The ignored pins are reported by report_exceptions -ignored_objects
.
To illustrate, set the following timing constraints on the small example design:
create_clock -period 10.000 -name clk [get_ports clk]
set_false_path -from [get_cells int10_reg] -to [get_cells int20_reg]
set_false_path -from [get_pins int11_reg/*] -to [get_pins int21_reg/*]
WARNING: [Constraints 18-402] set_false_path: 'int11_reg/CE' is not a valid startpoint.
Resolution: A valid start point is a main or generated clock pin or port, a clock pin of a sequential cell, or a primary input or inout port. Please validate that all the objects returned by your query belong to this list.
- The first
set_false_path
constraint uses theget_cells
command. The Vivado tool converts the cell(s) fromget_cells
into pins using only valid startpoint or endpoint pins. This ensures that the constraint refers only to valid objects. - The second
set_false_path
constraint uses theget_pins
command and forces all the register pins for-from
and-to
. This results in several invalid pins for both-from
and-to
.
The following figure shows the report from report_exceptions -ignored_objects
.