set_constraint_group
set_constraint_group [-nets_netName| -net_groups_netGroupName| -terms_termName{-instances_instanceName| [-libs_libName-cells_cellName-views_viewName]} | -setd_setObj| -area_boundarys_boundaryName] {[-routes] [-taper_routes] [-default [s_routeSpecName]] [-implicit [s_routeSpecName]] [-taper [s_routeSpecName]] [-inputtaper [s_routeSpecName]] [-outputtaper [s_routeSpecName]] [-shield [s_routeSpecName]] [-reflexive [s_routeSpecName]] [-transreflexive [s_routeSpecName]] [-interchild [s_routeSpecName]] [-nearfarend [s_routeSpecName]]}
Description
Assigns constraint groups to the specified constraint group types (Default, Implicit, Taper, InputTaper, OutputTaper, Shielding, Reflexive, TransReflexive, Interchild, NearFarEnd) for the multispec of a net, a net group, a terminal, a set of objects, or an area boundary. By default, the assignment is made to the default multispec. If route spec names are not given with the constraint group type arguments, the current assignments for the respective constraint group types are removed, rather than set.
Arguments
Examples
Setting a Global Taper Constraint Group
By default, the global net default route spec is used for tapers. The following commands create a new global taper constraint group for pins.
# create new constraint group all_taper
create_constraint_group -name all_taper
# assign the new constraint group as the taper constraint group in the default # multispec
set_constraint_group -taper all_taper
# set constraints for tapering set_layer_constraint -group all_taper -layer m1 -constraint minWidth \ -hardness hard -Value 0.17 set_layer_constraint -group all_taper -layer m1 -constraint minSpacing \ -hardness hard -Value 0.10 set_layer_constraint -group all_taper -layer m2 -constraint minWidth \ -hardness hard -Value 0.17 set_layer_constraint -group all_taper -layer m2 -constraint minSpacing \ -hardness hard -Value 0.10 set_layer_constraint -group all_taper -layer m3 -constraint minWidth \ -hardness hard -Value 0.17 set_layer_constraint -group all_taper -layer m3 -constraint minSpacing \ -hardness hard -Value 0.10 # set the oaTaperHalo set_constraint -group all_taper -constraint oaTaperHalo -Value 5 -hardness hard
Setting Input and Output Taper Constraint Groups for Nets
The following commands create unique taper constraint groups for input and output pins of nets, each with different maxTaperWindow constraints.
# start by creating the output taper constraint group
create_constraint_group -name output_taper
# get the set of nets to apply the taper to set inoutTaperNets [find_net -name {ionet*}] # set output_taper as the outputtaper constraint group set_constraint_group -set $inoutTaperNets -outputtaper output_taper # set constraints for tapering set_constraint -group output_taper -constraint maxTaperWindow -Value 10 set_layer_constraint -group output_taper -layer m1 -constraint minWidth \ -hardness hard -Value 0.17 set_layer_constraint -group output_taper -layer m1 -constraint minSpacing \ -hardness hard -Value 0.10 set_layer_constraint -group output_taper -layer m2 -constraint minWidth \ -hardness hard -Value 0.17 set_layer_constraint -group output_taper -layer m2 -constraint minSpacing \ -hardness hard -Value 0.10 set_layer_constraint -group output_taper -layer m3 -constraint minWidth \ -hardness hard -Value 0.17 set_layer_constraint -group output_taper -layer m3 -constraint minSpacing \ -hardness hard -Value 0.10 # next create the input taper constraint group by copying from the output_taper copy_constraint -group output_taper -to_group input_taper # set input_taper as the inputtaper constraint group set_constraint_group -set $inoutTaperNets -inputtaper input_taper # change the maxTaperWIndow for the inputtaper constraint group set_constraint -group input_taper -constraint maxTaperWindow -Value 5
Setting a Unique Taper Constraint Group for an InstTerm
The following commands create a taper constraint group for a specific instTerm.
# next create the term taper constraint group
create_constraint_group -name term_taper
# get the set containing the instTerm set instTermdout [find_inst_term -name dout -instance_name INST_s22] # assign the constraint group directly to instTerm. set_constraint_group -set $instTermdout -taper term_taper
# set constraints for tapering
set_constraint -group term_taper -constraint maxTaperWindow -Value 5
set_constraint -group term_taper -constraint minTaperWindow -Value 2
set_layer_constraint -group term_taper -layer m1 -constraint minWidth \
-hardness hard -Value 0.13
set_layer_constraint -group term_taper -layer m1 -constraint minSpacing \
-hardness hard -Value 0.10
set_layer_constraint -group term_taper -layer m2 -constraint minWidth \
-hardness hard -Value 0.13
set_layer_constraint -group term_taper -layer m2 -constraint minSpacing \
-hardness hard -Value 0.10
set_layer_constraint -group term_taper -layer m3 -constraint minWidth \
-hardness hard -Value 0.13
set_layer_constraint -group term_taper -layer m3 -constraint minSpacing \
-hardness hard -Value 0.10
Related Topics
Return to top