min_notch¶
Minimum notch — the dual of min_width: a concave gap between two facing, inward-pointing walls of the same merged region (as opposed to min_space, which measures the gap between two different regions).
Semantics¶
Runs on the same per-tile merged cache and the same facing-wall scan as min_width,
turned the other way round: instead of measuring the material between two walls facing
each other, it measures the empty gap between two walls facing away from each other,
which is a slot cut into the region or a thin hole through it. A notch narrower than
value is a violation; each notch is reported once, and the comparison is exact on
the grid (the value rounds up to whole DBU once, and every span is an integer). Three
passes run, covering every combination of wall orientation:
Rectilinear scan. Two vertical walls (a horizontal-direction notch) or two horizontal walls (a vertical-direction notch), found by sweeping bands across the region and pairing facing edges whose empty span is under
value.Oblique pass. Two anti-parallel diagonal walls, with the gap measured along each edge’s own normal over the run the two edges share.
Mixed pass. One rectilinear wall facing one diagonal wall across the gap — the shape a diagonal stroke makes closing in on a straight stem, the tip of a “V” or the leg of a “K”. The pair is measured at its closest approach and accepted only when each wall’s closest point on the other lies on its own empty side.
What the width scan reads that a notch has no use for is left out: a plain box has no notch, and the corner and acute-tip readings are about material narrowing to nothing.
A tile’s copy of a layer is the merge of the shapes reaching its zone, so a region whose parts join beyond the zone is several polygons there: a ring with a slit cut through one wall is, in the tile of the slit, the two halves of that wall. The scan above finds no notch in either, and min_space passes over two pieces of one region, so the gap between two pieces of one region in a tile is read as well — as a spacing scan reads a pair, at the closest approach, kept where the two walls run alongside — and owned by the low end of the stretch they share, the same point the scan owns the notch by in a tile that holds the shape whole.
Layers¶
One layer — the notch is measured within its own merged geometry (holes included).
Parameters¶
angleOptional.
bentrestricts the rule to the 45° gaps alone: the oblique pass runs and the axis-aligned ones stay the plain rule’s business.lengthOptional, µm. Only wall pairs sharing more than this much run count — a notch asked only of slots longer than so much, or of a bent gap long enough to be a slot rather than a chamfer.
Violation markers¶
One edge marker per notch, spanning the gap between the two facing walls at their narrowest point.
KLayout equivalent¶
Region#space(value) on a single region — KLayout’s native spacing check reports both
inter-polygon gaps and same-polygon (concave) notches from one operator; gdscheck splits
these into min_space and min_notch as two separate rules sharing one rule ID
(e.g. IHP’s TM2.b is min_space + min_notch together).
Example¶
- id: TM2.b
check: min_notch
layers: [TopMetal2]
value: 2.00