From 19b28982e7c8122f7163d07ca6d03c35d9774b9a Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 25 May 2021 23:08:38 +0200 Subject: [PATCH] WIP: updated test data (bugfix: bulk does not have layer properties), Fixed Region::count and Region::hier_count (was counting non-polygons too) --- src/db/db/dbOriginalLayerRegion.cc | 12 ++++++------ testdata/algo/lvs_test1_au.lvsdb.1 | 2 +- testdata/algo/lvs_test1_au.lvsdb.2 | 2 +- testdata/algo/lvs_test1b_au.lvsdb.1 | 2 +- testdata/algo/lvs_test1b_au.lvsdb.2 | 2 +- testdata/algo/lvs_test2_au.lvsdb.1 | 2 +- testdata/algo/lvs_test2_au.lvsdb.2 | 2 +- testdata/algo/lvs_test2b_au.lvsdb.1 | 2 +- testdata/algo/lvs_test2b_au.lvsdb.2 | 2 +- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/db/db/dbOriginalLayerRegion.cc b/src/db/db/dbOriginalLayerRegion.cc index 8bf70492f..2671686ac 100644 --- a/src/db/db/dbOriginalLayerRegion.cc +++ b/src/db/db/dbOriginalLayerRegion.cc @@ -224,10 +224,10 @@ OriginalLayerRegion::count () const size_t nn = 0; if (iter.multiple_layers ()) { for (std::vector::const_iterator l = iter.layers ().begin (); l != iter.layers ().end (); ++l) { - nn += layout.cell (*c).shapes (*l).size (iter.shape_flags ()); + nn += layout.cell (*c).shapes (*l).size (iter.shape_flags () & db::ShapeIterator::Regions); } - } else { - nn += layout.cell (*c).shapes (iter.layer ()).size (iter.shape_flags ()); + } else if (iter.layer () < layout.layers ()) { + nn += layout.cell (*c).shapes (iter.layer ()).size (iter.shape_flags () & db::ShapeIterator::Regions); } n += cc.weight (*c) * nn; } @@ -265,10 +265,10 @@ OriginalLayerRegion::hier_count () const } if (iter.multiple_layers ()) { for (std::vector::const_iterator l = iter.layers ().begin (); l != iter.layers ().end (); ++l) { - n += layout.cell (*c).shapes (*l).size (iter.shape_flags ()); + n += layout.cell (*c).shapes (*l).size (iter.shape_flags () & db::ShapeIterator::Regions); } - } else { - n += layout.cell (*c).shapes (iter.layer ()).size (iter.shape_flags ()); + } else if (iter.layer () < layout.layers ()) { + n += layout.cell (*c).shapes (iter.layer ()).size (iter.shape_flags () & db::ShapeIterator::Regions); } } diff --git a/testdata/algo/lvs_test1_au.lvsdb.1 b/testdata/algo/lvs_test1_au.lvsdb.1 index a16b88d6d..a73ab07a0 100644 --- a/testdata/algo/lvs_test1_au.lvsdb.1 +++ b/testdata/algo/lvs_test1_au.lvsdb.1 @@ -9,7 +9,7 @@ layout( # This section lists the mask layers (drawing or derived) and their connections. # Mask layers - layer(bulk '1/0') + layer(bulk) layer(nwell '1/0') layer(poly '3/0') layer(poly_lbl '3/1') diff --git a/testdata/algo/lvs_test1_au.lvsdb.2 b/testdata/algo/lvs_test1_au.lvsdb.2 index 42c2187d5..20133d556 100644 --- a/testdata/algo/lvs_test1_au.lvsdb.2 +++ b/testdata/algo/lvs_test1_au.lvsdb.2 @@ -9,7 +9,7 @@ layout( # This section lists the mask layers (drawing or derived) and their connections. # Mask layers - layer(bulk '1/0') + layer(bulk) layer(nwell '1/0') layer(poly '3/0') layer(poly_lbl '3/1') diff --git a/testdata/algo/lvs_test1b_au.lvsdb.1 b/testdata/algo/lvs_test1b_au.lvsdb.1 index 83dedd5e2..3b206b741 100644 --- a/testdata/algo/lvs_test1b_au.lvsdb.1 +++ b/testdata/algo/lvs_test1b_au.lvsdb.1 @@ -9,7 +9,7 @@ layout( # This section lists the mask layers (drawing or derived) and their connections. # Mask layers - layer(bulk '1/0') + layer(bulk) layer(nwell '1/0') layer(poly '3/0') layer(poly_lbl '3/1') diff --git a/testdata/algo/lvs_test1b_au.lvsdb.2 b/testdata/algo/lvs_test1b_au.lvsdb.2 index a8c999396..455337d3b 100644 --- a/testdata/algo/lvs_test1b_au.lvsdb.2 +++ b/testdata/algo/lvs_test1b_au.lvsdb.2 @@ -9,7 +9,7 @@ layout( # This section lists the mask layers (drawing or derived) and their connections. # Mask layers - layer(bulk '1/0') + layer(bulk) layer(nwell '1/0') layer(poly '3/0') layer(poly_lbl '3/1') diff --git a/testdata/algo/lvs_test2_au.lvsdb.1 b/testdata/algo/lvs_test2_au.lvsdb.1 index 52e53e669..cecb9d910 100644 --- a/testdata/algo/lvs_test2_au.lvsdb.1 +++ b/testdata/algo/lvs_test2_au.lvsdb.1 @@ -9,7 +9,7 @@ layout( # This section lists the mask layers (drawing or derived) and their connections. # Mask layers - layer(bulk '1/0') + layer(bulk) layer(nwell '1/0') layer(poly '3/0') layer(poly_lbl '3/1') diff --git a/testdata/algo/lvs_test2_au.lvsdb.2 b/testdata/algo/lvs_test2_au.lvsdb.2 index a73de534d..0ce0bf4d9 100644 --- a/testdata/algo/lvs_test2_au.lvsdb.2 +++ b/testdata/algo/lvs_test2_au.lvsdb.2 @@ -9,7 +9,7 @@ layout( # This section lists the mask layers (drawing or derived) and their connections. # Mask layers - layer(bulk '1/0') + layer(bulk) layer(nwell '1/0') layer(poly '3/0') layer(poly_lbl '3/1') diff --git a/testdata/algo/lvs_test2b_au.lvsdb.1 b/testdata/algo/lvs_test2b_au.lvsdb.1 index a3bbd637b..47263e0e2 100644 --- a/testdata/algo/lvs_test2b_au.lvsdb.1 +++ b/testdata/algo/lvs_test2b_au.lvsdb.1 @@ -9,7 +9,7 @@ layout( # This section lists the mask layers (drawing or derived) and their connections. # Mask layers - layer(bulk '1/0') + layer(bulk) layer(nwell '1/0') layer(poly '3/0') layer(poly_lbl '3/1') diff --git a/testdata/algo/lvs_test2b_au.lvsdb.2 b/testdata/algo/lvs_test2b_au.lvsdb.2 index 8a9639fac..cbe6175f5 100644 --- a/testdata/algo/lvs_test2b_au.lvsdb.2 +++ b/testdata/algo/lvs_test2b_au.lvsdb.2 @@ -9,7 +9,7 @@ layout( # This section lists the mask layers (drawing or derived) and their connections. # Mask layers - layer(bulk '1/0') + layer(bulk) layer(nwell '1/0') layer(poly '3/0') layer(poly_lbl '3/1')