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

geom_size

geom_size 
-size f_userunit 
{ {-lpp1 { s_layerlpp } 
  [ -lpp1_levels { i_startLevel [i_endLevel] } ] 
  [ -set1 d_setObj ] 
  [ -lpp1_net_names { s_netName… } | -lpp1_net_set d_setObj ]} 
| -input1_scratch_layer i_scratchID} 
{ {-output_lpp s_lpp [ -output_net_name s_netName ] [ -output_set d_setObj ] } 
| -output_scratch_layer i_scratchID } 
[ -fix_edges_to_region [ true | false ] ]
[ -no_sync ] 
[ -polygons ] 
[ -region { f_xlo f_ylo f_xhi f_yhi } ] 
[ -route_topology { core_ring | block_ring | stripe | cell_row_strap } ] 
[ [ -size_east f_userunit ] [ -size_north f_userunit ] 
  [ -size_south f_userunit ] [ -size_west f_userunit ] ] 
| [ -trim_corners ]

Description

Generates new shapes by expanding or shrinking shapes on a scratch layer, or on one or more layer purposes, optionally limited to specific levels for nets in a set or a list, or shapes in a set. The generated shapes are added to a scratch layer, or to a layer purpose and, optionally, to a specific net. You can operate on a specific region or the entire design.

The GUI equivalent for this command is Create—Derived Layers.

Arguments

-fix_edges_to_region [ true | false ]

If true and -region is given, then any shape that is on a region edge is not sized with respect to that edge. By default, this argument is false and only applies when -region is given.

-input1_scratch_layer i_scratchID

  

Uses a scratch layer from a previous Boolean operation for lpp1 shapes.

-lpp1 {s_layerlpp }

Specifies the first LPPs. For details on the LPP notation, refer to Specifying Input Layer Purposes.

-lpp1_levels {i_startLevel [i_endLevel]}

Limits lpp1 shapes to those on the specified levels. If start and end levels are given, all levels in between are included. The top level is 0.
Default: all levels

-lpp1_net_names {s_netName…}

  

Limits lpp1 shapes to the named nets.

-lpp1_net_set d_setObj

Limits lpp1 shapes to the nets in the set.

-no_sync

By default, the OpenAccess database is immediately updated with the results of this operation. If this argument is given, the results will not be saved until the database is saved (write_db).

-output_lpp s_lpp

Specifies the output LPP for the generated shapes.

-output_net_name s_netName

  

Adds shapes to the named net. When this argument is given, the -no_sync argument is ignored. Shapes that are created by this command will be saved with the named net when the database is saved.

-output_scratch_layer i_scratchID

  

Adds generated shapes to a scratch layer identified by the positive integer. This scratch layer can be used as an input layer in subsequent Boolean operations using the -input1_scratch_layer or -input2_scratch_layer arguments for the current design. Scratch layers cannot be displayed but can be removed using geom_remove_scratch_layers.

-output_set d_setObj

Adds generated shapes to the given set.

-polygons

Generates output shapes as polygons, rather than individual rectangles. By default, individual rectangles are generated.

-region {f_xlo f_ylo f_xhi f_yhi}

Specifies the area of the operation given the lower-left coordinate and the upper-right coordinate.

-route_topology s_topologyName

  

(Applies only if -output_net_name is given with the name of an existing power or ground net) Sets the routeTopology property for the output shapes as follows:

  

block_ring

BlockRingRouteTopology

cell_row_strap

StandardCellWireRouteTopology

  

core_ring

RingRouteTopology

  

stripe

StripeRouteTopology (this is the default)

-set1 d_setObj

Limits lpp1 shapes to shapes in the set.

-size f_userunit

Specifies the sizing amount (in user units) as a real number. This value can be negative or positive. Positive values increase object sizes; negative values decrease object sizes.

-size_east f_userunit

Specifies the sizing amount (in user units) as a real number for the right (east) edge only. This value can be negative or positive. Positive values increase object sizes; negative values decrease object sizes. Cannot be used with -trim_corners.

-size_north f_userunit

Specifies the sizing amount (in user units) as a real number for the top (north) edge only. This value can be negative or positive. Positive values increase object sizes; negative values decrease object sizes. Cannot be used with -trim_corners.

-size_south f_userunit

Specifies the sizing amount (in user units) as a real number for the bottom (south) edge only. This value can be negative or positive. Positive values increase object sizes; negative values decrease object sizes. Cannot be used with -trim_corners.

-size_west f_userunit

Specifies the sizing amount (in user units) as a real number for the right (west) edge only. This value can be negative or positive. Positive values increase object sizes; negative values decrease object sizes. Cannot be used with -trim_corners.

-trim_corners

Specifies that corners be extended by the size argument value, effectively trimming corners. By default, edges are moved out by the size argument value, preserving corners.

Value Returned

i_count

Is the total number of shapes created.

Examples

The following example creates new shapes on met5:wire:detail by expanding met1 shapes by 0.5 user units.

geom_size -lpp1 { met1 } -output_lpp { met5:wire:detail } -size .5

The following command shrinks shapes in a region while maintaining edges on the region boundaries.

geom_siZe -region [get_window_area] -size -0.2 -fix_edges_to_region

Related Topics

Create Commands

geom_and

geom_and_not

geom_extent

geom_not

geom_or

geom_xor


Return to top
 ⠀
X