Product Documentation
Virtuoso Space-based Router Command Reference
Product Version IC23.1, September 2023

add_shield_wires

add_shield_wires
[ -net {s_netName…} | -set d_setObj | -region {f_xlo f_ylo f_xhi f_yhi} ] 
[ -alternate_tie [ true | false ] ] 
[ -coaxial_tie_freq f_userunit ] 
[ -connect_shields_only [ true | false ] ] 
[ -fix_routes [ true | false ] ] 
[ -floating_shields [ true | false ] ]
[ -report_shield_wires [ true | false ] ]
[ -redundant_vias [ true | false ] ] 
[ -adj_layer_redundant_ties [ true | false ] ] 
[ -honor_valid_routing_layers [ true | false ] ] 
[ -no_router [ true | false ] ] 
[ -shield_min_length f_userunit ] 
[ -shield_terms [ true | false ] ]
[ -shield_tie_frequency f_userunit ] 
[ -shield_around_vias [ true | false ] ] 
[ -shield_around_vias_all [ true | false ] ] 
[ -shield_enclose_vias [ true | false ] ] 
[ -shield_maintain_same_net [ true | false ] ] 
[ -tandem [ true | false ] ] 
[ -tie_shield [ true | false ] ] 
[ -ties_use_shield_width [ true | false ] ] 
[ -use_grid {route|mfg} ] 
[ -use_existing_pg_only [ true | false ] ] 
[ -via_width f_userunit ] 
[ -verbose [ true | false ] ]

Description

Adds shield wires for the given nets that have been identified by shield_net. By default, vias are added to tie the new shield wires to their respective shield nets. You can optionally specify the maximum distance between ties, the minimum length for signal route segments to add shields to, and whether shielding can be added around vias. On completion, a shield coverage report is output. For more information on the shield coverage report, refer to report_shield_wires.

If you specified dual net parallel shielding using shield_net -shield_net_alternate, you can specify the placement of the two shield nets using the -alternate_tie argument.

By default, shield wires that cause violations are not added. To identify the constraint setting that is preventing a shield from being added, set the shields_in_violation environment variable to true before running add_shield_wires, then run the check commands described in Verify Commands.

Arguments

-adj_layer_redundant_ties [ true | false ]

By default and when true, adds redundant vias to tie shield wires to shield nets where the shield wires overlap their respective existing power/ground rails on adjacent layers only. For example, redundant vias will be added to tie Metal2 shield wires to respective Metal3 power/ground rails but not to Metal6 power/ground rails.

-alternate_tie [ true | false ]

  

(Applies only for dual net parallel shields) If true, for a two-point path, one shield net will be on one side of the signal wire, and the second shield net will be on the opposite side. If false, one shield net will be east and south of the signal, and the other shield net will be west and north of the signal wire.

Default: false

-coaxial_tie_freq f_userunit

Specifies the maximum distance between ties that must be inserted to tie the tandem shield wires and parallel shield wires for coaxial shielding.

-connect_shields_only [ true | false ]

If true, connects only same net shields. If false, shields are tied to the shield net when they are added.

Default: false

-fix_routes [ true | false ]

If true, sets the route status of the generated shields to fixed.

Default: The route status for the generated shields are set to Unfixed.

-floating_shields [ true | false ]

If true, preserves the floating shielding wire shapes when they cannot be tied.

Default: false

-report_shield_wires [ true | false ]

If true, reports the shielding coverage for the given design post tie shield.

Default: false

-honor_valid_routing_layers [ true | false ]

If true, shields will be tied off to shapes on valid routing layers only.

Default: false

-net {s_netName…}

Adds shield wires for the given nets that have been identified by shield_net.

-no_router [ true | false ]

If true, no wires will be added to connect shields to terminals but vias can be inserted to connect to shield nets. If false, wires and vias can be added to connect shield wires to the shield net and terminals.

Default: false

-redundant_vias [ true | false ]

  

Adds redundant vias to tie shield wires to shield nets at every location where the shield wires overlap their respective existing power/ground rails. If power/ground rails overlap the shield wires, this argument offers a cleaner solution for inserting multiple ties than -shield_tie_frequency. If none of -redundant_vias, -adj_layer_redundant_ties, or a tie frequency is specified, only the minimal connections are inserted to tie shield wires to their respective nets.

-region {f_xlo f_ylo f_xhi f_yhi}

Adds shield wires for nets in the area given by the lower left (f_xlo f_ylo) and upper right (f_xhi f_yhi) coordinates. Operates only nets in the region that have been identified by shield_net.

-set d_setObj

Adds shield wires for nets in the given set that have been identified by shield_net.

-shield_around_vias [ true | false ]

  

Determines whether shield wires will be added around vias.

Default: true

-shield_around_vias_all [ true | false ]

  

When true, adds shield wires all around vias even in the wrong direction.

Default: false

-shield_enclose_vias [ true | false ]

When true, adds shield wires all around vias in the preferred direction.

Default: false

-shield_maintain_same_net [ true | false ]

When true, maintains the minimum spacing between shield wires and pins of the same net. When false, shield wires are permitted to connect to pins of the same net as the shield.

Default: true

-shield_min_length f_userunit

  

Prevents shielding of any signal wire that is shorter than the given length. By default, Space-based Router and Chip Optimizer will attempt to shield all routes of the signal nets given by -net, -set or -region that have been identified for shielding by shield_net.

-shield_terms [ true | false ]

  

If true, will attempt to shield around shape terms.

Default: false

-shield_tie_frequency f_userunit

  

Specifies the maximum distance between ties that must be inserted to tie the new shield wires to their respective shield nets. If this argument is not given and the redundant_via argument is not specified, only the minimal connections are inserted to tie shield wires to their respective nets.

-tandem [ true | false ]

Adds tandem shields where possible.

Default: true

-tie_shield [ true | false ]

  

Specifies whether ties should be added to tie the new shield wires to the shield nets that they belong to. By default, shield ties are added.

If you choose to exclude shield ties (-tie_shield false), you can later add them using route_shield_wires.

-ties_use_shield_width [ true | false ]

If true, will use the shield width as the width for the tie off connections.

Default: false

-use_existing_pg_only [ true | false ]

If true, uses only existing power/ground shapes for tie off connections.

Default: false

-use_grid {route | mfg}

  

Specifies the grid to use when adding shield wires.

Default: mfg (manufacturing)

-verbose [ true | false ]

By default, total shield coverage by layer is reported. For -verbose true, reports shield coverage by layer for each shielded net, in addition to total shield coverage by layer.

-via_width f_userunit

(Applies only to tandem split shields) Specifies the width, in user units, of the vias that will be inserted to tie tandem split shields.

Examples

The following command adds shield wires for all nets in the entire design that have been identified for shielding by the shield_net command and ties the added shield wires to the shield net.

add_shield_wires

The following command adds shield wires for all nets that have been identified for shielding by the shield_net command but restricts the added shielding to those signal wires that are greater than or equal to the shield_min_length argument value of 20.

add_shield_wires -shield_min_length 20

The following command adds shield wires for net_1 and sets the route status for the added shields to fixed.

add_shield_wires -net net1 -fix_routes

Shielding Around Vias

The following figure illustrates the difference in results when using -shield_around_vias, -shield_around_vias_all, and -shield_enclose_vias. The examples show the general placement of shield wires around the via but do not include shield ties.

Examples of Shielding around Vias

Inserting Shield Ties Using -redundant_vias

The following example shows how -redundant_vias can be used to add via ties at every overlap of the shield wires with their respective power or rail net. In this case, the shield net is VSS (ground).

Dual Net Parallel Shields

The following example shows the difference between the placement of dual net parallel shields when -alternate_tie is set true or false.

Dual Net Parallel Shield Placement

Related Topics

Specialty Route Commands

delete_shield_wires

get_use_existing_shapes_for shielding

route_shield_wires

set_use_existing_shapes_for_shielding

shield_net

Shield Routing Script Examples


Return to top
 ⠀
X