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

minStepEdgeLength

spacings(
( minStepEdgeLength tx_layer
 ['any | 'horizontalEdge | 'verticalEdge]
 ['allCorner | 'concaveCorner | 'convexCorner | 'mixedCorner]
 ['extendToAlign (g_width g_spacing)
  ['extendOnly | 'alignOnly]]
 ['width g_width ['adjEolSpacingRange g_eolSpaceRange]]
 ['protrusionEdge] 
 ['jogEdge] 
 ['adjJogEdge] 
 ['adjNotchEdge]
 ['exceptExactLength ((f_exactLength f_adjLength) …)]
 ['exceptExactBothLength ((f_exactLength f_exactAdjLength) …)]
 ['exceptRectangle]
 ['fillerOnly]
 {f_edgeLength | (f_lengthSum f_edgeLength)}
)
) ;spacings

Specifies the minimum edge length for a shape on the specified layer.

Values

tx_layer

The layer on which the constraint is applied.

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

f_edgeLength

The length of each edge must be greater than or equal to this value.

Parameters

'any | 'horizontalEdge | 'verticalEdge

  

(Virtuoso Advanced Node for Layout Standard) The constraint applies only to the edges in the specified direction. The default is 'any.

Type: Boolean

'allCorner | 'concaveCorner | 'convexCorner | 'mixedCorner

  

(Virtuoso Advanced Node for Layout Standard) The constraint applies to an edge between two concave corners, two convex corners, or a concave and a convex corner. The default is 'allCorner.

Type: Boolean

'extendToAlign (g_width g_spacing) ['extendOnly | 'alignOnly]

  

(Virtuoso Advanced Node for Layout Only) Specifies that if shapes on the upper and lower edges within a cell row have width equal to g_width, the shapes are extended and aligned. In addition, any gap on the same edge that is less than or equal to g_spacing is filled and merged while calculating the length.

Optionally, you can specify either of the following additional parameters:

  • extendOnly: Only the extension operation is performed.
  • alignOnly: Only the alignment operation is performed.

'width g_width

(Virtuoso Advanced Node for Layout Only) The constraint applies only on shapes with width equal to the given value.

'adjEolSpacingRange g_eolSpaceRange

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies to an edge if any one of its adjacent edges is an end-of-line edge meeting the width parameter and this adjacent edge has another perfectly aligned end-to end-shape at a spacing specified by this parameter.

'protrusionEdge

(Virtuoso Advanced Node for Layout Only) The constraint applies only to a protrusion edge.

'jogEdge

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only to a jog edge (Z shape).

'adjJogEdge

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only to an edge adjacent to a jog edge.

'adjNotchEdge

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only to an edge adjacent to a notch edge.

The adjJogEdge and adjNotchEdge parameters can be used together in a rule in case the rule is to be applied on an edge that is adjacent to a jog as well as a notch.

'exceptExactLength ((f_exactLength f_adjLength) …)

  

(Virtuoso Advanced Node for Layout Standard) The constraint does not apply if an edge with length equal to exactLength has an adjacent edge with length less than or equal to adjLength.

'exceptExactBothLength ((f_exactLength f_exactAdjLength) …)

  

(Virtuoso Advanced Node for Layout Standard) The constraint does not apply if an edge with length equal to exactLength has an adjacent edge with length equal to exactAdjLength.

'exceptRectangle

(Virtuoso Layout Suite EXL and higher tiers) The constraint does not apply on rectangular shapes.

'fillerOnly

(Virtuoso Layout Suite EXL and higher tiers) This parameter specifies that the minimum edge length rule is considered only in filler insertions in placement.

f_edgeLength

The constraint does not apply if the sum of the consecutive edges that are shorter than edgeLength is less than this value.

Examples

Example 1: minStepEdgeLength with adjEolSpacingRange

The constraint applies to an edge if any one of its adjacent edges is an end-of-line edge with width equal to 0.3 and this adjacent edge has another perfectly aligned end-to end-shape within the adjEolSpacingRange value of 0.6.

Example 2: minStepEdgeLength with horizontalEdge, convexCorner, and mixedCorner

On layer Metal1, horizontal edges between convex corners must be at least 0.12 long and horizontal edges between a concave and a convex corner must be at least 0.1 long.

Example 3: minStepEdgeLength with protrusionEdge

The constraint applies only to a protrusion edge.

Example 4: minStepEdgeLength with jogEdge

The constraint applies only to a jog edge or a Z shape.

Example 5: minStepEdgeLength with adjJogEdge

The constraint applies only to an edge adjacent to a jog edge.

Example 6: minStepEdgeLength with adjNotchEdge

The constraint applies only to an edge adjacent to a notch edge.

Example 7: minStepEdgeLength with extendToAlign

On layer Implant1, horizontal edges between two convex corners must be at least 0.04. Shapes with width 0.05 with a gap less than or equal to 0.07 will be merged.

spacings(
    (minStepEdgeLength "Implant1"  
     'convexCorner  
'horizontalEdge
'extendToAlign (0.05 0.07)
0.04)
) ;spacings

Example 8: minStepEdgeLength with exceptExactLength and exceptExactBothLength

All horizontal edges on layer Metal1 must be at least 0.12 long. The constraint does not apply if a 0.1 long horizontal edge has an adjacent edge with length less than or equal to 0.6 or if a 0.08 long horizontal edge has an adjacent edge with length equal to 0.04.


Return to top
 ⠀
X