set_clock_groups Constraint

set_clock_groups [-exclusive | -asynchronous ] -group {<clock>} [-group {<clock>} -group ...] 
  • -exclusive indicates a mutually exclusive clock
  • -group indicates a clock list
  • -asynchronous specifies asynchronous clocks

This command instructs the timing analyzer to not analyze paths between one or more specified groups of clock domains in either direction. You can use this command with netlist or virtual clocks in any combination. The set_clock_groups constraint is equivalent to a set_false_path constraint between the clocks in different groups. For example, the command

set_clock_groups -exclusive -group {clk} -group {clk2 clk3}

is equivalent to

set_false_path -from [get_clocks{clk}] -to [get_clocks{clk2 clk3}]
set_false_path -from [get_clocks{clk2 clk3}] -to [get_clocks{clk}]

If you specify only one clock group, it cuts all paths to and from the specified clock domain(s) to all others.

Note: If you do not specify either -exclusive or -asynchronous, the software defaults to -exclusive.

See Setting Constraints for Unrelated Clocks for examples.