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

remaster_via

remaster_via 
[ -window_id i_windowID ] 
[ -all | -region {f_xlo f_ylo f_xhi f_yhi} | -set d_setObj ] 
[ -do_via_layers {s_layerName } ] 
[ -lock_layers {s_layerName } ] 
[ -exclude_set d_setObj ] 
[ -exclude_net {s_netName } ] 
[ -exclude_type {[power] [ground] [clock]} ] 
[ -exclude_via_pin [ true | false ] ] 
[ -output_pins_only [ true | false ] ] 
[ -insertion_mode {{on_wire | off_wire | on_wire_push | off_wire_push | all}} ] 
[ -annotate all | unfixed | skipped | remastered | none ] 
[ -annotation_limit i_count ] 
[ -allow_num_cut_downsizing [ true | false ] ] 
[ -check_antenna [ true | false ] ] 
[ -clear_annotations ]
[ -critic [ true | false ] ] 
[ -double_cut_only [ true | false ] | -single_cut_only [ true | false ]
[ -ignore_active_route_status [ true | false ] ] 
[ -optimize_multi_cut_via_enclosure i_numCut ] 
[ -push_limit {1 | 2 | 3 | 4 | 5} ] 
[ -silent [ true | false ] ] 
[ -threads i_threads ] 
[ -use_grid {mfg | route} ] 
[ -valid_routing_vias {s_viaName…} 
  [ -override_valid_routing_vias [ true | false ] ] ] 
[ -via_order {s_viaName…} [ -via_order_only [ true | false ] ] ]
[ -lock_pin_metal [ true | false ] ]

Description

Remasters vias in the target area of the cellview. You can optionally add annotations for remastered, skipped, or unfixed vias to the design on the annotation:viaOpt purpose of the via layer. On completion of this command, the Redundant Via Insertion Summary is output to the Transcript area and remastered vias are placed on the via:redundant purpose.

By default, all available vias given by the validRoutingVias constraint (including metal1/poly vias) are considered. To customize the list of considered vias, use -valid_routing_vias. To specify a list of vias to consider first, use -via_order.

If the map_redundant_via command has been issued prior to using this command, only the via mappings given by the map_redundant_via command (typically sourced in a Tcl mapping file script that you must create) will be used to remaster vias. In the preferred method, which does not use a mapping file, Space-based Router and Chip Optimizer will attempt to remaster using vias given by the validRoutingVias constraint, starting with double cut vias and then larger enclosure single cut vias. If you translated your design from LEF, validRoutingVias should automatically be set and include all of the vias in the library. If you have customized your design and added additional via cellviews, you must ensure that validRoutingVias includes the vias that you want to use for remastering. To return to the preferred method after using a mapping file, you must issue clear_redundant_via_mapping.

Arguments

-all

Sets the target area to the entire cellview. Attempts to remaster all vias in the cellview. This is the default.

-allow_num_cut_downsizing [ true | false ]

Permits vias to be remastered to a master with fewer cuts (for example, from two cuts to one), if the -via_order argument contains such an order. By default, the number of cuts on a via being remastered will increase or stay the same.

-annotate all | unfixed | skipped | remastered | none

Creates rectangle annotations in the via color and adds an entry for each via to the Annotation Browser Optimizations section, depending on the given argument:

all

Creates annotations for remastered, unfixed and skipped vias.

none

Creates no annotations. This is the default.

remastered

Creates annotations for newly remastered vias.

skipped

Creates annotations for vias that already have redundant cuts nearby.

unfixed

Creates annotations for unfixed vias only.

-annotation_limit i_count

Specifies the maximum number of annotations that will be created for each annotation group. The default is 1000.

-check_antenna [ true | false ]

Checks for and avoids creating new antenna violations. Defaults to false.

-clear_annotations

Clears all existing optimized via annotations before adding new ones. By default, existing annotations are not cleared.

-critic

Causes pushed route segments to be straightened or cleaned up, whenever possible, during processing. Specifying this option has a minor negative impact on processing time. By default, this option is not enabled.

-do_via_layers {s_layerName }

Limits the remastering to the via layers in the given list. If this argument is not specified, all via layers are processed.

-double_cut_only [ true | false ]

Restricts processing to double cut vias only. By default, when no via mappings are given, larger enclosure single cut vias are tried after all double cut vias have been tried.

-exclude_net {s_netName }

Specifies the names of nets to exclude from processing.

-exclude_set d_setObj

Excludes from processing vias, routes and nets in the given set.

-exclude_type {[power][ground][clock]}

Specifies one or more net types to exclude from processing.

-exclude_via_pin [ true | false ]

When true, excludes via pins (top level only) from being remastered.

Default: true

-ignore_active_route_status [ true | false ]

Processes vias belonging to fixed routes. By default, these vias are skipped.

-insertion_mode

Specifies the insertion mode or a list of insertion modes to use. If a list of modes is specified, the modes will be processed in the order given in the list.

on_wire

Puts remastered vias on the connecting wire without pushing routes.

off_wire

Puts remastered vias off the connecting wire without pushing routes.

on_wire_push

Puts remastered vias on the connecting wire, pushing surrounding shapes, if needed.

off_wire_push

Puts remastered vias off the connecting wire, pushing surrounding shapes, if needed.

all

Uses insertion mode techniques in the following order: on_wire, off_wire, on_wire_push, off_wire_push. If a via cannot be remastered using one technique, the next technique is attempted, and so on.

-lock_layers {s_layerName…}

Specifies the metal layers that must not be changed during this operation.

-lock_pin_metal [ true | false ]

If true, no additional metal will be added if the via touches a pin. If a pin shape is present at the via on the above/below layer, then that metal layer is considered locked for the purpose of remastering that particular via. The above/below layers are considered independently, so locking on one does not affect the other.

Default: false

-optimize_multi_cut_via_enclosure i_numCut

Specifies the maximum number of cuts in a multi-cut via for which larger enclosure via masters will be considered.

Default: 1 (Vias that already have two or more cuts will not be processed)

-output_pins_only [ true | false ]

Limits processing to vias on output pins.

Default: false

-override_valid_routing_vias [ true | false ]

When true, permits a via master that is defined in the technology file and specified in the -valid_routing_vias argument to be used for remastering even if it is not included in the validRoutingVias or extendedValidRoutingVias constraint for the net.

Default: false

-push_limit {1|2|3|4|5}

Limits the number of routes that can be pushed when remastering a via using a push insertion mode.

Default: 2

-region {f_xlo f_ylo f_xhi f_yhi}

  

Attempts to remaster vias only in the specified area of the cellview, given by the lower left and upper right coordinates.

-set d_setObj

Attempts only to remaster vias in the specified set.

-silent [ true | false ]

When true, outputs only essential messages. By default and when false, additional status messages are output.

-single_cut_only [ true | false ]

Restricts processing to single-cut vias only. By default, when no via mappings are given, larger enclosure single cut vias are tried after all double cut vias have been tried.

-threads i_threads

Specifies the number of threads or processors to use in parallel to run this command. By default, if multi-threading has been enabled (enable_multithreading), the session threads are used, otherwise, one processor is used.

-use_grid {mfg | route}

Specifies the grid to snap to for vias and pushed wires:

mfg

Uses the manufacturing grid from the technology file. This is default setting.

route

Uses the routing grid from the technology file. This is the coarsest grid. Snapping to this grid reduces the redundancy rate.

-valid_routing_vias {s_viaName…}

Specifies the list of via masters to consider for remastering a given via, in no particular order. String patterns are not considered. Only via masters in the validRoutingVias or extendedValidRoutingVias constraint for the net will be considered, unless -override_valid_routing_vias is set to true.

Default: All available via masters are considered.

-via_order {s_viaName…}

Specifies the list of via masters, in the preferred order, to consider first when remastering a given via. Other potential via masters that are not in this list are considered next. String patterns, such as “v*_2cut_*”, which could match v01_2cut_N, v01_2cut_S, v02_2cut_N, and so on, are supported.

-via_order_only [ true | false ]

When true, limits remastering to new via masters that are given by the -via_order argument and are also included in the -valid_routing_vias list. By default, all via masters are considered, with priority given to those in the -via_order list.

-window_id i_windowID

Specifies the window to process. If this argument is not specified, the active artwork window is used.

Examples

The following example remasters vias on-wire for via layers V1 and V2 of entire design.

remaster_via -all -do_via_layers {"V1" "V2"} -insertion_mode on_wire

The following example inserts redundant vias for all vias in the design using all insertion mode techniques.

remaster_via -all -insertion_mode all

Related Topics

Optimize Commands

clear_redundant_via_mapping

map_redundant_via

show_redundant_via_mapping

report_via_stats


Return to top
 ⠀
X