klayout
klayout copied to clipboard
DRC performance: try to avoid merging of first layer on "separation", "enclosing" etc. in deep mode
Testcase: see https://github.com/efabless/globalfoundries-pdk-libs-gf180mcu_fd_pr/issues/17
One observation:
This takes forever:
metal3.enclosing(via3)
This is fast (9 seconds):
via3.enclosed(metal3)
Reason: "enclosed" merges the first layer and in case of metal3 this gives giant polygons.
First-layer merging cannot simply be disabled as a first experiment shows:

This is take from drcSimpleTests:48 and is a separation test between blue and red: if the blue boxes are treated separately without merging, invalid error markers are generated between separated blue and red boxes.