<?xml version="1.0" encoding="utf-8"?>
<klayout-macro>
 <description/>
 <version/>
 <category>drc</category>
 <prolog/>
 <epilog/>
 <doc/>
 <autorun>false</autorun>
 <autorun-early>false</autorun-early>
 <shortcut/>
 <show-in-menu>true</show-in-menu>
 <group-name>drc_scripts</group-name>
 <menu-path>tools_menu.drc.end</menu-path>
 <interpreter>dsl</interpreter>
 <dsl-interpreter-name>drc-dsl-xml</dsl-interpreter-name>
 <text>

source($input, $top_cell)
report("Density Checks", $report)

verbose(true)

deep

li1_wildcard = "67/0-4,6-9,11-43,45-*"
mcon_wildcard = "67/44"
li1fill_wildcard = "56/28"

m1_wildcard = "68/0-4,6-9,11-43,45-*"
via_wildcard = "68/44"
m1fill_wildcard = "36/28"

m2_wildcard = "69/0-4,6-9,11-43,45-*"
via2_wildcard = "69/44"
m2fill_wildcard = "41/28"

m3_wildcard = "70/0-4,6-9,11-43,45-*"
via3_wildcard = "70/44"
m3fill_wildcard = "34/28"

m4_wildcard = "71/0-4,6-9,11-43,45-*"
via4_wildcard = "71/44"
m4fill_wildcard = "51/28"

m5_wildcard = "72/0-4,6-9,11-43,45-*"
m5fill_wildcard = "59/28"

# ---------------

li1 = polygons(li1_wildcard)
mcon = polygons(mcon_wildcard)

m1 = polygons(m1_wildcard)
via = polygons(via_wildcard)

m2 = polygons(m2_wildcard)
via2 = polygons(via2_wildcard)

m3 = polygons(m3_wildcard)
via3 = polygons(via3_wildcard)

m4 = polygons(m4_wildcard)
m4fill = polygons(m4fill_wildcard)
via4 = polygons(via4_wildcard)

m5 = polygons(m5_wildcard)

chip_boundary = input(235,4)
#area = (m4+m4fill).area
full_area = chip_boundary.area

#li1_wildcard = "67/20"
#li1fill_wildcard = "56/28"
li1_density = polygons(li1_wildcard, li1fill_wildcard).area / full_area
li1_ca_density = 1 - li1_density
log("li1_ca_density is #{li1_ca_density}")
if li1_ca_density &lt; 0.4
     #chip_boundary.output("li1.pd.1d", "0.4 min li1 ca pattern density, li1 ca density is #{li1_ca_density}")
     chip_boundary.output("li1.pd.1d", "0.4 min li1 ca pattern density")
end

#m1_wildcard = "68/20"
#m1fill_wildcard = "36/28"
m1_density = polygons(m1_wildcard, m1fill_wildcard).area / full_area
m1_ca_density = 1 - m1_density
log("m1_ca_density is #{m1_ca_density}")
if m1_ca_density &lt; 0.4
     #chip_boundary.output("m1.pd.1d", "0.4 min m1 ca pattern density, m1 ca density is #{m1_ca_density}")
     chip_boundary.output("m1.pd.1d", "0.4 min m1 ca pattern density")
end

#m2_wildcard = "69/20"
#m2_fill_wildcard = "41/28"
m2_density = polygons(m2_wildcard, m2fill_wildcard).area / full_area
m2_ca_density = 1 - m2_density
log("m2_ca_density is #{m2_ca_density}")
if m2_ca_density &lt; 0.4
     #chip_boundary.output("m2.pd.1d", "0.4 min m2 ca pattern density, m2 ca density is #{m2_ca_density}")
     chip_boundary.output("m2.pd.1d", "0.4 min m2 ca pattern density")
end

#m3_wildcard = "70/20"
#m3_fill_wildcard = "34/28"
m3_density = polygons(m3_wildcard, m3fill_wildcard).area / full_area
m3_ca_density = 1 - m3_density
log("m3_ca_density is #{m3_ca_density}")
if m3_ca_density &lt; 0.4
     #chip_boundary.output("m3.pd.1d", "0.4 min m3 ca pattern density, m3 ca density is #{m3_ca_density}")
     chip_boundary.output("m3.pd.1d", "0.4 min m3 ca pattern density")
end

#m4_wildcard = "71/20"
#m4fill_wildcard = "51/28"
m4_density = polygons(m4_wildcard, m4fill_wildcard).area / full_area
m4_ca_density = 1 - m4_density
log("m4_ca_density is #{m4_ca_density}")
if m4_ca_density &lt; 0.4
     #chip_boundary.output("m4.pd.1d", "0.4 min m4 ca pattern density, m4 ca density is #{m4_ca_density}")
     chip_boundary.output("m4.pd.1d", "0.4 min m4 ca pattern density, m4 ca density is #{m4_ca_density}")
end

#m5_wildcard = "72/20"
#m5fill_wildcard = "59/28"
m5_density = polygons(m5_wildcard, m5fill_wildcard).area / full_area
m5_ca_density = 1 - m5_density
log("m5_ca_density is #{m5_ca_density}")
if m5_ca_density &lt; 0.24
     #chip_boundary.output("m5.pd.1d", "0.24 min m5 ca pattern density, m5 ca density is #{m5_ca_density}")
     chip_boundary.output("m5.pd.1d", "0.24 min m5 ca pattern density")
end

</text>
</klayout-macro>
