Set_clock_groups, Usage, Options – Altera Quartus II Scripting User Manual

Page 435: Description, Example, Set_clock_groups –305

Advertising
background image

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 <names>

Options

-asynchronous: Specify mutually exclusive clocks (same as the -exclusive option).
Exists for compatibility.

-exclusive: Specify mutually exclusive clocks

-group <names>: Valid destinations (string patterns are matched using Tcl string
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]

Advertising