Nguyen Dao
05/14/2021, 12:45 PMMitch Bailey
05/17/2021, 7:59 AM<https://github.com/laurentc2/SKY130_for_KLayout/blob/main/drc/drc_sky130.lydrc>
these appear to be the relevant rules.
via_edges_with_less_enclosure_m2 = m2.enclosing(via, 0.085, projection).second_edges opposite7 = (via.edges - via_edges_with_less_enclosure_m2).width(0.14 + 1.dbu, projection).polygons
via.not_interacting(opposite7).output("m2.5", "m2.5 : min. m2 enclosure of via of 2 opposite edges : 0.085um")
I found a discussion on the rule development at <https://www.klayout.de/forum/discussion/1204/contact-via-drc-min-enclosure-on-2-opposite-sides>
Is the via size 0.14umx0.14um? (The m1 via rules have a similar check, but use 0.18um as width size.) Looks like the via size should be 0.15um.
Maybe change width(0.14
to width(0.15
and see what happens.Nguyen Dao
06/11/2021, 9:43 AMsky130.lydrc
from Klayout that uses metal width instead of via width in opposite7 expression.
The sky130.lydrc
from open_pdks repo helps fix all those issues.