google / globalfoundries-pdk-libs-gf180mcu_fd_pv

Apache License 2.0
12 stars 6 forks source link

drc: consider using naming convention / scoping to differentiate between global and local layers #77

Open proppy opened 1 year ago

proppy commented 1 year ago

Currently most DRC check manipulate two types of layer:

I wonder if it would make sense to adopt a naming convention to differentiate between the two or even better implement each rule in a separate function w/ a block so that it can be explicit the scoping ex:

def mimtm3_l1(fusetop, mimtm_virtual)
  mimtm3_l1 = fusetop.enclosed(mimtm_virtual, 0.6.um).polygons(0.001.um)
  mimtm3_l2 = fusetop.not_inside(mimtm_virtual)
  mimtm3_l = mimtm3_l1.join(mimtm3_l2)
  yield mimtm3_l
end
mimtm3_l1(fusetop, mimtm_virtual) { |violations| violations.output('MIMTM.3', 'MIMTM.3 : Minimum MiM bottom plate overlap of Top plate: 0.6um') }