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

minCornerSpacing (One layer)

spacingTables(
( minCornerSpacing tx_layer 
 (( "width" nil nil ) 
  {'convex 
   ['endOfLineWidth f_width 
    ['exceptJogLength f_jogLength 
     ['useEdgeLength] ['treatLAsJog]
     {'horizontalJog | 'verticalJog}
     'jogWidth (f_jogWidth f_wireWidth)
     ] 
     |'eolOnly g_eolWidth]
   ['sameMask]
   ['withinCornerOnly f_within {'horizonal | 'vertical}
    | 'cornerToCorner ['orthogonalPair]]
    | 'concave 
   ['minLength f_minLength] 
   ['exceptNotch | 'exceptNotchLength f_notchLength]
  }
  ['exceptSameNet | 'exceptSameMetal]
 ) 
 (g_table) 
)
) ;spacingTables

(Virtuoso Advanced Node for Layout Standard) Specifies the spacing between a corner, either concave or convex, and an edge or another corner. The spacing requirement can vary based on the end-of-line width of the shape for which the constraint must be satisfied.

For convex corners, the constraint applies only if the parallel run length between the two neighboring shapes is less than or equal to zero.

Optionally, you can use the 'useEdgeLength parameter to specify how the length specified by 'exceptJogLength should be measured.

In the figure above, both y1 and y2 must be less than length for the "Z" shape to qualify for the 'exceptJogLength exemption. If 'useEdgeLength is not specified, the span (length of the jog) must be less than length.

Values

tx_layer

The layer on which the constraint is applied.

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

"width" nil nil

This identifies the index for table.

g_table

The first value in the table is the width and the second value is the spacing requirement that must be satisfied if the end-of-line width of the shape is greater than the specified value.

Type: A 1-D table specifying floating-point width and spacing values

Parameters

'endOfLineWidth f_width

The constraint does not apply if both shapes have end-of-line widths less than this value.

'convex | 'concave

The corner type.

Type: Boolean

'exceptJogLength f_jogLength

The constraint does not apply between a Z-shaped jog and a neighboring wire with end-of-line width greater than or equal to wireWidth and direction perpendicular to the direction in which the length of the jog is measured if the following conditions are satisfied:

  • The length of the jog is less than this value.
  • The width of the jog is equal to jogWidth.
  • The width of the adjacent wires is greater than or equal to wireWidth and their projected parallel run length in the direction of the jog is less than zero.

'useEdgeLength

(Virtuoso Advanced Node for Layout Only) The length of the edges in the wrong-way direction (non-preferred routing direction) of a wrong-way jog in a Z shape must be less than length. Otherwise, the span (length of the jog) must be less than length.

Type: Boolean

'treatLAsJog

The jog exemption for a Z-shaped jog also applies to an L-shaped jog.

Type: Boolean

'horizontalJog | 'verticalJog

The direction in which the length of the jog is measured.

Type: Boolean

'jogWidth f_jogWidth f_wireWidth

The constraint does not apply to a Z- or L-shaped jog with length less than jogLength in the specified direction if the following conditions are satisfied:

  • The width of the jog is equal to jogWidth.
  • The end-of-line width of the adjacent wires and the neighboring wire is greater than or equal to wireWidth.

'eolOnly

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only between two end-of-line edges with width less than the specified value.

'sameMask

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

Type: Boolean

'withinCornerOnly f_within

The constraint applies only to neighboring corners. These corners must not be present inside a search window whose one dimension is equal to the constraint spacing in the specified direction and the other dimension is equal to this value.

'horizontal | 'vertical

The direction in which the constraint spacing is applied while defining the search window inside which neighboring corners are not allowed.

Type: Boolean

'cornerToCorner

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only between two facing convex corners.

'orthogonalPair

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only on corners of two orthogonal direction wires.

'minLength f_minLength

The constraint applies only if the edges of a concave corner are greater than or equal to this value in length.

'exceptNotch

The constraint does not apply to a notch (U shape).

Type: Boolean

'exceptNotchLength f_notchLength

(Virtuoso Advanced Node for Layout Only) The constraint does not apply to a notch if the notch length is less than this value.

'exceptSameNet | 'exceptSameMetal

The constraint does not apply to certain connectivity types.

  • 'exceptSameNet: The constraint does not apply to same-net shapes.
  • 'exceptSameMetal: The constraint does not apply to contiguous same-metal shapes.

Type: Boolean

Examples

Example 1: minCornerSpacing with convex, exceptEndOfLineWidth, concave, and exceptNotch

The minimum spacing requirement for a convex corner is 0.11, except when the two shapes have end-of-line widths less than 0.09 or the parallel run length between them is less than or equal to zero. The minimum spacing requirement for a concave corner is 0.15, except when a concave edge is less than 0.05 in length or the shape is a notch.

Example 2: minCornerSpacing with convex, exceptEndOfLineWidth, exceptJogLength, concave, and minLength

The minimum spacing requirement for a convex corner is 0.11, except when the two shapes have end-of-line widths less than 0.09 or the parallel run length between them is less than or equal to zero. A Z-shaped jog is exempt from the spacing requirement if its length is less than 0.17 in the horizontal direction, width is 0.09, and the width of the adjacent wires and the neighboring wire perpendicular to the jog direction is greater than or equal to 0.05.

The minimum spacing requirement for a concave corner is 0.15, except when a concave edge is less than 0.05 in length.

Example 3: minCornerSpacing with convex, exceptEndOfLineWidth, exceptJogLength, and treatAsJog

The minimum spacing requirement for a convex corner is 0.11, except when the two shapes have end-of-line widths less than 0.09 or the parallel run length between them is less than or equal to zero. A Z- or L-shaped jog is exempt from the spacing requirement if its length is less than 0.17 in the horizontal direction, width is 0.09, and the width of the adjacent wires and a neighboring wire perpendicular to the jog direction is greater than or equal to 0.05.

Example 4: minCornerSpacing with convex and withinCornerOnly

The minimum spacing between a convex corner and a neighboring corner is 0.10 in the vertical direction and 0.05 in the horizontal direction.


Return to top
 ⠀
X