From 4e68fdd73fda60122f16e8191ec72ef4b78a80e1 Mon Sep 17 00:00:00 2001 From: Uri Shaked Date: Tue, 5 Nov 2024 15:16:41 +0200 Subject: [PATCH] fix(tt_um_urish_sram): remove empty cells from GDS They cause the KLayout.StreamOut step to fail --- .../remove_empty_cells.py | 10 ++++++++++ .../tt_um_urish_sram_test.gds | Bin 1365484 -> 1362716 bytes 2 files changed, 10 insertions(+) create mode 100644 projects/tt_um_urish_sram_test/remove_empty_cells.py diff --git a/projects/tt_um_urish_sram_test/remove_empty_cells.py b/projects/tt_um_urish_sram_test/remove_empty_cells.py new file mode 100644 index 0000000..d1bfa76 --- /dev/null +++ b/projects/tt_um_urish_sram_test/remove_empty_cells.py @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: Public Domain +# Remove empty cells from a GDS file. + +import pya # KLayout Python API + +ly = pya.Layout() +ly.read("tt_um_urish_sram_test.gds") +opt = pya.SaveLayoutOptions() +opt.no_empty_cells = True +ly.write("tt_um_urish_sram_test.gds", opt) diff --git a/projects/tt_um_urish_sram_test/tt_um_urish_sram_test.gds b/projects/tt_um_urish_sram_test/tt_um_urish_sram_test.gds index f0889d5e462958af972c2ed88607ea34b8a7ca12..a764d0cae4acfee4a51449b0cde327e17aed2dd5 100644 GIT binary patch delta 11266 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 bt+FScbZ3V{NilyuJ|UzB+pya`I_7@?v~Iuc delta 12742 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