Create Ccopt Skew Group
Create Ccopt Skew Group
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:
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:
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
-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:
Related Topics