From 2c94179589916746beea2637f81fe0c67276d2f9 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 8 Dec 2022 20:23:52 +0100 Subject: [PATCH] Fixed #1216 (issue with moved - internal error) This issue is fixed. In addition the following problems were fixed/found: * General issue with handling merged state in in-place transform (merge shadow region needs to be updated too) * moved now is hierarchical (also for edges) --- src/db/db/dbDeepEdges.cc | 66 ++++++++++++++++++++---- src/db/db/dbDeepRegion.cc | 72 ++++++++++++++++++++++----- src/drc/unit_tests/drcSimpleTests.cc | 10 ++++ testdata/drc/drcSimpleTests_60.drc | 30 +++++++++++ testdata/drc/drcSimpleTests_60.gds | Bin 0 -> 10120 bytes testdata/drc/drcSimpleTests_au60.gds | Bin 0 -> 287138 bytes 6 files changed, 154 insertions(+), 24 deletions(-) create mode 100644 testdata/drc/drcSimpleTests_60.drc create mode 100644 testdata/drc/drcSimpleTests_60.gds create mode 100644 testdata/drc/drcSimpleTests_au60.gds diff --git a/src/db/db/dbDeepEdges.cc b/src/db/db/dbDeepEdges.cc index e3b40b063..b75948ba6 100644 --- a/src/db/db/dbDeepEdges.cc +++ b/src/db/db/dbDeepEdges.cc @@ -171,7 +171,7 @@ DeepEdges::DeepEdges (const DeepEdges &other) m_is_merged (other.m_is_merged) { if (m_merged_edges_valid) { - m_merged_edges = other.m_merged_edges; + m_merged_edges = other.m_merged_edges.copy (); } } @@ -186,7 +186,7 @@ DeepEdges::operator= (const DeepEdges &other) m_merged_edges_valid = other.m_merged_edges_valid; m_is_merged = other.m_is_merged; if (m_merged_edges_valid) { - m_merged_edges = other.m_merged_edges; + m_merged_edges = other.m_merged_edges.copy (); } } @@ -227,20 +227,52 @@ void DeepEdges::do_insert (const db::Edge &edge) template static void transform_deep_layer (db::DeepLayer &deep_layer, const Trans &t) { - // TODO: this is a pretty cheap implementation. At least a plain move can be done with orientation variants. + if (t.equal (Trans (db::Disp (t.disp ())))) { - db::Layout &layout = deep_layer.layout (); - if (layout.begin_top_down () != layout.end_top_down ()) { + // Plain move - db::Cell &top_cell = layout.cell (*layout.begin_top_down ()); + // build cell variants for different orientations + db::OrientationReducer same_orientation; + + db::VariantsCollectorBase vars (&same_orientation); + vars.collect (deep_layer.layout (), deep_layer.initial_cell ()); + deep_layer.separate_variants (vars); + + // process the variants + db::Layout &layout = deep_layer.layout (); + + for (db::Layout::iterator c = layout.begin (); c != layout.end (); ++c) { + + const std::map &v = vars.variants (c->cell_index ()); + tl_assert (v.size () == size_t (1)); + + db::Trans tr (v.begin ()->first.inverted () * t.disp ()); + + db::Shapes &shapes = c->shapes (deep_layer.layer ()); + db::Shapes new_shapes (layout.manager (), c.operator-> (), layout.is_editable ()); + new_shapes.insert_transformed (shapes, tr); + shapes.swap (new_shapes); - db::Shapes flat_shapes (layout.is_editable ()); - for (db::RecursiveShapeIterator iter (layout, top_cell, deep_layer.layer ()); !iter.at_end (); ++iter) { - flat_shapes.insert (iter->edge ().transformed (iter.trans ()).transformed (t)); } - layout.clear_layer (deep_layer.layer ()); - top_cell.shapes (deep_layer.layer ()).swap (flat_shapes); + } else { + + // General transformation -> note that this is a flat implementation! + + db::Layout &layout = deep_layer.layout (); + if (layout.begin_top_down () != layout.end_top_down ()) { + + db::Cell &top_cell = layout.cell (*layout.begin_top_down ()); + + db::Shapes flat_shapes (layout.is_editable ()); + for (db::RecursiveShapeIterator iter (layout, top_cell, deep_layer.layer ()); !iter.at_end (); ++iter) { + flat_shapes.insert (iter->edge ().transformed (iter.trans ()).transformed (t)); + } + + layout.clear_layer (deep_layer.layer ()); + top_cell.shapes (deep_layer.layer ()).swap (flat_shapes); + + } } } @@ -248,24 +280,36 @@ static void transform_deep_layer (db::DeepLayer &deep_layer, const Trans &t) void DeepEdges::do_transform (const db::Trans &t) { transform_deep_layer (deep_layer (), t); + if (m_merged_edges_valid && m_merged_edges.layer () != deep_layer ().layer ()) { + transform_deep_layer (m_merged_edges, t); + } invalidate_bbox (); } void DeepEdges::do_transform (const db::ICplxTrans &t) { transform_deep_layer (deep_layer (), t); + if (m_merged_edges_valid && m_merged_edges.layer () != deep_layer ().layer ()) { + transform_deep_layer (m_merged_edges, t); + } invalidate_bbox (); } void DeepEdges::do_transform (const db::IMatrix2d &t) { transform_deep_layer (deep_layer (), t); + if (m_merged_edges_valid && m_merged_edges.layer () != deep_layer ().layer ()) { + transform_deep_layer (m_merged_edges, t); + } invalidate_bbox (); } void DeepEdges::do_transform (const db::IMatrix3d &t) { transform_deep_layer (deep_layer (), t); + if (m_merged_edges_valid && m_merged_edges.layer () != deep_layer ().layer ()) { + transform_deep_layer (m_merged_edges, t); + } invalidate_bbox (); } diff --git a/src/db/db/dbDeepRegion.cc b/src/db/db/dbDeepRegion.cc index 350e10fe2..1dde5fdc6 100644 --- a/src/db/db/dbDeepRegion.cc +++ b/src/db/db/dbDeepRegion.cc @@ -174,7 +174,7 @@ DeepRegion::DeepRegion (const DeepRegion &other) m_is_merged (other.m_is_merged) { if (m_merged_polygons_valid) { - m_merged_polygons = other.m_merged_polygons; + m_merged_polygons = other.m_merged_polygons.copy (); } } @@ -189,7 +189,7 @@ DeepRegion::operator= (const DeepRegion &other) m_merged_polygons_valid = other.m_merged_polygons_valid; m_is_merged = other.m_is_merged; if (m_merged_polygons_valid) { - m_merged_polygons = other.m_merged_polygons; + m_merged_polygons = other.m_merged_polygons.copy (); } } @@ -235,22 +235,56 @@ void DeepRegion::do_insert (const db::Polygon &polygon) template static void transform_deep_layer (db::DeepLayer &deep_layer, const Trans &t) { - // TODO: this is a pretty cheap implementation. At least a plain move can be done with orientation variants. + if (t.equal (Trans (db::Disp (t.disp ())))) { - db::Layout &layout = deep_layer.layout (); - if (layout.begin_top_down () != layout.end_top_down ()) { + // Plain move - db::Cell &top_cell = layout.cell (*layout.begin_top_down ()); + // build cell variants for different orientations + db::OrientationReducer same_orientation; + + db::VariantsCollectorBase vars (&same_orientation); + vars.collect (deep_layer.layout (), deep_layer.initial_cell ()); + deep_layer.separate_variants (vars); + + // process the variants + db::Layout &layout = deep_layer.layout (); + + for (db::Layout::iterator c = layout.begin (); c != layout.end (); ++c) { + + const std::map &v = vars.variants (c->cell_index ()); + tl_assert (v.size () == size_t (1)); + + db::Trans tr (v.begin ()->first.inverted () * t.disp ()); + + db::Shapes &shapes = c->shapes (deep_layer.layer ()); + db::Shapes new_shapes (layout.manager (), c.operator-> (), layout.is_editable ()); + new_shapes.insert_transformed (shapes, tr); + shapes.swap (new_shapes); - db::Shapes flat_shapes (layout.is_editable ()); - for (db::RecursiveShapeIterator iter (layout, top_cell, deep_layer.layer ()); !iter.at_end (); ++iter) { - db::Polygon poly; - iter->polygon (poly); - flat_shapes.insert (poly.transformed (iter.trans ()).transformed (t)); } - layout.clear_layer (deep_layer.layer ()); - top_cell.shapes (deep_layer.layer ()).swap (flat_shapes); + } else { + + // General transformation -> note that this is a flat implementation! + + db::Layout &layout = deep_layer.layout (); + if (layout.begin_top_down () != layout.end_top_down ()) { + + db::Cell &top_cell = layout.cell (*layout.begin_top_down ()); + + db::Shapes flat_shapes (layout.manager (), &top_cell, layout.is_editable ()); + for (db::RecursiveShapeIterator iter (layout, top_cell, deep_layer.layer ()); !iter.at_end (); ++iter) { + db::Polygon poly; + iter->polygon (poly); + poly.transform (iter.trans ()); + poly.transform (t); + flat_shapes.insert (db::PolygonRef (poly, layout.shape_repository ())); + } + + layout.clear_layer (deep_layer.layer ()); + top_cell.shapes (deep_layer.layer ()).swap (flat_shapes); + + } } } @@ -258,24 +292,36 @@ static void transform_deep_layer (db::DeepLayer &deep_layer, const Trans &t) void DeepRegion::do_transform (const db::Trans &t) { transform_deep_layer (deep_layer (), t); + if (m_merged_polygons_valid && m_merged_polygons.layer () != deep_layer ().layer ()) { + transform_deep_layer (m_merged_polygons, t); + } invalidate_bbox (); } void DeepRegion::do_transform (const db::ICplxTrans &t) { transform_deep_layer (deep_layer (), t); + if (m_merged_polygons_valid && m_merged_polygons.layer () != deep_layer ().layer ()) { + transform_deep_layer (m_merged_polygons, t); + } invalidate_bbox (); } void DeepRegion::do_transform (const db::IMatrix2d &t) { transform_deep_layer (deep_layer (), t); + if (m_merged_polygons_valid && m_merged_polygons.layer () != deep_layer ().layer ()) { + transform_deep_layer (m_merged_polygons, t); + } invalidate_bbox (); } void DeepRegion::do_transform (const db::IMatrix3d &t) { transform_deep_layer (deep_layer (), t); + if (m_merged_polygons_valid && m_merged_polygons.layer () != deep_layer ().layer ()) { + transform_deep_layer (m_merged_polygons, t); + } invalidate_bbox (); } diff --git a/src/drc/unit_tests/drcSimpleTests.cc b/src/drc/unit_tests/drcSimpleTests.cc index ab37a7f8a..51992e3f4 100644 --- a/src/drc/unit_tests/drcSimpleTests.cc +++ b/src/drc/unit_tests/drcSimpleTests.cc @@ -1386,3 +1386,13 @@ TEST(58d_in_and_out) { run_test (_this, "58", true); } + +TEST(60_issue1216) +{ + run_test (_this, "60", false); +} + +TEST(60d_issue1216) +{ + run_test (_this, "60", true); +} diff --git a/testdata/drc/drcSimpleTests_60.drc b/testdata/drc/drcSimpleTests_60.drc new file mode 100644 index 000000000..0dcb1fa03 --- /dev/null +++ b/testdata/drc/drcSimpleTests_60.drc @@ -0,0 +1,30 @@ + +# Moved implementation + +source($drc_test_source) +target($drc_test_target) + +if $drc_test_deep + deep +end + +l8 = input(8, 0) +l9 = input(9, 0) + +l8.output(8, 0) +l9.output(9, 0) + +# NOTE: "sized" tests issue #1216 +l8.sized(0.1, 0).moved(-0.1, 0).sized(0, 0.1).moved(0, -0.1).output(108, 0) +l9.sized(0.1, 0).moved(-0.1, 0).sized(0, 0.1).moved(0, -0.1).output(109, 0) + +l8.edges.moved(-0.1, -0.1).extended_out(0.05).output(118, 0) +l9.edges.moved(-0.1, -0.1).extended_out(0.05).output(119, 0) + +# NOTE: "sized" tests issue #1216 +l8.rotated(90.0).sized(0, 0.1).output(208, 0) +l9.rotated(90.0).sized(0, 0.1).output(209, 0) + +l8.edges.rotated(90.0).extended_out(0.05).output(218, 0) +l9.edges.rotated(90.0).extended_out(0.05).output(219, 0) + diff --git a/testdata/drc/drcSimpleTests_60.gds b/testdata/drc/drcSimpleTests_60.gds new file mode 100644 index 0000000000000000000000000000000000000000..0d195b044f21df9716b5267beadb4dfb23ca98c2 GIT binary patch literal 10120 zcmeI1U1(fI6vt=x?%v%bn{JxKwn?{GKfqc-HEqROq_#1wCg#f|hP0@ZB2tQoh)*KL z2NA3w3PnUqSrq(2MEX#Q4^m1geX2gF_#j1!6cs5xNFN*j|Cu@W&g}Ny-J4dQyfFQz zXYTKwnYlA_&dyb#%I6nVEtfA{RuxrNeJW6QyML>4KAadEQK~;E?%4Il{g0jd^`sZu7BJWUB#c_e*(PK zr~+oE|2N17zj^+jN8gXa6Et`f?Y})%u|pmIJ|Ao}Je7QKF;?=nK9Q$iDfI0Yu|pGi zKA-ndb=%=zRP3$z!qmMg9BmC`HCC_LyDsMYOh;z|i#gA=S2QOE9#w}u}x;!G5yQV(I^L2smeQpsu)#E!n zK12IkugTq$GxK{f+#Oih-T5ebgtz6$t;#7Zp3y<-6ne zZv4u>x9&8&sMw({pKIh-GM3^JPE_nr&9|60aaKE4&oxY?ajW<{e**s(75ljN)|z-egN3YH#13`edJ{i*(C}-y4)F|8 zu|re&0@f6L6@D^&q++*g&90gz|FyRazi!0vqGE@p`d`={DqFrlM9*aC&o#U^W z!5sdstS#=`qOYy0!reT71nJs(RUQZzMn};dX7E}0!0>Z(mbdTU`vt)KY4!JLKa}GZ z%*HBqsN4T0p6`i#={duTioIdib@B>uL-7Bh(RG(hPA4jMsO#U!fDK3Ad`{`O;YGy` zb@|j?oAZXdF4ehQ-r2R02^>>u=A`jYD9S-JK;;1kTpW`SR=I14CZLiCG@eM2%&zvQ)oqkr;R#h${`FZ)Sl|LI>;>}mZc z$9_`TZ}OsIZ`J?s55sdOATKI*XyW*>-@K1Xj{O!Ddm7Jnck~$l9cPXINX6ch?w>sU zlcWDg#qRT7MB=U`k(0X^=c}mL8+PO-ULq$W0(nufH{`({pTln4_b1u_9e4)qKN73h zq3-y5JWmF~FVSWw`Qn~f#STs6>6iVb;?-;aqGE@p^7Kod{bl<_#SYbc1x>}7B--CP zq6a5$ETWSS8X|fY|NK3Joi!Xll*!(Dj$F0Qd}R8Gc?_^~qL>;_IeQovsm|r{sqvJ# zgyx~yR}L}GFClUXZq90S&L-d%jh zL~1G{b@*nijMTQ?9bNCd{NIW69s8FP=}Bde^rWhFGymGl4;bl5wH4`Wa+1Om2U3o@ zqv}QMQm=`4R7SeexmX$TY<()vh|BvJX~{<__LPWAj**edNJ(B)>}e5`k%sN0{-3d! zi2Yw?EPQXwEU2a9=KYC^JuTzld*gjna#=GL`enwU^{nyFjDzzivili_H~;Ck-HgSo z+34iXJ;xkUTe{;?4^2~#% z?c_oH9?5)%%DkbBl_@IrwDvRq;C)nb%gLk2Gmm0>nMa9=JD=&S$O!idDt!t z5c8-kG{5dv>&)UtEL}EZmzsrjV9qj&qB@uR?ozWb?gpBNX3WBH7CkvUiErShozWMJ zp`O6|9@Fl(8fT8-)MdXE^s4R_u~WS{+8Lj@qwbg#uvlYp5j)l6yF7jy>U9Bo-YsIM z8otGuJx+gS$EF^c##_ZIK|X48SABwGvuFLjx^%5QDJu8nv8ZxN=Pf-4(E?lxr;OVF zYYNXS_nJ4MpIG@W&Z8RZ=DujG(_a%b_ta_qZ0DJA9e-iqk~;Lke!bGk*G?LqN`C$JSjpS^ME`euV|Xh0yRa#UlDGAV{Kj*Jr;^(=9xHiUpU4ki zFg%s~eY3HWxAlqqHpCX*M@Ko}TzZffdTc60!Uo||H{Nl^8lDGAmZxJP))z?Au^?+<`Hq+OGCLUh``1K)* zkv4Oa{m;$Z>=)>6ocdPlO3nTnuR7amP_0i$>}vJS7_#topXeM2cTepanb>XSO_nEA zOv@2n_twT$VN5gJtYwZ`GT5$xkU0?eCO}}9M+AQ1ba`FAI RVp=rbzXL|OAFV7D)IVRiMd$zk literal 0 HcmV?d00001 diff --git a/testdata/drc/drcSimpleTests_au60.gds b/testdata/drc/drcSimpleTests_au60.gds new file mode 100644 index 0000000000000000000000000000000000000000..acb2b4b88c16801c81139adc9d1dff8a63cd4894 GIT binary patch literal 287138 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 G!v6qe_q9F% literal 0 HcmV?d00001