coverage¶
Every region of the target layer (layers[0]) must lie inside the union of the
remaining layers; any part sticking out is a violation. Used for “device must be
covered by” rules such as a pin marker that must sit on real metal.
Semantics¶
Computed as the Difference residual target − (cover₁ ∪ cover₂ ∪ …) over the
cached tiles — see Virtual layer operations. Unlike min_enclosure, this handles
“covered by A or B” directly (a union of covers, not a single enclosing layer) and
flags a target region that misses the cover entirely, not just one that’s short on
margin at an edge.
Layers¶
layers[0]The target layer that must be covered.
layers[1..]One or more cover layers; the target only has to lie inside their union.
Parameters¶
None. value is unused (set it to 0.0 by convention).
Violation markers¶
One violation per residual region — the part of the target left over after subtracting all cover layers — owned by the tile containing its centroid.
KLayout equivalent¶
target.not(cover1.join(cover2, …)) — a plain NOT against the joined covers.
Example¶
- id: Pin.a
check: coverage
layers: [Activ.pin, Activ]
value: 0.0