The first argument of fill is always the fill region, not the keep-out. exclude= is the keep-out.
fillAvailable · yields polygons
layer dummy = fill(bounds(), exclude=m1 | via, shape=rect(0.5 um, 0.5 um), step=1.0 um, space=0.2 um)
First argument = fill region, not keep-out. exclude= is the keep-out. shape=rect(w,h) plus shape=circle(r) / hexagon(w) / octagon(w) / diamond(w) (polygons inscribed in the tile bbox), a scalar or 2-axis step, a skew step=px,py,qx,qy, space, stagger=yes, origin=x,y / auto / multi, density=r and window=w. Only whole cells, no clip.
Notes
origin=x,y shifts the grid. origin=auto picks the offset with the most cells. origin=multi unions the quarter planes without overlap.density=r: cells in raster order until the global density is ≥ r. With window=w: a local cap per window (non-overlapping tiles of edge length w).fill_leftAvailable · yields polygons
layer left = fill_left(die, exclude=keep, shape=rect(0.5 um, 0.5 um), step=1.0 um)
Remainder (region − exclude) − dummy after the same grid — one layer, not individual cells. For post-processing or a density leftover.
Notes
densityAvailable · yields window polygons
check "D" : density(m1, window=50 um, step=25 um) < 0.20
layer low = density(m1, window=50 um, step=25 um) < 0.20
Sliding windows; markers = violating windows. inside= clips the windows. how=convolve weights with a separable tent (centre > edge). As a layer the same expression is a filter, not an extra operator.
Notes
bounds clip onto inside or the cell.< 0.20.> 0.70.measure / propertyAvailable · yields property check
measure m1 min_width, min_space
check "EQ.1" : property(m1, min_width) * property(m1, min_space) < 0.08 um2
The product property(m1, min_width) * property(m1, min_space) is measured live. measure is an accepted declaration with no effect of its own. Other products stay unsupported. Used as a layer, property(a, name) stands for the shapes of a.
Notes
critical_areaAvailable · yields polygons
layer ca = critical_area(m1, how=short, space=0.18 um)
layer ca = critical_area(m1, how=open, width=0.14 um)
Area in which a defect of size space/width creates a short or an open. how=short: overlap of the islands grown by space/2. how=open: remainder after an opening of width/2. With connect: shorts only between different nets.
Notes
how=open follows narrow spots (width).