Product Documentation
Virtuoso Layout Suite SKILL Reference
Product Version IC23.1, November 2023

absPins

absPins(
)
=> 0 / 1

Description

Runs the Pins step for the selected cells and creates a pins view for those cells based on options set using absSetBinOption.

Arguments

None

Value Returned

1

Indicates successful operation.

0

Indicates an error.

Options

AbstractRemoveRedundantBlockages { true | false }

Controls whether Abstract Generator removes redundant blockages, where the shapes of the same layer coincide with each other.

  • If true, Abstract Generator removes redundant blockages. If PinsPreserveRoutingBlockages is also true, local blockages in the layout of the cell are preserved.
  • If false, Abstract Generator does not remove redundant blockages.

PinsTextPinMap text_pin_spec

Maps text labels in the layout view to pins on nets in the pins view.

PinsPowerNames power_pin_names

Identifies power pin names based on label strings in the abstract. Enter a list of possible names for the power pins. This can be a list of regular expressions, each separated by a space.

PinsGroundNames ground_pin_names

Identifies ground pin names based on label strings in the abstract. Enter a list of possible names for the ground pins. This can be a list of regular expressions, each separated by a space.

PinsClockNames clock_pin_names

Identifies clock pin names based on label strings in the abstract. Enter a list of possible names for the clock pins. This can be a list of regular expressions, each separated by a space.

PinsAnalogNames analog_pin_names

Identifies analog pin names based on label strings in the abstract. Enter a list of possible names for the analog pins. This can be a list of regular expressions, each separated by a space.

PinsOutputNames output_pin_names

Identifies output pin names based on label strings in the abstract. Enter a list of possible names for the output pins. This can be a list of regular expressions, each separated by a space.

PinsTextPromoteLevel integer

Controls how far down the design hierarchy Abstract Generator searches for text labels during text-to-pin mapping.

PinsGeomSearchLevel integer

Controls how far down the design hierarchy Abstract Generator searches for metal underneath a text label.

PinsTextManipulation text_to_remove text_to_replace

Uses regular expressions to locate unnecessary text in labels and either remove it completely or replace it with the text you require.

Every odd regular expression represents text_to_remove, while every even regular expression represents text_to_replace.

To remove text completely, use {}as the text_to_replace element.

PinsTextPreserveLabels { true | false }

Preserves text labels from the layout view in the final abstract.

PinsBoundaryCreate { off | always | as needed }

Specifies whether Abstract Generator is to create a place-and-route boundary based on the layers supplied for the PinsBoundaryLayers argument.

  • off means that Abstract Generator never creates a place-and-route boundary and reports an error if the boundary is missing from the layout.
  • always means that Abstract Generator always creates a place-and-route boundary, after deleting any already existing boundary. It checks for the existence of a boundary on LPP prboundary boundary, deletes if one is found, and then creates the new boundary. If none exists on LPP prboundary boundary, it then searches for an existing boundary on LPP prboundary drawing, and deletes if any is found before creating the new boundary.
  • as needed means that Abstract Generator creates a place-and-route boundary only if one does not already exist on LPP prboundary boundary.

The new place-and-route boundary created is rectangular. To allow for the creation of a rectilinear place-and-route boundary, use the PinsCreatePolyPRB option.

PinsBoundaryLayers layers

Specifies the layers to be used in calculating the
place-and-route boundary. The boundary is drawn so that it encloses all the geometry found on these layers.

The argument is valid only if you set PinsBoundaryCreate to always or as needed.

PinsCreatePolyPRB { true | false }

Specifies the creation of a rectilinear place-and-route boundary. By default, it is set to false, in which case a rectangular place-and-route boundary is created.

The argument is valid only if you set PinsBoundaryCreate to always or as needed.

PinsBoundarySizeLeft value

Specifies the distance in microns to be added to the left boundary edge. This is one of four boundary options to let you increase or decrease the size of an existing or calculated place and route boundary.

Entering a positive number for this option moves the boundary further to the left by that amount; i.e., the lower left coordinate of the boundary is decreased.

This option is exclusive with the PinsBoundaryFixedLeft option.

PinsBoundarySizeRight value

Specifies the distance in microns to be added to the right boundary edge. This is one of four boundary options to let you increase or decrease the size of an existing or calculated place and route boundary.

This option is exclusive with the PinsBoundaryFixedRight option.

PinsBoundarySizeTop value

Specifies the distance in microns to be added to the top boundary edge. This is one of four boundary options to let you increase or decrease the size of an existing or calculated place and route boundary.

This option is exclusive with the PinsBoundaryFixedTop option.

PinsBoundarySizeBottom value

Specifies the distance in microns to be added to the bottom boundary edge. This is one of four boundary options to let you increase or decrease the size of an existing or calculated place and route boundary.

This option is exclusive with the PinsBoundaryFixedBottom option.

PinsBoundaryFixedLeft value

Fixes the left boundary edge of a cell to the specified value.

This option is exclusive with the PinsBoundarySizeLeft option.

PinsBoundaryFixedRight value

Fixes the right boundary edge of a cell to the specified value.

This option is exclusive with the PinsBoundarySizeRight option.

PinsBoundaryFixedTop value

Fixes the top boundary edge of a cell to the specified value.

This option is exclusive with the PinsBoundarySizeTop option.

PinsBoundaryFixedBottom value

Fixes the bottom boundary edge of a cell to the specified value.

This option is exclusive with the PinsBoundarySizeBottom option.

PinsPreserveRoutingBlockages { true | false }

Controls how Abstract Generator processes local blockages defined in the BLOCKAGE section in DEF 5.4. Local blockages do not have the +PUSHDOWN, +FILL, or +SLOT modifiers.

  • If false, Abstract Generator removes any local blockages and proceeds as if they had never been specified in the DEF file.
  • If true, and if AbstractRemoveRedundantBlockages is also true, Abstract Generator preserves local blockages along with their attributes from level 0 to level 32. The preserved layout blockages exists in the abstract view along with the other blockages generated in the abstract step.
To preserve the routing blockages of layout, you need to delete the boundary purpose from the ExcludePurposeList option. For this, set the absSetOption as absSetOption (ExcludePurposeList " ").

PinsCreatePwrPinsFromRouting { true | false }

Controls whether pins are created from the routing defined in the SPECIALNETS section of the DEF file.

  • If false, Abstract Generator creates pins only from the pin geometry defined in the PINS section of the DEF file. If there is no pin geometry, the routing is turned into pins instead.
  • If true, Abstract Generator creates pins from the routing defined in the SPECIALNETS section for the layers specified for the PinsPwrRoutingLayers option. It does this even if there are pins already defined in the PINS section.

When creating pins, Abstract Generator ignores FILLWIRE and SHIELD net segments. It also creates pins in instances that are logically connected to the top-level nets.

PinsPwrRoutingLayers layers

Specifies the layers to be used in the creation of pins from routing defined in the SPECIALNETS section of the DEF file.

PinsRestrictToPRBndry { true | false }

Controls the geometry of N-Well pins created during the abstract generation process. If set to t, the size of N-Well pins is restricted to the PRBoundary.

PinsFromTextForExistingPins { true | false }

When set to true, Abstract Generator generates additional pins from labels, even if the corresponding net has existing pins in the layout. The default value is false.

absSetBinOption( "Block" "PinsFromTextForExistingPins" "true")

Examples

Specifies a text-to-pin map, for the Core bin, where labels on layer Metal1 (all purposes) are to be mapped first to shapes on layer Metal1 (purpose drawing only). If no shapes are found on Metal1 drawing, then the labels are to be mapped to shapes on layer Metal2 (purpose drawing only). Finally, runs the Pins step.

absSetBinOption "Core" "PinsTextPinMap" "(Metal1 (Metal1 drawing)) (Metal2 (Metal2 drawing))"
=> t
absPins
=> 1

Related Topics

Specifying Pin Mappings for Abstract Generation


Return to top
 ⠀
X