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

minEdgeAdjacentLength

spacings(
( minEdgeAdjacentLength tx_layer 
 'maxLength f_maxLength 
 ['edgeCount x_maxEdges] 
 ['convexCorner ['exceptWithin f_within] 
  | 'concaveCorner
  | 'threeConcaveCorners ['width f_width] 
 ] 
 f_length 
)
( minEdgeAdjacentLength tx_layer 
 'maxLength f_maxLength 
 ['edgeCount x_maxEdges] 
 (f_length1 f_length2) 
)
) ;spacings

Specifies the minimum lengths allowed for edges adjacent to a short edge that is less than maxLength long.

Foundries require control over the minimum length of edges adjacent to a short edge of a polygon. Some foundries require control over the minimum length of each edge adjacent to a short edge.

When 'exceptWithin is specified, the constraint does not apply if a neighboring shape is present inside the region highlighted in pink, as shown below.

Values

tx_layer

The layer on which the constraint is applied.

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

f_length

The lengths of both adjacent edges must be greater than or equal to this value.

f_length1 f_length2

The length of one adjacent edge must be greater than or equal to length1 and the length of the other adjacent edge must be greater than or equal to length2. The two lengths can be identical.

Parameters

'maxLength f_maxLength

The constraint applies only if the length of a short edge is less than this value.

'edgeCount x_maxEdges

Specifies that up to edgeCount consecutive edges that are less than maxLength in length are allowed, but more than edgeCount in a row is a violation.

'convexCorner

If one edge of a convex corner that lies between two concave corners is less than length (the constraint value), the other edge must be greater than or equal to maxLength. The constraint does not apply if a convex corner is not found between two concave corners.

'exceptWithin f_within

The constraint does not apply if a neighboring shape is present (on the same layer as the polygon) at a distance less than this value from the convex corner or the two edges that form the convex corner. The distance is measured in Euclidean distance.

'concaveCorner

(Virtuoso Advanced Node for Layout Standard) If one edge of a concave corner that lies between two convex corners is less than maxLength, the other edge must be greater than or equal to length (the constraint value). The constraint does not apply if a concave corner is not found between two convex corners.

'threeConcaveCorners

(Virtuoso Advanced Node for Layout Only) The constraint applies only if there exist three consecutive concave corners with two convex corners between them. The length of the edges that form the middle concave corner must be greater than or equal to length (the constraint value).

Type: Boolean

'width f_width

(Virtuoso Advanced Node for Layout Only) The constraint applies only if the widths of the shapes that are connected to form the middle concave corner are less than or equal to this value.

Examples

Example 1: minEdgeAdjacentLength with maxLength and edgeCount

If a polygon has at most one short edge less than 0.6 long, the edges adjacent to the short edge must be at least 1.0 long.

Example 2: minEdgeAdjacentLength with maxLength, edgeCount, and convexCorner

The convex corner formed by 0.4 and 0.8 long edges lies between two concave corners. If one edge of the convex corner is less than 1.0, then the other edge must be greater than or equal to 0.6, and if both edges are less than 1.0, then both edges must also be greater than or equal to 0.6.

Example 3: minEdgeAdjacentLength with maxLength, edgeCount, threeConcaveCorners, and width

If there exist three consecutive concave (C) corners with two convex (V) corners in between, then the length of both edges that form the middle concave corner must be greater than or equal to 0.08, provided the shapes that are connected to form the middle concave corner are less than or equal to 0.04 wide.


Return to top
 ⠀
X