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

minConvexCornerSpacing

spacings(
( minConvexCornerSpacing tx_layer 
 'sideExclusionRegion (f_sideExt f_orthogonalExt)
 ['lowCornerSpacing f_lowCornerSpacing]
 ['sameSideExtension f_extension 
  | ['edgeForwardExtension f_edgeFwdExt
    'cornerExtensionRegion (f_cornerFwdExt f_cornerBkExt)
    'spanLength f_spanLength 
    'minOppositeWidth f_minOppWidth
    'oppositeExtension (f_oppSideExt f_oppFwdExt1 f_oppFwdExt2)
    ]
  | 'middleWires x_middleWires ['includeOverlap] 
  ['backwardWire (f_sideExt f_backwardExt)]
 ]
 f_spacing 
)
) ;spacings

Specifies the minimum orthogonal spacing on a layer between two convex corners of two parallel shapes or between a convex corner and a neighboring shape.

The constraint applies in the following scenarios.

Scenario 1

The constraint applies between the convex corners of two parallel shapes facing each other if all of the following conditions are met:

Scenario 2

The constraint applies between the convex corners of two parallel shapes that do not face each other if the following conditions are met:

Scenario 3

The constraint applies if all of the following conditions are met:

When all conditions listed above are met, a violation occurs if a neighboring shape overlaps the red dotted box.

Scenario 4

The constraint applies if all of the following conditions are met:

A violation occurs when the distance between the two convex corners shown in pink is within the absolute value of f_lowCornerSpacing.

Scenario 5

The constraint applies if all of the following conditions are met:

A violation occurs when the distance between the two convex corners shown in pink is less than or equal to f_lowCornerSpacing or more than or equal to f_spacing.

Values

tx_layer

The layer on which the constraint is applied.

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

f_spacing

The spacing between convex corners or between a convex corner and a neighboring shape must be greater than or equal to this value.

Parameters

'sideExclusionRegion (f_sideExt f_orthogonalExt)

  

The constraint applies only if no neighboring wire overlaps the exclusion region defined by these values. sideExt is measured from the convex corner along the shorter side of the shape and orthogonalExt is measured perpendicular to the shorter side of the shape.

'lowCornerSpacing f_lowCornerSpacing

  

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only if the distance between two convex corners is less than or equal to f_lowCornerSpacing or more than or equal to f_spacing. If the specified value is negative, the absolute value is considered. 

'sameSideExtension f_extension

  

The region between the two convex corners that do not face each other is extended on both sides by this value.

'edgeForwardExtension f_edgeFwdExt

  

The constraint does not apply if a neighboring shape overlaps the region extending away from the convex corner, with the longer side equal to this value and the shorter side equal to mw.

'cornerExtensionRegion (f_cornerFwdExt f_cornerBkExt)

  

The constraint applies only if the region defined by these two values is fully abutted by a parallel neighboring shape present along the long side opposite to the convex corner. cornerFwdExt is measured away from the shape with the convex corner and cornerBkExt is measured along the shape with the convex corner.

'spanLength f_spanLength

  

The constraint applies only if the length of the shape with the convex corner is greater than or equal to this value.

'minOppositeWidth f_minOppWidth

  

The constraint applies only if the width of the shape that fully abuts the region defined by 'cornerExtensionRegion is less than or equal to this value.

'oppositeExtension (f_oppSideExt f_oppFwdExt1 f_oppFwdExt2)

  

The constraint applies only if a shape overlaps the region formed by these three values. oppSideExt is measured perpendicular to the shape that fully abuts the region defined by 'cornerExtensionRegion and oppFwdExt1 and oppFwdExt2 are measured away from the short side that forms the convex corner.

'middleWires x_middleWires

  

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only when f_extension is specified and the number of wires between the two corners is this value. The valid values are 0, 1, and 2. When not specified, the default value of 2 is considered.

'includeOverlap

(Virtuoso Layout Suite EXL and higher tiers) This parameter specifies that if neighbor wires merely touches or overlaps with the window formed by two facing convex corners, it is a violation.

'backwardWire (f_sideExt f_backwardExt)

  

(Virtuoso Layout Suite EXL and higher tiers) Forms a window between the opposite corners of the two facing convex corners of the constraint by extending the f_sideExt along the edge and going backward by the f_backwardExt distance in the orthogonal direction.

Examples

Example 1: minConvexCornerSpacing with sideExclusionRegion

Example 2: minConvexCornerSpacing with sideExclusionRegion and sameSideExtension

Example 3: minConvexCornerSpacing with sideExclusionRegion, edgeForwardExtension, cornerExtensionRegion, spanLength, minOppositeWidth, and oppositeExtension

Example 4: minConvexCornerSpacing with sideExclusionRegion, lowCornerSpacing, middleWires , and includeOverlap

Example 1: minConvexCornerSpacing with sideExclusionRegion

spacings(
    ( minConvexCornerSpacing "Metal1"
     'sideExclusionRegion (0.3 0.8) 
0.6
)
) ;spacings

Example 2: minConvexCornerSpacing with sideExclusionRegion and sameSideExtension

spacings(
    ( minConvexCornerSpacing "Metal1"
     'sideExclusionRegion (0.3 0.8)
'sameSideExtension 0.2
0.6
)
) ;spacings

Example 3: minConvexCornerSpacing with sideExclusionRegion, edgeForwardExtension, cornerExtensionRegion, spanLength, minOppositeWidth, and oppositeExtension

spacings(
    ( minConvexCornerSpacing "Metal1"
     'sideExclusionRegion (0.3 0.8)
'edgeForwardExtension 0.7
'cornerExtensionRegion (0.6 0.6)
'spanLength 1.3
'minOppWidth 0.1
'oppExtension (0.2 0.3 0.7)
0.5
)
) ;spacings

Example 4: minConvexCornerSpacing with sideExclusionRegion, lowCornerSpacing, middleWires , and includeOverlap

spacings(
 (minConvexCornerSpacing "Metal1"
'sideExclusionRegion (0.03 0.07)
'lowCornerSpacing 0.05
'middleWires 1
'includeOverlap
0.08
)
) ;spacings

Return to top
 ⠀
X