Renaming Auto-derived Clocks - Renaming Auto-derived Clocks - 2026.1 English - UG903

Vivado Design Suite User Guide: Using Constraints (UG903)

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

You can rename generated clocks that are automatically created by the tool. This is done by calling the create_generated_clock command with a limited set of parameters:

create_generated_clock -name new_name [-source master_pin] [-master_clock master_clk] source_object

The required arguments are the new clock name and the source object where the auto-derived clock is created. This source object is typically the output pin of a clock modifying block (CMB), a GT output pin in UltraScale devices, or a similar source. Use the -source and -master_clock options only when more than one clock passes through the source pin, to remove ambiguity.

Important:
  • If any of the following options are included: -edges, -edge_shift, -divide_by, -multiply_by, -combinational, -duty_cycle, or -invert, the clock is not renamed. Instead, a new generated clock is created with the specified properties.
  • When a module such as IP, BD, and DFx is synthesized OOC, treat it as a black box during top-level synthesis. In this case, internal pins and clock names are no longer accessible. The top-level XDC constraints used for synthesis cannot reference internal clock names or rename auto-derived clocks inside the module.
    • For OOC synthesis, top-level timing constraints must reference OOC clocks through the module ports that propagate them. Use a query such as:
      get_clocks -of_objects [get_pins <OOC_MODULE_OUTPUT_CLOCK_PORT>]
    • XDC constraints used for implementation do not have this limitation, because the full design is rebuilt before constraints are applied.