Commit Graph

176 Commits

Author SHA1 Message Date
Matthias Koefferlein 7ae87404a0 [consider merging] Adding an option '-of|--format' to strmxor and strmclip to specify the output format instead of taking it from the suffix 2026-02-24 19:17:11 +01:00
Matthias Koefferlein 56fdbca1f5 Updating copyright to 2026 2026-02-07 17:12:53 +01:00
Matthias Köfferlein 31b7a5327b
Merge pull request #2271 from KLayout/bugfix/issue-2267
Bugfix/issue 2267
2026-02-07 09:46:52 +01:00
Matthias Köfferlein 887914944b
Merge pull request #2264 from KLayout/wip
Wip
2026-02-07 09:46:38 +01:00
Matthias Koefferlein ce877eed17 Fixed a unit test 2026-02-05 23:31:14 +01:00
Matthias Koefferlein 65fd3f3e50 Providing a fix for issue #2267
1. The script API "map_file" attribute has been changed
   to accept and supply nil (for no file), a string (for
   a file, empty is equivalent to "no file") and a list
   for multiple files which are merged. The split at "+"
   or "," has been dropped.
2. The strm* tools option ("--lefdef-map") has been changed
   to allow multiple occurances instead of split at "+" or ",".
2026-02-05 23:21:04 +01:00
Matthias Koefferlein f0de3013cb Typo fixed 2026-02-01 22:56:56 +01:00
Matthias Koefferlein d326df2424 Updating shape count output format and tests 2026-01-25 21:58:44 +01:00
Matthias Koefferlein 9e0572b863 Delayed generation of outputs
In the multi-threaded case this saves some time. Still for
the sample from the issue that is a dominant runtime
component and makes a 8-core run slower than the single-core
one.
2026-01-25 19:37:13 +01:00
Matthias Koefferlein 23b3143451 Report flat count in deep mode, optimize hierarchy handling
1. In deep mode, the count report column will report
   hierarchical and flat counts
2. XOR is shortcut evaluated with one empty input. The
   default implementation does that internally, but at
   the cost of mapping to the internal working layout
   which spoils hierarchy.
2026-01-25 13:36:22 +01:00
Matthias Koefferlein f2928e94a8 LStream writer options page, updated LStream sources, strm2lstr writer options 2025-11-09 10:17:58 +01:00
Matthias Koefferlein be62abd646 Added strm2lstr buddy tool 2025-11-09 09:10:31 +01:00
Matthias Koefferlein b9906180e8 Implementing request from issue #2183
For strmxor, --drop-empty-cells now is default.
To explicitly turn it OFF, use

strmxor --drop-empty-cells=false ...
2025-10-25 17:54:26 +02:00
Matthias Koefferlein 937e557564 Implemented a fix for issue #2191 (LIBNAME not saved)
The fix consists of moving that options into the case-specific
options like DBU, instead of having it in the format-specific,
default writer options. So they can be specified on a per-case
basis and taken from the current layout by default.

Specifically:
* SaveLayoutOptions#gds2_libname is deprecated and replaced
  by SaveLayoutOptions#libname
* -ol (buddy tools) is no longer format specific
* The GDS writer takes SaveLayoutOptions#libname, and
  if empty, substitutes by the current libname. As last
  resort, "LIB" is used, because LIBNAME cannot be an
  empty string.
* The libname got removed from the global writer options UI
* In the "Save As" options dialog, it now is part of the global
  options and initialized with the current layout's libname.
2025-10-19 13:36:07 +02:00
Matthias Koefferlein 712237e67b Implemented solution for issue #2145 (default_text_size option for GDS2 writer) 2025-09-08 23:23:05 +02:00
Matthias Koefferlein 15120760fe Handling of ghost cells in strm2x merge
Ghost cells act as anchors for top cells of the other
layout in "," merges. Unlike other cells which are
renamed.
2025-07-07 21:52:57 +02:00
Matthias Koefferlein d382629e8e Proposal for a fix of issue #2044 and #2066
The solution is to separate the meaning of "," and "+" layout
file combination operators in strm2x tools:

* "+" does "blending"
* "," does merge

"+" has priority over "," ('a+b,c' acts as '(a+b),c').
NOTE: LEF caching only happens across "+".
2025-07-05 22:48:05 +02:00
Matthias Koefferlein 98834d8e3b Reference new golden testdata for LEFDEF/strm2oas test 2025-05-29 12:00:44 +02:00
Matthias Köfferlein 3ce50679fa
Merge pull request #2050 from KLayout/dev-polygon-graph
Dev polygon graph
2025-05-29 09:43:06 +02:00
Matthias Koefferlein 9917978566 Merge branch 'master' into dev-polygon-graph 2025-05-28 19:01:42 +02:00
Matthias Koefferlein 1fb0f318dc Added pex lib to bd tools. 2025-05-17 18:49:32 +02:00
Matthias Koefferlein 8221923ccb Added a large (private) testcase for the 'read LEF once' enhancement 2025-05-17 16:50:47 +02:00
Matthias Koefferlein 4206d7ee63 Tried a performance improvement experiment, don't dare to actually use it 2025-05-17 01:00:57 +02:00
Matthias Koefferlein 271800ab94 WIP: first implementation. Builds, but needs testing. 2025-05-15 23:27:03 +02:00
Matthias Koefferlein 5077b22963 Bugfix: deep, empty layers still need a layout attached 2025-04-27 00:30:50 +02:00
Matthias Koefferlein 8ece7bcce1 Activate pex module, GSI bindings 2025-04-22 22:37:23 +02:00
Matthias Koefferlein 3bd9a96f67 Merge branch 'bugfix/strmxor' into bugfix/issue-2014 2025-04-08 22:55:45 +02:00
Matthias Koefferlein 0542ef835a strm2xor: parallelize by layer and not internally with -u 2025-04-08 21:14:19 +02:00
Matthias Koefferlein 3a752fd2c7 Adding 'total' time for -d11 in all scripts 2025-04-08 19:55:50 +02:00
Matthias Koefferlein 8150e732af Hopefully fixing strm2xor finally, added a test 2025-04-08 19:14:01 +02:00
Matthias Koefferlein 41e9cb5893 Maybe fixing basic issues with strmxor
1. Output of shape countsi in deep mode was hierarchical with
   output file, flat without
2. Refactoring of XOR (for_merged optimization) needed to
   create cover cell variants
2025-04-07 00:53:43 +02:00
Matthias Koefferlein 83e0c17291 Print total runtime for converter buddy tools with -d 11 2025-04-06 19:20:38 +02:00
Matthias Koefferlein 163c3b8edc Making "assume FOREIGN always default for strm* tools", OASIS warns on ghost cells 2025-04-06 12:50:34 +02:00
Matthias Koefferlein c9da9dc6e0 Updating copyright to 2025 2025-01-04 19:28:56 +01:00
Matthias Koefferlein 5281397b17 Fixed some tests 2024-12-26 00:42:39 +01:00
Matthias Koefferlein dd7aa9b84f WIP: massive refactoring of properties repo and OASIS reader
Target is to reduce the properties repository to a singleton.
Hence, there is no need to translate property IDs and it
is possible to retrieve properties everywhere.

The OASIS reader is refactored to avoid property renaming
and change of property definitions per ID.
2024-12-24 00:00:43 +01:00
Matthias Köfferlein 6c82177dfa
Merge pull request #1883 from KLayout/issue-1869
Fixed issue #1869 by adding a new option, -to or --top-output to strmxor
2024-10-20 13:22:12 +02:00
Matthias Koefferlein 19b2aea471 Fixed #1885
Now, the default of --subst-char in strm2oas is "don't substitute".
You can explicitly specify "don't substitute" using "--subst-char="
(without value).
2024-10-12 21:19:09 +02:00
Matthias Koefferlein d7abbaca36 Fixed issue #1869 by adding a new option, -to or --top-output to strmxor 2024-10-06 18:33:53 +02:00
Matthias Koefferlein f721be7e32 Trying to improve deep-mode XOR and NOT performance by introducing a local sweep that eliminates shapes also found in second input. 2024-06-17 21:45:55 +02:00
Matthias Köfferlein a494892529
Merge pull request #1718 from KLayout/wip
Wip
2024-05-31 22:48:24 +02:00
Matthias Koefferlein 149c972172 Enhancing 'blend-mode' 0 (buddy tools) such that it will not generate instance duplicates 2024-05-29 22:39:57 +02:00
Matthias Koefferlein 8422fe8f83 Implementing solution for issue #1701 (Feature request: strm2oas should report input unit differences) 2024-05-18 19:41:43 +02:00
Matthias Koefferlein cb5a1f7d3e Refining shape iterator optimization, so it checks instances for overlap with shapes rather the other way round. This suits better to real test cases. 2024-03-27 23:46:33 +01:00
Matthias Koefferlein d248bfddf3 Updating copyright to new year 2024-01-01 17:06:23 +01:00
Matthias Koefferlein f8268746e3 Fixed a typo 2023-10-19 01:58:19 +02:00
Matthias Koefferlein 7509e7a18c Fixed a typo 2023-08-03 00:01:44 +02:00
Matthias Koefferlein 3736b59156 it's -> its 2023-07-30 14:46:58 +02:00
Matthias Koefferlein 37cf773a70 Introduces a 'greedy hierarchy' mode for DeepShapeStore for special applications (e.g. strmxor) 2023-07-04 07:56:58 +02:00
Matthias Koefferlein 7f8eeb3a09 Fixed issue #1281 (Layout diff should ignore shape or instance duplicates)
A new option in the diff tool and strmcmp has been added
(-1|--ignore-duplicates in strcmp).
In RBA/pya, the "IgnoreDuplicates" flag has been added.
2023-06-10 09:11:39 +02:00