################################################################################################
# Copyright 2023 GlobalFoundries PDK Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
################################################################################################

#================================================
#------------- LAYERS DERIVATIONS ---------------
#================================================

polygons_count = 0
logger.info('Read in polygons from layers.')

def get_polygons(layer, data_type)
  ps = polygons(layer, data_type)
  $run_mode == 'deep' ? ps : ps.merged
end

comp = get_polygons(22, 0)
count = comp.count
logger.info("comp has #{count} polygons")
polygons_count += count

dnwell = get_polygons(12, 0)
count = dnwell.count
logger.info("dnwell has #{count} polygons")
polygons_count += count

nwell = get_polygons(21, 0)
count = nwell.count
logger.info("nwell has #{count} polygons")
polygons_count += count

lvpwell = get_polygons(204, 0)
count = lvpwell.count
logger.info("lvpwell has #{count} polygons")
polygons_count += count

hvnddd = get_polygons(202, 0)
count = hvnddd.count
logger.info("hvnddd has #{count} polygons")
polygons_count += count

hvpddd = get_polygons(197, 0)
count = hvpddd.count
logger.info("hvpddd has #{count} polygons")
polygons_count += count

dualgate2_d = get_polygons(144, 1)
count = dualgate2_d.count
logger.info("dualgate2_d has #{count} polygons")
polygons_count += count

poly2 = get_polygons(30, 0)
count = poly2.count
logger.info("poly2 has #{count} polygons")
polygons_count += count

nplus = get_polygons(32, 0)
count = nplus.count
logger.info("nplus has #{count} polygons")
polygons_count += count

pplus = get_polygons(31, 0)
count = pplus.count
logger.info("pplus has #{count} polygons")
polygons_count += count

sab = get_polygons(49, 0)
count = sab.count
logger.info("sab has #{count} polygons")
polygons_count += count

esd = get_polygons(24, 0)
count = esd.count
logger.info("esd has #{count} polygons")
polygons_count += count

resistor = get_polygons(62, 0)
count = resistor.count
logger.info("resistor has #{count} polygons")
polygons_count += count

fhres = get_polygons(227, 0)
count = fhres.count
logger.info("fhres has #{count} polygons")
polygons_count += count

fusetop = get_polygons(75, 0)
count = fusetop.count
logger.info("fusetop has #{count} polygons")
polygons_count += count

fusewindow_d = get_polygons(96, 1)
count = fusewindow_d.count
logger.info("fusewindow_d has #{count} polygons")
polygons_count += count

polyfuse = get_polygons(220, 0)
count = polyfuse.count
logger.info("polyfuse has #{count} polygons")
polygons_count += count

mvsd = get_polygons(210, 0)
count = mvsd.count
logger.info("mvsd has #{count} polygons")
polygons_count += count

mvpsd = get_polygons(11, 39)
count = mvpsd.count
logger.info("mvpsd has #{count} polygons")
polygons_count += count

nat = get_polygons(5, 0)
count = nat.count
logger.info("nat has #{count} polygons")
polygons_count += count

comp_dummy = get_polygons(22, 4)
count = comp_dummy.count
logger.info("comp_dummy has #{count} polygons")
polygons_count += count

poly2_dummy = get_polygons(30, 4)
count = poly2_dummy.count
logger.info("poly2_dummy has #{count} polygons")
polygons_count += count

schottky_diode = get_polygons(241, 0)
count = schottky_diode.count
logger.info("schottky_diode has #{count} polygons")
polygons_count += count

zener = get_polygons(178, 0)
count = zener.count
logger.info("zener has #{count} polygons")
polygons_count += count

res_mk = get_polygons(110, 5)
count = res_mk.count
logger.info("res_mk has #{count} polygons")
polygons_count += count

opc_drc = get_polygons(124, 5)
count = opc_drc.count
logger.info("opc_drc has #{count} polygons")
polygons_count += count

ndmy = get_polygons(111, 5)
count = ndmy.count
logger.info("ndmy has #{count} polygons")
polygons_count += count

pmndmy = get_polygons(152, 5)
count = pmndmy.count
logger.info("pmndmy has #{count} polygons")
polygons_count += count

v5_xtor = get_polygons(112, 1)
count = v5_xtor.count
logger.info("v5_xtor has #{count} polygons")
polygons_count += count

cap_mk = get_polygons(117, 5)
count = cap_mk.count
logger.info("cap_mk has #{count} polygons")
polygons_count += count

mos_cap_mk = get_polygons(166, 5)
count = mos_cap_mk.count
logger.info("mos_cap_mk has #{count} polygons")
polygons_count += count

ind_mk = get_polygons(151, 5)
count = ind_mk.count
logger.info("ind_mk has #{count} polygons")
polygons_count += count

diode_mk = get_polygons(115, 5)
count = diode_mk.count
logger.info("diode_mk has #{count} polygons")
polygons_count += count

drc_bjt = get_polygons(127, 5)
count = drc_bjt.count
logger.info("drc_bjt has #{count} polygons")
polygons_count += count

lvs_bjt = get_polygons(118, 5)
count = lvs_bjt.count
logger.info("lvs_bjt has #{count} polygons")
polygons_count += count

mim_l_mk = get_polygons(117, 10)
count = mim_l_mk.count
logger.info("mim_l_mk has #{count} polygons")
polygons_count += count

latchup_mk = get_polygons(137, 5)
count = latchup_mk.count
logger.info("latchup_mk has #{count} polygons")
polygons_count += count

guard_ring_mk = get_polygons(167, 5)
count = guard_ring_mk.count
logger.info("guard_ring_mk has #{count} polygons")
polygons_count += count

otp_mk = get_polygons(173, 5)
count = otp_mk.count
logger.info("otp_mk has #{count} polygons")
polygons_count += count

mtpmark = get_polygons(122, 5)
count = mtpmark.count
logger.info("mtpmark has #{count} polygons")
polygons_count += count

sramcore = get_polygons(108, 5)
count = sramcore.count
logger.info("sramcore has #{count} polygons")
polygons_count += count

lvs_rf = get_polygons(100, 5)
count = lvs_rf.count
logger.info("lvs_rf has #{count} polygons")
polygons_count += count

lvs_drain = get_polygons(100, 7)
count = lvs_drain.count
logger.info("lvs_drain has #{count} polygons")
polygons_count += count

hvpolyrs = get_polygons(123, 5)
count = hvpolyrs.count
logger.info("hvpolyrs has #{count} polygons")
polygons_count += count

lvs_io = get_polygons(119, 5)
count = lvs_io.count
logger.info("lvs_io has #{count} polygons")
polygons_count += count

probe_mk = get_polygons(13, 17)
count = probe_mk.count
logger.info("probe_mk has #{count} polygons")
polygons_count += count

esd_mk = get_polygons(24, 5)
count = esd_mk.count
logger.info("esd_mk has #{count} polygons")
polygons_count += count

lvs_source = get_polygons(100, 8)
count = lvs_source.count
logger.info("lvs_source has #{count} polygons")
polygons_count += count

well_diode_mk = get_polygons(153, 51)
count = well_diode_mk.count
logger.info("well_diode_mk has #{count} polygons")
polygons_count += count

ldmos_xtor = get_polygons(226, 0)
count = ldmos_xtor.count
logger.info("ldmos_xtor has #{count} polygons")
polygons_count += count

plfuse = get_polygons(125, 5)
count = plfuse.count
logger.info("plfuse has #{count} polygons")
polygons_count += count

efuse_mk = get_polygons(80, 5)
count = efuse_mk.count
logger.info("efuse_mk has #{count} polygons")
polygons_count += count

comp_label = get_polygons(22, 10)
count = comp_label.count
logger.info("comp_label has #{count} polygons")
polygons_count += count

poly2_label = get_polygons(30, 10)
count = poly2_label.count
logger.info("poly2_label has #{count} polygons")
polygons_count += count

mdiode = get_polygons(116, 5)
count = mdiode.count
logger.info("mdiode has #{count} polygons")
polygons_count += count

contact = get_polygons(33, 0)
count = contact.count
logger.info("contact has #{count} polygons")
polygons_count += count

metal1_drawn = get_polygons(34, 0)
count = metal1_drawn.count
logger.info("metal1_drawn has #{count} polygons")
polygons_count += count

metal1_dummy = get_polygons(34, 4)
count = metal1_dummy.count
logger.info("metal1_dummy has #{count} polygons")
polygons_count += count

metal1         = metal1_drawn + metal1_dummy

metal1_label = labels(34, 10)
count = metal1_label.count
logger.info("metal1_label has #{count} polygons")
polygons_count += count

metal1_slot = get_polygons(34, 3)
count = metal1_slot.count
logger.info("metal1_slot has #{count} polygons")
polygons_count += count

metal1_blk = get_polygons(34, 5)
count = metal1_blk.count
logger.info("metal1_blk has #{count} polygons")
polygons_count += count

via1 = get_polygons(35, 0)
count = via1.count
logger.info("via1 has #{count} polygons")
polygons_count += count

metal2_drawn = get_polygons(36, 0)
count = metal2_drawn.count
logger.info("metal2_drawn has #{count} polygons")
polygons_count += count

metal2_dummy = get_polygons(36, 4)
count = metal2_dummy.count
logger.info("metal2_dummy has #{count} polygons")
polygons_count += count

metal2 = metal2_drawn + metal2_dummy

metal2_label = labels(36, 10)
count = metal2_label.count
logger.info("metal2_label has #{count} polygons")
polygons_count += count

metal2_slot = get_polygons(36, 3)
count = metal2_slot.count
logger.info("metal2_slot has #{count} polygons")
polygons_count += count

metal2_blk = get_polygons(36, 5)
count = metal2_blk.count
logger.info("metal2_blk has #{count} polygons")
polygons_count += count

case METAL_LEVEL
when '3LM', '4LM', '5LM', '6LM'
  via2 = get_polygons(38, 0)
  count = via2.count
  logger.info("via2 has #{count} polygons")
  polygons_count += count

  metal3_drawn = get_polygons(42, 0)
  count = metal3_drawn.count
  logger.info("metal3_drawn has #{count} polygons")
  polygons_count += count

  metal3_dummy = get_polygons(42, 4)
  count = metal3_dummy.count
  logger.info("metal3_dummy has #{count} polygons")
  polygons_count += count

  metal3 = metal3_drawn + metal3_dummy

  metal3_label = labels(42, 10)
  count = metal3_label.count
  logger.info("metal3_label has #{count} polygons")
  polygons_count += count

  metal3_slot = get_polygons(42, 3)
  count = metal3_slot.count
  logger.info("metal3_slot has #{count} polygons")
  polygons_count += count

  metal3_blk = get_polygons(42, 5)
  count = metal3_blk.count
  logger.info("metal3_blk has #{count} polygons")
  polygons_count += count
end

case METAL_LEVEL
when '4LM', '5LM', '6LM'
  via3 = get_polygons(40, 0)
  count = via3.count
  logger.info("via3 has #{count} polygons")
  polygons_count += count

  metal4_drawn = get_polygons(46, 0)
  count = metal4_drawn.count
  logger.info("metal4_drawn has #{count} polygons")
  polygons_count += count

  metal4_dummy = get_polygons(46, 4)
  count = metal4_dummy.count
  logger.info("metal4_dummy has #{count} polygons")
  polygons_count += count

  metal4 = metal4_drawn + metal4_dummy

  metal4_label = labels(46, 10)
  count = metal4_label.count
  logger.info("metal4_label has #{count} polygons")
  polygons_count += count

  metal4_slot = get_polygons(46, 3)
  count = metal4_slot.count
  logger.info("metal4_slot has #{count} polygons")
  polygons_count += count

  metal4_blk = get_polygons(46, 5)
  count = metal4_blk.count
  logger.info("metal4_blk has #{count} polygons")
  polygons_count += count
end

case METAL_LEVEL
when '5LM', '6LM'
  via4 = get_polygons(41, 0)
  count = via4.count
  logger.info("via4 has #{count} polygons")
  polygons_count += count

  metal5_drawn = get_polygons(81, 0)
  count = metal5_drawn.count
  logger.info("metal5_drawn has #{count} polygons")
  polygons_count += count

  metal5_dummy = get_polygons(81, 4)
  count = metal5_dummy.count
  logger.info("metal5_dummy has #{count} polygons")
  polygons_count += count

  metal5 = metal5_drawn + metal5_dummy

  metal5_label = labels(81, 10)
  count = metal5_label.count
  logger.info("metal5_label has #{count} polygons")
  polygons_count += count

  metal5_slot = get_polygons(81, 3)
  count = metal5_slot.count
  logger.info("metal5_slot has #{count} polygons")
  polygons_count += count

  metal5_blk = get_polygons(81, 5)
  count = metal5_blk.count
  logger.info("metal5_blk has #{count} polygons")
  polygons_count += count
end

case METAL_LEVEL
when '6LM'
  via5 = get_polygons(82, 0)
  count = via5.count
  logger.info("via5 has #{count} polygons")
  polygons_count += count

  metaltop_drawn = get_polygons(53, 0)
  count = metaltop_drawn.count
  logger.info("metaltop_drawn has #{count} polygons")
  polygons_count += count

  metaltop_dummy = get_polygons(53, 4)
  count = metaltop_dummy.count
  logger.info("metaltop_dummy has #{count} polygons")
  polygons_count += count

  metaltop       = metaltop_drawn + metaltop_dummy

  metaltop_label = labels(53, 10)
  count = metaltop_label.count
  logger.info("metaltop_label has #{count} polygons")
  polygons_count += count

  metaltop_slot = get_polygons(53, 3)
  count = metaltop_slot.count
  logger.info("metaltop_slot has #{count} polygons")
  polygons_count += count

  metaltop_blk = get_polygons(53, 5)
  count = metaltop_blk.count
  logger.info("metaltop_blk has #{count} polygons")
  polygons_count += count
end

case METAL_LEVEL
when '2LM'
  top_via       = via1
  topmin1_via   = contact
  top_metal     = metal2
  topmin1_metal = metal1
  top_metal_label = metal2_label
when '3LM'
  top_via       = via2
  topmin1_via   = via1
  top_metal     = metal3
  topmin1_metal = metal2
  top_metal_label = metal3_label
when '4LM'
  top_via       = via3
  topmin1_via   = via2
  top_metal     = metal4
  topmin1_metal = metal3
  top_metal_label = metal4_label
when '5LM'
  top_via       = via4
  topmin1_via   = via3
  top_metal     = metal5
  topmin1_metal = metal4
  top_metal_label = metal5_label
when '6LM'
  top_via       = via5
  topmin1_via   = via4
  top_metal     = metaltop
  topmin1_metal = metal5
  top_metal_label = metaltop_label
else
  logger.error("Unknown metal stack #{METAL_LEVEL}")
  raise
end

piscap  = get_polygons(120, 0)
count   = piscap.count
logger.info("piscap has #{count} polygons")
polygons_count += count

pad = get_polygons(37, 0)
count = pad.count
logger.info("pad has #{count} polygons")
polygons_count += count

ubmpperi = get_polygons(183, 0)
count = ubmpperi.count
logger.info("ubmpperi has #{count} polygons")
polygons_count += count

ubmpperi_label = get_polygons(29, 39)
count = ubmpperi_label.count
logger.info("ubmpperi_label has #{count} polygons")
polygons_count += count

ubmparray = get_polygons(184, 0)
count = ubmparray.count
logger.info("ubmparray has #{count} polygons")
polygons_count += count

ubmparray_label = get_polygons(33, 39)
count = ubmparray_label.count
logger.info("ubmparray_label has #{count} polygons")
polygons_count += count

ubmeplate = get_polygons(185, 0)
count = ubmeplate.count
logger.info("ubmeplate has #{count} polygons")
polygons_count += count

ubmeplate_label = get_polygons(28, 39)
count = ubmeplate_label.count
logger.info("ubmeplate_label has #{count} polygons")
polygons_count += count

cu_ppi = get_polygons(25, 39)
count = cu_ppi.count
logger.info("cu_ppi has #{count} polygons")
polygons_count += count

cu_ppi_blk = get_polygons(30, 39)
count = cu_ppi_blk.count
logger.info("cu_ppi_blk has #{count} polygons")
polygons_count += count

cu_ppi_dummy = get_polygons(31, 39)
count = cu_ppi_dummy.count
logger.info("cu_ppi_dummy has #{count} polygons")
polygons_count += count

cu_ppi_label = get_polygons(32, 39)
count = cu_ppi_label.count
logger.info("cu_ppi_label has #{count} polygons")
polygons_count += count

pm1_ppi = get_polygons(26, 39)
count = pm1_ppi.count
logger.info("pm1_ppi has #{count} polygons")
polygons_count += count

pm2_ppi = get_polygons(27, 39)
count = pm2_ppi.count
logger.info("pm2_ppi has #{count} polygons")
polygons_count += count

pm1_bop = get_polygons(35, 39)
count = pm1_bop.count
logger.info("pm1_bop has #{count} polygons")
polygons_count += count

dni = get_polygons(78, 0)
count = dni.count
logger.info("dni has #{count} polygons")
polygons_count += count

pwhv  = get_polygons(44, 0)
count = pwhv.count
logger.info("pwhv has #{count} polygons")
polygons_count += count

metal_shield = get_polygons(35, 28)
count = metal_shield.count
logger.info("metal_shield has #{count} polygons")
polygons_count += count

metal_shield_slot = get_polygons(78, 39)
count = metal_shield_slot.count
logger.info("metal_shield_slot has #{count} polygons")
polygons_count += count

metal_shield_dummy = get_polygons(79, 39)
count = metal_shield_dummy.count
logger.info("metal_shield_dummy has #{count} polygons")
polygons_count += count

metal_shield_label = get_polygons(68, 39)
count = metal_shield_label.count
logger.info("metal_shield_label has #{count} polygons")
polygons_count += count

metal_shield_via = get_polygons(36, 28)
count = metal_shield_via.count
logger.info("metal_shield_via has #{count} polygons")
polygons_count += count

metal_shield_via_label = get_polygons(69, 39)
count = metal_shield_via_label.count
logger.info("metal_shield_via_label has #{count} polygons")
polygons_count  += count

metal_shield_blk = get_polygons(69, 39)
count = metal_shield_blk.count
logger.info("metal_shield_blk has #{count} polygons")
polygons_count += count

tanres = get_polygons(222, 0)
count = tanres.count
logger.info("tanres has #{count} polygons")
polygons_count += count

tanres_mk = get_polygons(56, 17)
count = tanres_mk.count
logger.info("tanres_mk has #{count} polygons")
polygons_count += count

tanres_label = get_polygons(222, 10)
count = tanres_label.count
logger.info("tanres_label has #{count} polygons")
polygons_count += count

tanres_l_mk = get_polygons(72, 17)
count = tanres_l_mk.count
logger.info("tanres_l_mk has #{count} polygons")
polygons_count += count

pres_layer = get_polygons(12, 201)
count = pres_layer.count
logger.info("pres_layer has #{count} polygons")
polygons_count += count

cap_mk_type1 = get_polygons(62, 17)
count = cap_mk_type1.count
logger.info("cap_mk_type1 has #{count} polygons")
polygons_count += count

cap_mk_type2 = get_polygons(75, 17)
count = cap_mk_type2.count
logger.info("cap_mk_type2 has #{count} polygons")
polygons_count += count

mos_mk_type4 = get_polygons(73, 17)
count = mos_mk_type4.count
logger.info("mos_mk_type4 has #{count} polygons")
polygons_count  += count

mos_source_type1 = get_polygons(154, 51)
count = mos_source_type1.count
logger.info("mos_source_type1 has #{count} polygons")
polygons_count += count

mk_35v = get_polygons(25, 17)
count = mk_35v.count
logger.info("mk_35v has #{count} polygons")
polygons_count += count

lvs_35v = get_polygons(27, 17)
count = lvs_35v.count
logger.info("lvs_35v has #{count} polygons")
polygons_count += count

elmd_mk = get_polygons(18, 17)
count = elmd_mk.count
logger.info("elmd_mk has #{count} polygons")
polygons_count += count

elmd2_mk = get_polygons(19, 17)
count = elmd2_mk.count
logger.info("elmd2_mk has #{count} polygons")
polygons_count += count

mos_mk_type1 = get_polygons(151, 51)
count = mos_mk_type1.count
logger.info("mos_mk_type1 has #{count} polygons")
polygons_count += count

esd_hbm_mk = get_polygons(37, 17)
count = esd_hbm_mk.count
logger.info("esd_hbm_mk has #{count} polygons")
polygons_count += count

lvs_psub2 = get_polygons(23, 5)
count = lvs_psub2.count
logger.info("lvs_psub2 has #{count} polygons")

mv_well_mk = get_polygons(57, 17)
count = mv_well_mk.count
logger.info("mv_well_mk has #{count} polygons")
polygons_count += count

mhv_well_mk = get_polygons(58, 17)
count = mhv_well_mk.count
logger.info("mhv_well_mk has #{count} polygons")
polygons_count += count

hv_well_mk = get_polygons(59, 17)
count = hv_well_mk.count
logger.info("hv_well_mk has #{count} polygons")
polygons_count += count

mhv_well_mk_type1 = get_polygons(96, 17)
count = mhv_well_mk_type1.count
logger.info("mhv_well_mk_type1 has #{count} polygons")
polygons_count += count

lvs_donut = get_polygons(55, 17)
count = lvs_donut.count
logger.info("lvs_donut has #{count} polygons")
polygons_count += count

res_mk_type1 = get_polygons(26, 17)
count = res_mk_type1.count
logger.info("res_mk_type1 has #{count} polygons")
polygons_count += count

swfet_mk = get_polygons(69, 17)
count = swfet_mk.count
logger.info("swfet_mk has #{count} polygons")
polygons_count += count

mom_mk = get_polygons(51, 17)
count = mom_mk.count
logger.info("mom_mk has #{count} polygons")
polygons_count += count

mom_m1_mk = get_polygons(40, 17)
count = mom_m1_mk.count
logger.info("mom_m1_mk has #{count} polygons")
polygons_count += count

mom_m2_mk = get_polygons(41, 17)
count = mom_m2_mk.count
logger.info("mom_m2_mk has #{count} polygons")
polygons_count += count

mom_m3_mk = get_polygons(42, 17)
count = mom_m3_mk.count
logger.info("mom_m3_mk has #{count} polygons")
polygons_count += count

mom_m4_mk = get_polygons(43, 17)
count = mom_m4_mk.count
logger.info("mom_m4_mk has #{count} polygons")
polygons_count += count

mom_m5_mk = get_polygons(44, 17)
count = mom_m5_mk.count
logger.info("mom_m5_mk has #{count} polygons")
polygons_count += count

pr_bndry = get_polygons(0, 0)
count = pr_bndry.count
logger.info("pr_bndry has #{count} polygons")
polygons_count += count

border = get_polygons(63, 0)
count = border.count
logger.info("border has #{count} polygons")
polygons_count += count

logger.info("Total no. of polygons in the design is #{polygons_count}")


#=== BULK LAYER ===
sub = polygon_layer