From 84573a21cedd5e99d5f8b743f0055b7bb5f9a426 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 2 Aug 2020 11:31:37 +0200 Subject: [PATCH] Skip END LIBRARY, so LEF files can be cat together --- .../lefdef/db_plugin/dbLEFImporter.cc | 4 +- .../lefdef/unit_tests/dbLEFDEFImportTests.cc | 9 +++ testdata/lefdef/lef-skips-end-library/au.oas | Bin 0 -> 596 bytes testdata/lefdef/lef-skips-end-library/in.def | 34 +++++++++ testdata/lefdef/lef-skips-end-library/in.lef | 67 ++++++++++++++++++ 5 files changed, 112 insertions(+), 2 deletions(-) create mode 100644 testdata/lefdef/lef-skips-end-library/au.oas create mode 100644 testdata/lefdef/lef-skips-end-library/in.def create mode 100644 testdata/lefdef/lef-skips-end-library/in.lef diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.cc index a3da23ab1..c4060aec4 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFImporter.cc @@ -1046,9 +1046,9 @@ LEFImporter::do_read (db::Layout &layout) if (test ("END")) { - // END LIBRARY terminates the file expect ("LIBRARY"); - break; + // END LIBRARY should terminate the file, but we allow to continue, so we can cat LEF files: + // break; } else if (test ("VERSION")) { diff --git a/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFImportTests.cc b/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFImportTests.cc index 593aa04d6..bc9526c93 100644 --- a/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFImportTests.cc +++ b/src/plugins/streamers/lefdef/unit_tests/dbLEFDEFImportTests.cc @@ -512,3 +512,12 @@ TEST(113_masks_1) ) } +TEST(114_lef_skips_end_library) +{ + db::LEFDEFReaderOptions opt = default_options (); + opt.set_produce_pin_names (true); + opt.set_pin_property_name (2); + opt.set_cell_outline_layer ("OUTLINE (13/0)"); + run_test (_this, "lef-skips-end-library", "lef:in.lef+def:in.def", "au.oas", opt, false); +} + diff --git a/testdata/lefdef/lef-skips-end-library/au.oas b/testdata/lefdef/lef-skips-end-library/au.oas new file mode 100644 index 0000000000000000000000000000000000000000..436fa32c63d123c4e7396be278b2389fb0dec065 GIT binary patch literal 596 zcmd^1J5Iwu5S`tPv59wyL~shUvP6NX2#^~%cx6`dPacO)wFN?=ClW13h&VwS4njxi zV<1k!5Gahq4VdE1`^_ApDeQ5TphY!g;%s^f?>_WLNBiiC{T*~!imq;|+BEIWwzy1F0z|RNy)R9G82Z(s z&24Ff5+M5`+$v_%+Ll5JE_*x-$j_6x$thv-mkN0?BNyb)R