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

vcpfePlaceTapCells

vcpfePlaceTapCells(
d_cv
t_mode {insert | delete}
[ ?partitionName t_name ]
[ ?tapCompTypes t_types ]
[ ?tapCellNames t_cellNames ]
[ ?tapToTapSpacing f_value ]
[ ?tapBackOff f_value ]
[ ?minTapSpacing f_value ]
[ ?tapPattern {Regular | Checker Board} ] 
[ ?skipRow x_number ]
[ ?tapRowOffset f_value ]
[ ?tapRowEndOffset f_value ]
[ ?periodicTap {t | nil} ]
[ ?lockTap {t | nil} ]
[ ?avoidAbutment {t | nil} ] 
[ ?ignoreBlockages {t | nil} ]
)
=> l_tapCellIDs / nil

Description

Inserts tap cells in the empty spaces between standard cells in the specified cellview as per the specified arguments. When t_mode is set to delete, all tap cells in the given cellview are deleted.

Arguments

d_cv

The cellview ID.

t_mode { insert | delete }

The mode in which the command must be run - whether tap cells must be inserted or deleted.

?partitionName t_name

The area in the given cellview, for example a boundary or cluster name, in which tap cells must be inserted or deleted.

Examples: prBoundary (default), name of a row region

?tapCompTypes t_types

The component types that contain the required tap cells (also referred as substrate contacts). The specified component types must have the component class STDSUBCONT.

?tapCellNames t_cellNames

Names of the (one or more) tap cells.

?tapToTapSpacing f_value

Gap between adjacent tap cells.

?tapBackOff f_value

Minimum distance from the PR boundary or row region boundary to the first or last tap cells. The ?tapRowOffset and ?tapRowEndOffset values cannot be lesser than the ?tapBackOff value.

?minTapSpacing f_value

Minimum spacing between adjacent tap cells.

?tapPattern { Regular | Checker Board }

The pattern in which tap cells must be inserted. Regular pattern is applicable to both single and multi-height tap cells, while Checker Board pattern is applicable only for single-height tap cells.

With the Checker Board tap pattern selected, the ?skipRow and ?avoidAbutment settings are ignored.

?skipRow x_number

Skips the specified number of rows while placing tap cells, starting from bottom row. The top row cannot be skipped. The ?skipRow setting is ignored when ?tapPattern is set to Checker Board.

Examples:

If the value is set to 1, taps are inserted in rows 1, 3, 5, and so on.

If the value is set to 3, taps are inserted in rows 1, 5, 9, and so on.

?tapRowOffset f_value

Distance from the left edge of the row at which the first tap cell must be placed in each row.

?tapRowEndOffset f_value

Distance from the right edge of the row at which the last tap cell must be placed in each row.

?periodicTap {t | nil}

When set to t, all the available tap cells are inserted periodically starting from bottom lower left corner of the boundary in a circular pattern. The default value is nil.

?lockTap {t | nil}

Specifies whether the tap cells must be locked after insertion. The default value is t.

?avoidAbutment {t | nil}

Controls the abutment of tap cells. This setting is ignored when ?tapPattern is set to Checker Board. The default value is nil, and therefore the tap cells are abutted vertically by default.

?ignoreBlockages {t | nil}

When set to t, ignores blockages during tap cell insertion. The default value is nil.

Value Returned

l_tapCellIDs

IDs of tap cells that were instantiated or deleted.

nil

The command was unsuccessful.

Examples

Inserts the available tap cells periodically starting from the bottom lower left corner of the boundary.

vcpfePlaceTapCells(cv "insert" 
   ?tapCompTypes "standsubcont" 
   ?tapCellNames  "(acpd MySub layout) (acpd mySub1 layout)"
   ?tapToTapSpacing 0.2
   ?skipRow t
)


Return to top
 ⠀
X