endOfLineKeepout
spacings( ( endOfLineKeepouttx_layer'widthf_width['horizontal | 'vertical] ['minEolWidthf_minEolWidth] ['widthRanges (g_widthRanges)] ['cornerOnly [{'exceptFromFrontEdge | 'exceptFromBackEdge ['forwardGapf_forwardGap] ['exactAlignedf_exactAligned] ['extraForwardKeepout (f_minKeepoutf_maxKeepout)]} ['otherEol ['dualEolSpacingf_minEolWidthf_maxEolWidth)]] ['twoSides] ] ['exceptSpacingt_spacing| 'exceptLineEndGap] ['withinCutt_withinCut'cutLayersl_cutLayers] ['exceptEolSpacingt_eolSpacing] ] ['diffMask |'sameMask] ['exceptSameMetal] ['exceptSideWithinf_withinRange] ['orGroupIDx_orGroupID['otherEndEol]] ['insideLayers (tx_layer1tx_layer2…tx_layerN) ['insidePurposes (t_purpose1t_purpose2…t_purposeN)] | 'outsideLayers (tx_layer1tx_layer2…tx_layerN) ['outsidePurposes (t_purpose1t_purpose2…t_purposeN)] ] ['exceptSameSideMetal (t_backwardExt1t_sideExt1t_forwardExt1)] ['exceptNoOppSideMetal (t_backwardExt2t_sideExt2t_forwardExt2)] ['eolSpacingRangeg_eolSpacingRange['eolSideExtensionRangef_eolSideExtensionRange]] ['otherEolSpacingRangeg_otherEolSpacingRange] ['jointAsEol] ['checkOtherWidth] | ['otherWidthRangesg_otherWidthRanges] ['equalRectWidth] ['ignoreJoint] ['orthogonalPair] ['mask1 | 'mask2 | 'mask3] (f_backwardExt f_sideExt f_forwardExt) )
) ;spacings
Specifies the keepout region around the end-of-line edge for shapes with end-of-line width less than the given value. Shapes on the same layer must not intersect this keepout region, which extends both forward (forwardExt) and backward (backwardExt) from the end-of-line edge and on both sides (sideExt) of the end-of-line edge.
In some processes, a violation occurs if a corner of another shape intersects the keepout region, while in other processes, neither a corner nor an edge of another shape can intersect the keepout region. However, in some processes, an intersecting corner or edge of a contiguous same-metal shape is not considered a violation.

Values
|
The layer on which the constraint is applied. Type: String (layer and purpose names) or Integer (layer number) |
|
Parameters
|
The constraint applies to shapes with end-of-line width less than this value. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The direction in which the constraint is applied to ends-of-lines. If it is not specified, the constraint is applied to all ends-of-lines. |
|
|
(Virtuoso Advanced Node for Layout Only) The constraint applies only if the end-of-line width is greater than or equal to the given value. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only if the end-of-line width falls in these width ranges and also meets f_width.
Type: Floating-point numbers specifying width |
|
|
Only a corner inside the keepout region is a violation. Otherwise, an edge or a corner of a neighboring shape intersecting the keepout region is a violation. |
|
|
The corner or edge of a contiguous same-metal shape intersecting the keepout region is not a violation. |
|
|
(Virtuoso Advanced Node for Layout Standard) Neighboring shapes that intersect the front (top) edge of the keepout region do not cause a violation. |
|
|
(Virtuoso Advanced Node for Layout Standard) Neighboring shapes that intersect the back (bottom) edge of the keepout region do not cause a violation. |
|
|
(Virtuoso Advanced Node for Layout Only) If the spacing between the shape that is face-to-face with the end-of-line shape (inside the search window defined by backwardExt, sideExt, and forwardGap) is less than the forwardGap value, then it must be equal to the forwardExt value specified for the constraint. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) A different spacing or search window extension between two aligned end-of-line edges with a same width to be the specified value. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) Specifies that an extra keepout is formed by the side extension and the specified values in the forward extension. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint applies if the neighbor wire should also be an end-of-line. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint applies if the neighbor end-of-line has a width greater than or equal to the f_minEolWidth value and is less than the f_maxEolWidth value. |
|
|
(Virtuoso Advanced Node for Layout Only) The constraint applies only if the end-of-line shape is on the specified mask. |
|
|
(Virtuoso Advanced Node for Layout Only) The constraint applies only if the end-of-line shape has two neighboring shapes, one on each side, in the keepout region. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint does not apply when the line-end spacing of the neighbor wire is equal to this given value. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint does not apply if the lineEndGap constraint condition on this layer is met. This exemption would be applied on a triggering line end or as a neighbor wire meeting the |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint applies when there is a cut on one of the layers specified with l_cutLayers within the given value of t_withinCut to the line-end. A maximum of two cut layers can be specified with l_cutLayers. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint does not apply when the spacing of the line-end edge is less than or equal to this value. |
|
|
(Virtuoso Advanced Node for Layout Standard) The extension values (lowSideExt and highSideExt) that define the exemption regions on both sides of the end-of-line edge. Shapes that intersect these exemption regions do not cause a violation. |
|
|
(Virtuoso Advanced Node for Layout Standard) An ID of type integer. All constraints with the same ID are treated as OR constraints; constraints with a different ID are treated as AND constraints. Typically, |
|
|
(Virtuoso Advanced Node for Layout Only) If the edge found inside the keepout region is an end-of-line edge, a violation occurs only if this "other" end-of-line edge also fails all |
|
|
|
|
|
Determines if the constraint applies, based on the presence or absence of one or more layers.
For more information, see |
|
|
The |
|
|
|
|
|
(Virtuoso Layout Suite EXL and higher tiers) Specifies a search window formed by three values defining the backward extension, side extension, and forward extension based on the line-end. If there is another wire in that window on the same side of a wire triggering the violation, the constraint does not apply. |
|
|
|
|
|
(Virtuoso Layout Suite EXL and higher tiers) Specifies a search window formed by three values defining the backward extension, side extension, and forward extension based on the line-end. If there is no wire in the window on the opposite side of a wire triggering the violation, the violation is exempted. |
|
|
The |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint applies when the spacing of the line-end edge of the triggering EOL is in this range. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint applies when no shapes are present in the window formed with the EOL spacing and the value specified by this parameter. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The two edges at the joint of two intersecting shapes are also treated as end-of-line. For the edge to be considered end-of-line, one of the edges of the intersecting shapes that forms the joint edge must have width less than the width parameter. |
|
|
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only if the length of the end-of-line edge is equal to the width of the shape. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint ignores violations for the joint inside the keepout region. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only to the shapes in orthogonal directions. |
|
Examples
- Example 1: endOfLineKeepout
- Example 2: endOfLineKeepout with widthRanges
- Example 3: endOfLineKeepout with cornerOnly and exceptFromFrontEdge
- Example 4: endOfLineKeepout with exceptSideWithin
- Example 5: endOfLineKeepout with forwardGap
- Example 6: endOfLineKeepout with orGroupID (OR)
- Example 7: endOfLineKeepout with orGroupID (OR and AND)
- Example 8: endOfLineKeepout with mask, twoSides, and diffMask
- Example 9: endOfLineKeepout with otherEndEol
- Example 10: endOfLineKeepout with exceptSameSideMetal
- Example 11: endOfLineKeepout with exceptNoOppSideMetal
- Example 12: endOfLineKeepout with exceptSpacing and exceptEolSpacing
- Example 13: endOfLineKeepout with eolSpacingRange and otherEolSpacingRange
- Example 14: endOfLineKeepout with jointAsEol
- Example 15: endOfLineKeepout with checkOtherWidth
- Example 16: endOfLineKeepout with equalRectWidth
- Example 17: endOfLineKeepout with ignoreJoint
Example 1: endOfLineKeepout
The keepout region for a wire with end-of-line width less than 0.2 and minimum EOL width less than or equal to 0.05 is defined by backward, side, and forward extension values of 0.03, 0.05, and 0.1, respectively. The constraint is violated if the corner or edge of a neighboring shape intersects the keepout region.

Example 2: endOfLineKeepout with widthRanges

Example 3: endOfLineKeepout with cornerOnly and exceptFromFrontEdge
The keepout region for a wire with end-of-line width less than 0.2 is defined by backward, side, and forward extension values of 0.03, 0.05, and 0.1, respectively. The constraint is violated if the corner of a neighboring shape, which is not coming from the front edge of the keepout region, intersects the keepout region.

Example 4: endOfLineKeepout with exceptSideWithin
The keepout region for a wire with end-of-line width less than 0.2 is defined by backward, side, and forward extension values of 0.03, 0.15, and 0.1, respectively. The constraint is violated if the corner of a neighboring shape, which is not coming from the front edge of the keepout region, intersects the keepout region, except when it overlaps the exempted regions.

Example 5: endOfLineKeepout with forwardGap
The keepout region for a wire with end-of-line width less than 0.2 is defined by backward, side, and forward extension values of 0.03, 0.05, and 0.1, respectively. If the distance between the wire and a face-to-face shape is less than 0.15, then the spacing between them must be 0.1 (the forward extension value).

Example 6: endOfLineKeepout with orGroupID (OR)
Two keepout regions for a wire with end-of-line width less than 0.2 are defined by backward, side, and forward extension values of 0.03, 0.05, and 0.0, respectively, for region 1, and 0.0, 0.05, and 0.1, respectively, for region 2. The constraint is violated if all of the following conditions are met:
- The corner of a neighboring shape, which is not coming from the front edge of keepout region 1, intersects keepout region 1.
- The corner of a neighboring shape, which is not coming from the back edge of keepout region 2, intersects keepout region 2.
-
Both neighboring shapes are on the same side of the end-of-line wire.

Example 7: endOfLineKeepout with orGroupID (OR and AND)
In the following example, a violation occurs if all of the first three rules fail or if both of the last two rules fail:
spacings( ( endOfLineKeepout "Metal1" 'width 0.06 'cornerOnly
'exceptFromFrontEdge
'orGroupID 1
(0.00 0.08 0.12)
)
( endOfLineKeepout "Metal1" 'width 0.06
'cornerOnly
'exceptFromBackEdge
'orGroupID 1
(0.04 0.08 0.00)
)
( endOfLineKeepout "Metal1" 'width 0.06
'cornerOnly
'orGroupID 1
(0.04 0.06 0.12)
)
( endOfLineKeepout "Metal1" 'width 0.09
'cornerOnly
'exceptFromFrontEdge
'orGroupID 2
(0.04 0.08 0.12)
)
( endOfLineKeepout "Metal1" 'width 0.09
'cornerOnly
'exceptFromBackEdge
'orGroupID 2
(0.04 0.00 0.12)
)
) ;spacings
Example 8: endOfLineKeepout with mask, twoSides, and diffMask
The keepout region for a wire with end-of-line width less than 0.2 is defined by backward, side, and forward extension values of 0.03, 0.05, and 0.1, respectively. The constraint applies only to a mask1 wire with two neighboring wires on a different mask, one on each side. The neighboring wires must also satisfy 'cornerOnly and 'exceptFromBackEdge.

Example 9: endOfLineKeepout with otherEndEol
Two endOfLineKeepout constraints in an OR group define two keepout regions for wires with end-of-line width less than 0.1; region 1 with backward, side, and forward extensions of 0.0, 0.2, and 0.2, respectively; and region 2 with backward, side, and forward extensions of 0.0, 0.0, and 0.15, respectively. A violation does not occur if an end-of-line edge that passes one of the constraints in the OR group is found inside the keepout region.

Example 10: endOfLineKeepout with exceptSameSideMetal
The following diagram illustrates the exceptSameSideMetal parameter.

Example 11: endOfLineKeepout with exceptNoOppSideMetal
The following diagram illustrates the exceptNoOppSideMetal parameter.

Example 12: endOfLineKeepout with exceptSpacing and exceptEolSpacing
The first constraint applies only when the neighbor wire has another wire with an end-of-line spacing of exactly 0.06. The second constraint applies only when there is a cut on either Via1 or Via2 within 0.05 from the end-of-line edge.
spacings( (endOfLineKeepout "Metal1" 'width 0.08 'cornerOnly 'exceptSpacing 0.06
(0.03 0.06 0.07))
(endOfLineKeepout "Metal1" 'width 0.08
'cornerOnly 'exceptEolSpacing 0.06
'withinCut 0.05 'cutLayers ("Via1" "Via2")
(0.03 0.06 0.07))
) ;spacings
Example 13: endOfLineKeepout with eolSpacingRange and otherEolSpacingRange
The following examples illustrate the eolSpacingRange and otherEolSpacingRange parameters.


Example 14: endOfLineKeepout with jointAsEol
Two edges at a joint of two intersecting shapes are treated as end-of-line when one of the edges of the intersecting shapes that forms the joint edge has width less than 0.6.

Example 15: endOfLineKeepout with checkOtherWidth
The constraint applies when the width of the other shape is also less than 0.6. Additionally, the width of the other shape is checked only in the direction orthogonal to the direction parameter, which is specified here as horizontal.

Example 16: endOfLineKeepout with equalRectWidth
The constraint applies only if the length of the end-of-line edge is equal to 0.6.

Example 17: endOfLineKeepout with ignoreJoint
The constraint does not apply when the end-of-line keepout region contains only wire joints.

Return to top