Set_clock_groups, Usage, Options – Altera Quartus II Scripting User Manual
Page 435: Description, Example, Set_clock_groups –305

Chapter 3: Tcl Packages & Commands
3–305
sdc
© July 2013
Altera Corporation
Quartus II Scripting Reference Manual
set_clock_groups
Usage
set_clock_groups [-asynchronous] [-exclusive] -group
Options
-asynchronous: Specify mutually exclusive clocks (same as the -exclusive option).
Exists for compatibility.
-exclusive: Specify mutually exclusive clocks
-group
matching)
Description
Clock groups provide a quick and convenient way to specify which clocks are not related. Asynchronous
clocks are those that are completely unrelated (e.g., have different ideal clock sources). Exclusive clocks are
those that are not active at the same time (e.g., multiplexed clocks). TimeQuest treats both options,
"-exclusive" and "-asynchronous", as if they were the same.
The result of set_clock_groups is that all clocks in any group are cut from all clocks in every other group.
This command is equivalent to calling set_false_path from each clock in every group to each clock in every
other group and vice versa, making set_clock_groups easier to specify for cutting clock domains. The use
of a single -group option tells TimeQuest to cut this group of clocks from all other clocks in the design,
including clocks that are created in the future.
Example
project_open top
create_timing_netlist
create_clock -period 10.000 -name clkA [get_ports sysclk[0]]
create_clock -period 10.000 -name clkB [get_ports sysclk[1]]
# Set clkA and clkB to be mutually exclusive clocks.
set_clock_groups -exclusive -group {clkA} -group {clkB}
# The previous line is equivalent to the following two commands.
set_false_path -from [get_clocks clkA] -to [get_clocks clkB]
set_false_path -from [get_clocks clkB] -to [get_clocks clkA]