Controlling Shield Options
Shield routing adds shield wires around signal nets to improve signal integrity. You use the add_shield_wires command to add parallel and tandem shields, and ties between the shield wires and the shield net. The following sections describe how to control shielding options.
Using Existing Power and Ground Shapes for Shielding
By default, existing power and ground shapes are used to shield nets. You can disable this feature with the following command:
set_use_existing_shapes_for_shielding -share false
When this feature is disabled, the router will reserve space around nets for shield wires where required.
To get the current status, use the following command:
get_use_existing_shapes_for_shielding
Sharing Shields
Usually, the router will attempt to individually shield each net. If there is a channel between two nets that is not sufficiently large to add individual shields for each net and shareShields is set, one shield wire will be added between the two nets and shared by the nets.
To permit nets in a net group to share shield routes whenever possible, use the following:
create_group{-setd_setOfNets| -net {s_netName…}} -names_groupName-typegroupset_constraint -constraint shareShields -BoolValue true -groups_groupName
To permit all shielded nets to share shield routes whenever possible, use the following:
set_constraint -constraint shareShields -BoolValue true
This setting makes the shareShields constraint a global setting, applied to the design route spec (catenaDesignRules). When using the global setting, you should not specify a different group.
Preventing Shielding on Specific Layers
In some cases, you might want to exclude shielding on some layers. For example, on more congested layers it might be difficult to add shielding. To prevent Space-based Router and Chip Optimizer from shielding on those layers, you can set the ignoreShieldingOnLayers constraint with the layers that should be ignored.
set_constraint -constraint ignoreShieldingOnLayers -groups_groupName-LayerArrayValue {s_layerName…}
where s_groupName is the name of the design constraint group or the default constraint group for the net. For example, the following sets ignoreShieldingOnLayers for the single constraint group and prevents the router from adding shields on the M1 and M2 layers for the nets with the single constraint group assigned as the default constraint group.
set_constraint -name ignoreShieldingOnLayers -group single -LayerArrayValue {M1 M2}
Disabling Shielding on a Route
To prevent shielding on a route of a net to be shielded, use set_route_noshield before adding shield wires.
Related Topics
Shield Routing Script Examples
Return to top