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

forbiddenEdgePitchRange

spacings(
( forbiddenEdgePitchRange tx_layer 
 'width f_width ['prl f_prl]
 ['minWidth f_minWidth 
  ['outerWidth f_outerWidth]
  ['outerWithin f_outerWithin]
  ['outerSameMask]
 ]
 ['parallelWithin f_parallelWithin 
  | 'exactSpacingNeighbor f_exactSpacing 
   ['spanLength f_spanLength ['within f_within]]
  | 'neighborSpacingRanges g_neighborSpacingRanges
 ['exceptWireWidthSpacingList (g_exactWidth g_spacing)…]
 ['ignoreMiddleWire (g_Width g_spacing)]
 ]
 ['secondForbiddenRange g_secondForbiddenRange]
 ['sameMask | 'mask1 | 'mask2 | 'mask3]
 ['exactWireWidth]
 ['otherWidth f_otherWidth]
 (g_range)
)
) ;spacings

(Virtuoso Advanced Node for Layout Standard) Restricts the spacing between the left-to-left and right-to-right edges (or between top-to-top and bottom-to-bottom edges) of two shapes on a layer if a shape from a different metal island lies between the two shapes. The constraint applies only if the width of the first shape is less than the specified value.

Optionally, you can specify that the common projected parallel run length between the two edges and the in-between shape must be greater than a particular value.

Values

tx_layer

The layer on which the constraint is applied.

Type: String (layer and purpose names) or Integer (layer number)

g_range

The forbidden spacing range, that is, the spacing between shapes must not fall in this range.

The forbidden spacing range is specified using the format:

[f_min1 f_max1]

where, f_min1 <= spacing <= f_max1

Type: Floating-point values specifying a range of spacings that are not allowed

Parameters

'width f_width

The constraint applies only if the width of the first shape is less than this value.

'minWidth f_minWidth

  

(Virtuoso Advanced Node for Layout Only) The constraint applies to a shape with width less than width and greater than minWidth if the shape is sandwiched by two shapes. The forbidden spacing applies between the middle shape and the outer shapes.

'outerWidth f_outerWidth

(Virtuoso Advanced Node for Layout Only) The constraint applies only if the width of the two outer shapes is greater than this value.

'outerWithin f_outerWithin

(Virtuoso Advanced Node for Layout Only) The constraint applies only if the distance between the two outer shapes is less than this value.

'outerSameMask

(Virtuoso Advanced Node for Layout Only) The constraint applies only if the two outer shapes are on the same mask. The mask applied to the middle shape is ignored.

Type: Boolean

'prl f_prl

The constraint applies only if the parallel run length between the two edges and the in-between shape is greater than this value.

'parallelWithin f_parallelWithin

  

The constraint applies only if the first shape has neighboring shapes on both sides at a distance less than this value.

The spacing between the two shapes is measured from the bottom/top edge to the top/bottom edge (or from the right/left edge to the left/right edge).

'exactSpacingNeighbor f_exactSpacing

The constraint applies only if the first shape has a neighboring shape at a distance equal to this value on the side opposite to the one on which spacing applies.

The spacing between the two shapes is measured from the bottom/top edge to the top/bottom edge (or from the right/left edge to the left/right edge). A shape from a different metal island need not be present between the two shapes.

'spanLength f_spanLength

The constraint applies only if the span length of the second wire is less than this value.

Span length is measured perpendicular to the parallel run length.

'within f_within

The constraint applies only if the second shape has a neighboring shape at a distance less than this value from it on either side.

'neighborSpacingRanges g_neighborSpacingRanges

The constraint applies only if the spacing between the first shape and a neighboring shape falls in this range.

Type: Floating-point values specifying a range of spacings that trigger the constraint

'exceptWireWidthSpacingList (g_exactWidth g_spacing)

(Virtuoso Layout Suite EXL and higher tiers) The constraint specifies that neighbour wires, with at least one of them not in the forbidden spacing range, having width exactly equal to the given value with PRL greater than 0 and the spacing less than the given value are merged as if the gap between the wires is filled. For this parameter,  g_exactWidth is the width value and g_spacing is the spacing value.

'ignoreMiddleWire (g_Width g_spacing)

(Virtuoso Layout Suite EXL and higher tiers) The constraint specifies that if there is a wire with a width not the same as the value of g_width or a spacing to the triggering wire not the same as the value of g_spacing, between the triggering wire and the forbidden spacing range wire, that wire is ignored.

'secondForbiddenRange g_secondForbiddenRange

A second forbidden spacing range.

The forbidden spacing range is specified using the format:

[f_min2 f_max2]

where, f_min2 <= spacing <= f_max2

This second forbidden spacing range can be specified only if 'parallelWithin or 'exactSpacingNeighbor is specified.

Type: Floating-point values specifying an additional range of spacings that are not allowed

'sameMask

The constraint applies only to shapes on the same mask.

The shapes between which forbidden spacing is checked must be on the same mask; the mask applied to neighboring shapes is ignored.

Type: Boolean

'mask1 | 'mask2 | 'mask3

(Virtuoso Advanced Node for Layout Only) The constraint applies only to the shapes on the specified mask.

Type: Boolean

'exactWireWidth

The constraint applies only if the width of the first shape is equal to width.

Type: Boolean

'otherWidth f_otherWidth

The constraint applies only if the width of the second shape is greater than or equal to this value.

Examples

Example 1: forbiddenEdgePitchRange with width and prl

The top-to-top and bottom-to-bottom edge spacing between a Metal1 wire with width less than 0.05 and another Metal1 wire with which it has a parallel run length greater than 0.15 must not be greater than or equal to 0.2 and less than or equal to 0.25 if a wire from a different metal island lies between them.

Example 2: forbiddenEdgePitchRange with width, prl, and neighborSpacingRanges

The left-to-left and right-to-right edge spacing between two Metal1 wires must not be greater than or equal to 2.0 and less than or equal to 3.0 if the following conditions are met:

Example 3: forbiddenEdgePitchRange with width, prl, parallelWithin, and secondForbiddenRange

The top-to-top and bottom-to-bottom edge spacing between two Metal1 wires that have a wire from a different metal island between them must not be greater than or equal to 0.2 and less than or equal to 0.25 if the following conditions are met:

Top-to-top and bottom-to-bottom edge spacing greater than or equal to 0.3 and less than or equal to 0.33 is also not allowed.

Example 4: forbiddenEdgePitchRange with width, prl, exactSpacingNeighbor, and spanLength

The spacing between two Metal1 wires must not be greater than or equal to 0.20 and less than or equal to 0.25 if the following conditions are met:

Example 5: forbiddenEdgePitchRange with width, exactSpacingNeighbor, exactWireWidth, and otherWidth

The spacing between two Metal1 wires must not be greater than or equal to 0.08 and less than or equal to 0.12 if the following conditions are met:

Example 6: forbiddenEdgePitchRange with width, prl, exactSpacingNeighbor, spanLength, and within

The spacing between two Metal1 wires must not be greater than or equal to 0.08 and less than or equal to 0.12 if the following conditions are met:

Example 7: forbiddenEdgePitchRange with width, minWidth, outerWidth, outerWithin, sameMask

The spacing between two Metal1 wires on the same mask must not be greater than or equal to 0.08 and less than or equal to 0.12 if the following conditions are met:

Example 8: forbiddenEdgePitchRange with width, minWidth, outerWidth, outerWithin, outerSameMask

The spacing between two Metal1 wires must not be greater than or equal to 0.08 and less than or equal to 0.12 if the following conditions are met:


Return to top
 ⠀
X