Sei sulla pagina 1di 3

create_ccopt_skew_group

create_ccopt_skew_group
[-help]
[-constrains cts | ccopt_initial | ccopt]
[-from_clock clock_name ]
[-from_constraint_modes constraint_mode_names ]
[-from_delay_corners delay_corner_names ]
-name skew_group_name
[-rank rank ]
[-sinks pins | -shared_sinks pins | -exclusive_sinks pins | -auto_sinks | -
filtered_auto_sinks pins | -balance_skew_groups skew_groups ]
[-sources pins | -balance_skew_groups skew_groups ]
[-target_insertion_delay value ]
[-target_skew value ]
Creates a new skew group within the design. CCOpt balances clock trees according to skew group requirements. Balancing
between multiple trees can be achieved using the −sources parameter. The sinks to be balanced can either be specified
explicitly using the −shared_sinks or −exclusive_sinks parameters or can be automatically inferred by using
the −auto_sinks parameter.
Note : This command is a part of the CCOpt native integration mode.

Every skew group is assigned a rank, accessible through the exclusive_sinks_rank property:

 Shared skew groups always have an exclusive_sinks_rank value of zero.


 Exclusive skew groups always have an exclusive_sinks_rank value greater than zero. When an exclusive skew
group is created, CCOpt assigns that exclusive skew group a rank one greater than the highest existing skew group.

The rank of a skew group determines whether a member pin is an active sink in that skew group or not. A pin is only an active
sink in the skew group(s) with the highest rank, out of all the skew groups to which the pin belongs. An active sink is a pin that
will be balanced against other active sinks in the same skew group.
For example, consider the following sequence of commands:

1. create_ccopt_skew_group -name SG1 -sources get_pins top -shared_sinks


[get_pins */D]
2. create_ccopt_skew_group -name SG2 -sources get_pins top -
exclusive_sinks [get_pins *XYZ*/D]
3. create_ccopt_skew_group -name SG3 -sources get_pins top -
exclusive_sinks [get_pins *XYZ_01*/D]

After running the first command, a single skew group SG1 is created. This is a shared skew group, so has
an exclusive_sinks_rank value of zero. All the "D" pins in the design are members of this skew group. In addition,
all the "D" pins are active sinks in skew group SG1. This is because SG1 is the highest ranked skew group so far, even
though it has a rank of zero.

The second command defines an exclusive skew group SG2 . This is given an exclusive_sinks_rank value of 1,
which is one higher than the current highest rank of 0. Sinks that match the pattern *XYZ*/D are now members of
both SG1 and SG2 . However, they are only active sinks in SG2, which is the highest ranked parent skew group till now. Sinks
that don't match this pattern remain active pins in SG1 .

The third command defines another exclusive skew group, SG3 . This is given an exclusive_sinks_rank value of 2,
which is one higher than the current highest rank of 1. Sinks that match the pattern *XYZ_01*/D (which must also be
members of SG2, since those sinks would also match the pattern *XYZ*/D ) are now members of skew groups SG1,
SG2, and SG3 . However, they are only active sinks in SG3, which is the highest ranked parent skew group. Sinks that
matched the pattern *XYZ*/D but not*XYZ_01*/D are members of both SG1 and SG2 but only active sinks of SG2 .
Sinks that don't match the pattern *XYZ*/D are members of SG1 and active sinks in SG1 .

Parameters
-help Outputs a brief description that includes type and default information for
each create_ccopt_skew_group parameter. For a detailed description of
the command and all of its parameters, use the man command: man
create_ccopt_skew_group.

-auto_sinks When specified, determines the target sinks for the skew group based on the
input pins reachable from the source.
-balance_skew_groups skew_groups
Specifies that the new skew groups should be created by merging the
specified skew groups in order to balance them together as a single skew
group.
-constrains cts | ccopt_initial | ccopt

Specifies whether the skew group should constrain cts, ccopt_initial ,


or ccopt . If the value includes cts, the created skew group will
constrain cts , if the value includes ccopt_initial , the created skew
group will be used to constrain CCOpt's initial solution.If the value
includes ccopt , the created skew group will constrain CCOpt's final
solution.
-exclusive_sinks pins
Specifies the input pins in the design that CCOpt should consider as
members of the new skew group. This will give the new skew_group
an exclusive_sinks_rank 1 greater than any other currently defined skew
group, effectively removing the pins from all skew_groups that they
currently belong to. If both " shared_sinks " and " exclusive_sinks " are
not specified, CCOpt will use the set of sinks reachable from the source if
the auto_sinks switch is provided, or no sinks otherwise.
-filtered_auto_sinks pins
Specifies that the target sinks should be determined automatically from the
subset provided. The target sinks for the skew group are determined based
on the input pins reachable from the source. However, of these pins, only
those are selected that are also present in the list of pins provided as a filter.
-from_clock clock_name
Specifies the name of the clock for which this skew group was extracted.
-from_constraint_modes constraint_mode_names
Specifies the constraint mode for which this skew group was extracted.
-from_delay_corners delay_corner_names
Specifies the delay corners associated with the constraint modes for which
this skew group was extracted.
-name skew_group_name
Specifies the user-defined name for the new skew group. The name must be
unique.
-rank rank Specifies the exclusive_sinks_rank for this skew group.
-shared_sinks pins
Specifies the input pins in the design that CCOpt should consider as
members of the new skew group but are also shared with other skew groups.
These pins are members of both the original skew group and the new skew
group. This implies aexclusive_sinks_rank of 0.
-sinkspins Specifies the input pins in the design that CCOpt should consider as
members of the new skew group.
- Specifies the source pins of the skew group.
sourcespins

-target_insertion_delay value
Specifies the target insertion delay to be used for the skew group. CCOpt
attempts to keep the latency of all sinks within half the target skew on either
side of this delay.
-target_skew value
Specifies the skew that the clock tree synthesis should aim for. It sets
the target_skew property for the created skew group
(set_ccopt_property target_skew value ). If this parameter is not set,
the software will use the default value that it gets
from get_ccopt_property target_skew .
For example:
get_ccopt_property target_skew
The software returns the following value:
2

Example

 The following command creates the specified skew group, clk_disable , for the specified source and exclusive sinks:

create_ccopt_skew_group -name clk_disable -sources clk -exclusive_sinks


{mod/ff1/CK mod/icg/CK}

Related Topics

 Clock Tree Synthesis chapter in the EDI System User Guide


o Clock Trees and Skew Groups
o Automatic Clock Tree Specification Creation
o Manual Setup and Adjustment of the Clock Specification