The following are additional query recommendations:
- Avoid using
all_registerswhenever possible. This command often returns large collections of objects, which can impact performance. Replace it withget_cellsorget_pinsusing specific name patterns to limit the scope of the query. - Use clock objects instead of
all_registers -clockwhen gathering all sequential elements in a clock domain. This provides equivalent coverage and is far more efficient. For example, use the first optimal command instead of the one that follows:set_multicycle_path –from [all_inputs] –to [get_clocks clk1]set_multicycle_path –from [all_inputs] –to [all_registers –clock clk1]Referencing a single clock object avoids listing potentially hundreds of thousands of sequential elements.
Important: Starting with Vivado Design Suite 2018.3,
all_registers returns only
primitives with at least one enabled Setup/Hold/Recovery/Removal timing arc and a
CLK→Q timing arc. Buffer elements such as BUFGCE and
BUFGCE_DIV are no longer returned by
all_registers.