minEndOfLineCutSpacing
orderedSpacings( ( minEndOfLineCutSpacingtx_cutLayer tx_metalLayer['cutClass {f_width| (f_width f_length) |t_name} ['toCutClass ( ({f_width1| (f_width1 f_lenght1) |t_name1} (f_cS1 f_cS2)) … ) ] ] 'widthf_width'prlf_prl'enclosure (f_eolEnclosure f_otherEnclosure) 'extension (f_sideExt f_backwardExt) 'spanLengthf_spanLength(f_cutSpacing1 f_cutSpacing2) )
) ;orderedSpacings
Defines the minimum spacing required between via cuts that are near the end-of-line edges of the enclosing metal shape, based on the parallel run length (prl) between the via cuts.
The placement of the via cut within the enclosing metal shape, together with the end-of-line width and span length of the enclosing metal shape, determines the via cut edges that must satisfy the spacing requirement. For example, in the figure below:
- The end-of-line width is less than eolWidth and the span length is less than spanLength.
- The end-of-line edge enclosure is less than eolEnclosure and the enclosure of the bottom cut edge is exactly equal to otherEnclosure.
Because the span length is less than spanLength, a neighboring wire must overlap with only the search region along the edge that satisfies otherEnclosure (and not with the other search region that is along the opposite edge)—a condition that is satisfied.
The cut spacing applies to the vertical blue edge of the via cut because it is opposite the end-of-line edge and to the horizontal blue edge of the via cut because it is opposite the edge that satisfies otherEnclosure.

In the next example shown in the figure below:
- The end-of-line width is less than eolWidth and the span length is greater than or equal to spanLength.
- The end-of-line edge enclosure is less than eolEnclosure and the enclosure of the bottom cut edge is exactly equal to otherEnclosure.
Because the via cut is within eolEnclosure of both end-of-line edges, the two search regions overlap, with one extending backward from the left end-of-line edge and the other extending backward from the right end-of-line edge, as shown below. This also means that there is no cut edge opposite the end-of-line edge to which the cut spacing applies. Therefore, the only edge to which the cut spacing applies is the horizontal blue edge opposite the edge that satisfies otherEnclosure. Note that a neighboring wire overlaps with both the search regions—a condition that must satisfied when span length is greater than or equal to spanLength.

If a cut layer has cut classes, only one minEndOfLineCutSpacing constraint should be defined for each cut class on that cut layer. If the cut layer does not have cut classes, only one minEndOfLineCutSpacing constraint should be defined for that layer.
Cut spacing based on the parallel run length between the via cuts is measured as shown below:

Values
Parameters
|
The cut class to which the constraint applies, specified by width, by width and length, or by name (as defined in a cutClasses constraint). |
|
|
|
|
|
A list of cut classes and the required spacing from the named cut class to each cut class in the list. |
|
|
The constraint applies only if the end-of-line width of the enclosing metal shape is less than this value. |
|
|
The spacing between the two via cuts must be greater than or equal to: |
|
|
The constraint applies only if the enclosure on the end-of-line edge is less than eolEnclosure and the enclosure on a cut edge orthogonal to the end-of-line edge is exactly equal to otherEnclosure. |
|
|
The two values together specify a search region that extends sideExt along the end-of-line edge with enclosure less than eolEnclosure, away from the wire, and backwardExt along an orthogonal edge. |
|
|
The span length of the enclosing metal shape.
|
|
Example
The cut spacing required between Via1 via cuts enclosed by a Metal2 shape is as follows:
- (0.5 0.6) between two VA via cuts
- (0.2 0.2) between VA and VB via cuts
- (0.3 0.3) between VA and VC via cuts
orderedspacings( ( minEndOfLineCutSpacing "Via1" "Metal2" 'cutClass "VA"
'toCutClass (("VB" (0.2 0.2)) ("VC" (0.3 0.3)))
'width 0.3
'prl 0
'enclosure (0.2 0.3)
'extension (0.4 0.4)
'spanLength 0.3
(0.5 0.6)
)
) ;orderedspacings
Return to top