Product Documentation
Virtuoso Technology Data Constraints Reference
Product Version IC23.1, November 2023

maxFloatingArea

spacings(
( maxFloatingArea 
 'routingLayers (tx_layer1 tx_layer2tx_layerN)
 'singleLayer | 'connected | 'allConnected
 'spacings
 (
  (( "layer" ))
  (g_table)
 )
 f_area
)
) ;spacings

Defines the maximum allowed area for floating metal shapes on the specified routing layers.

Floating metal shapes are shapes on the current layer that cannot trace a path to a diffusion connection or polysilicon gate by using only same-layer or lower-layer connections. Grounded metal shapes are those that can connect to a diffusion connection or polysilicon gate by using same-layer or lower-layer connections.

Multiple maxFloatingArea constraints must be placed in an 'or constraint group.

Values

f_area

The area of floating metal shapes must be less than or equal to this value.

Parameters

'routingLayers (tx_layer1 tx_layer2tx_layerN)

List of routing layers to which the constraint applies.

Type: String (layer name) or Integer (layer number)

'singleLayer | 'connected | 'allConnected

The constraint can be applied as follows:

  • 'singleLayer: The constraint applies to the area of each floating metal shape on each specified routing layer. Each shape must have an area that is less than or equal to area, or meet the minimum spacing requirements between floating and grounded metal shapes.
  • 'connected: The constraint applies to the sum of the areas of the connected floating metal shapes on each specified routing layer. The connected area on a layer must be less than or equal to area, or meet the minimum spacing requirements between the floating and grounded metal shapes.
  • 'allConnected: The constraint applies to the sum of the areas of all connected floating metal shapes on the specified routing layers. The total connected area on the current and lower layers must be less than or equal to area, or meet the minimum spacing requirements between the floating and grounded metal shapes.

Type: Boolean

'spacings( (( "layer" )) (g_table) )

"layer" identifies the index for table.

Each entry in g_table takes the following form:

tx_layer (
(
f_minSpacing 0.0)
(
f_minParSpacing f_parallelLength)

)

where, minSpacing is the minimum spacing, minParSpacing is the minimum parallel spacing, and parallelLength is the minimum parallel run length, as shown in the figure above.

If the floating metal area for the current layer (and optionally for all lower connected layers) is greater than area, one of the following conditions must be met:

  • The distance between the floating and grounded shapes must be greater than or equal to the specified distance (minSpacing).
  • The floating metal shapes that are at a distance greater than or equal to minParSpacing from grounded metal shapes must have parallel run length greater than or equal to parallelLength at the minimum spacing distance.

The minParSpacing values must be defined in the decreasing order and must be smaller than the minSpacing values. Smaller minParSpacing spacing values require larger parallelLength values.

Type: A 1-D table indexed on "layer", specifying floating-point spacing and parallel run length values that apply to the shapes on each specified routing layer

Example

If the sum of areas of floating metal shapes is greater than 1000, the following conditions must be met:

The layers the constraint is defined with must match the entries in the table. The first value pair corresponds to the spacing value with zero parallel run length. The other value pairs specify the corresponding parallel spacing and parallel run length values.


Return to top
 ⠀
X