Commit Graph

2462 Commits

Author SHA1 Message Date
Matthias Koefferlein 2dfcc9293e Allowing to explicity specify a format
Most tools and functions now allow to explicitly
specify a format for input and output. On input,
the format is usually detected, but for some
cases, this is not possible (e.g. DEF). So you can
specify the format attached to the file name in
square brackets:

e.g. file.defok[def]

"def" is the intended suffix, "defok" is the given one.

On output, the same is possible, specifically in strmxor
and strmclip:

strmxor a.gds b.gds out.xor[oas]
2026-03-20 16:30:28 +01:00
Matthias Koefferlein c14d8cc877 [consider merging] proper cleanup of properties repo - this enables using user classes for names or values. Without this pre-finalization cleanup, the user class 'destroy' method may end up calling a method of an already destroyed class object. 2026-02-24 19:17:01 +01:00
Matthias Koefferlein bc49082955 Fixing a small glitch: drawing into a ghost cell is possible, but did not turn off the ghost cell flag. Now the flag is still on, but a non-empty cell is not considered a ghost cell for most purposes. 2026-02-19 23:26:48 +01:00
Matthias Koefferlein a8119c5a53 Performance improvement for hierarchical processor
Problem was pushing of the results into the cell hierarchy
somehow lead to thread stalling. Likely due to bbox invalidation
and related effects. Solution is to store the results of
the operations inside the context structure (along with the
propagation information) and push it to the layout later in
a single step.
2026-02-19 00:03:25 +01:00
Matthias Koefferlein b685f89639 C++20 readiness 2026-02-16 23:49:23 +01:00
Matthias Koefferlein 3df88ae279 A small, but sometimes effective optimization of DRC check functions: if a feature is entirely covered (with interaction distance) by a box, it is enough to check against the box 2026-02-15 19:17:21 +01:00
Matthias Koefferlein c3989f63e3 [consider merging] Performance improvement of netlist step (see https://www.klayout.de/forum/discussion/2839/drc-scripts-reports-and-parallelism#latest) 2026-02-14 23:39:00 +01:00
Matthias Koefferlein 5da83e670d Restoring drawing performance 2026-02-08 08:43:03 +01:00
Matthias Koefferlein 56fdbca1f5 Updating copyright to 2026 2026-02-07 17:12:53 +01:00
Matthias Köfferlein 887914944b
Merge pull request #2264 from KLayout/wip
Wip
2026-02-07 09:46:38 +01:00
Matthias Köfferlein 3f9d8906f9
Merge pull request #2266 from KLayout/bugfix/issue-2262
Bugfix/issue 2262
2026-02-07 09:18:03 +01:00
Matthias Koefferlein 4e0befd8cd Trying to fix Windows builds 2026-02-05 22:16:58 +01:00
Matthias Koefferlein f68d02c6f3 Merge branch 'master' into wip 2026-02-05 22:05:24 +01:00
Matthias Koefferlein 22a197169d Trying to fix Windows builds 2026-02-05 22:04:10 +01:00
Matthias Köfferlein 01d2ccbdc5
Merge pull request #2257 from KLayout/evaluate_net-enhancements
Evaluate net enhancements
2026-02-05 21:53:39 +01:00
Matthias Koefferlein 0067d46541 Providing a (maybe faster, sometimes) backup implementation for cell mapping - to be used later maybe 2026-02-01 20:27:49 +01:00
Matthias Koefferlein f7870338cf [consider merging] Fixed a MT problem that can be fixed by avoiding recursive calls of Layout::update 2026-01-31 23:02:26 +01:00
Matthias Koefferlein c12942c5bc [consider merging] Fixed a MT problem that can be fixed by avoiding recursive calls of Layout::update 2026-01-31 21:53:28 +01:00
Matthias Koefferlein 6661f5b5dd WIP 2026-01-27 20:54:24 +01:00
Matthias Koefferlein 94a425da0d WIP 2026-01-26 23:55:55 +01:00
Matthias Koefferlein 9e79942bb9 Proposing one part of fix 2026-01-25 10:06:58 +01:00
Matthias Koefferlein c6faa3e628 'extent_refs' DRC function: enabling for edge pairs and edges, clarification of documentation 2026-01-11 22:34:52 +01:00
Matthias Koefferlein 80f78bffc9 Improving solution for net cluster renaming for join_nets 2026-01-11 20:53:18 +01:00
Matthias Koefferlein b324f3f5cc Bugfix/enhancement: keeping clusters and nets in sync when joining nets. This will enhance robustness under presence of soft connection errors 2026-01-11 17:45:44 +01:00
Matthias Koefferlein 38ddffc645 L2N log entries with net references
* Log entries on the L2N object can now have net references
  (by expanded name) and the nets will be highlighted
  when the log entry is selected in the netlist browser
  For an application see drcSimpleTests:147.
* New function ("db") in evaluate_nets
* BUGFIX: proper computation of transformations for multiple
  selections of nets in netlist browser
2026-01-04 22:48:35 +01:00
Matthias Koefferlein b44bab9943 Making net name mandatory (using expanded_name) for L2N format, so that we can refer to net name in log entries later 2026-01-04 17:10:35 +01:00
Matthias Koefferlein c50b56f868 Shortcutting evalute_nets if there is nothing to do. 2026-01-04 17:10:08 +01:00
Matthias Koefferlein 60a5dc1b8a Bugfix of 'evaluate_nets' function, added tests 2026-01-04 17:07:38 +01:00
Matthias Koefferlein 17a525f39f Fixed a typo 2026-01-04 15:34:48 +01:00
Matthias Koefferlein 407bbbcf62 More options on 'evaluate_nets' expressions, i.e. 'copy'. See documentation for details. 2026-01-03 01:21:30 +01:00
Matthias Koefferlein 5b0e9f146f Fixing issue #2252 (internal error on netlist compare) 2025-12-23 18:46:08 +01:00
Matthias Koefferlein 989f80e1a6 Using floats for Polygon::smooth distance checks, so that precise measurements are taken 2025-12-22 21:02:22 +01:00
Matthias Koefferlein 0bb0cb4a12 WIP 2025-12-01 00:28:43 +01:00
Matthias Koefferlein d8d53fb328 Merge remote-tracking branch 'origin/devel' 2025-11-09 21:14:39 +01:00
Matthias Koefferlein dd9b38a92f Refactoring of Python module build system, now based on configuration files mostly. 2025-11-09 17:46:25 +01:00
Matthias Koefferlein bd6f62013e Importing latest version of LStream package, bug fixes (mag instances, layer were duplicated) 2025-11-09 11:30:00 +01:00
Matthias Koefferlein 89cc79cbbc Fixing issue #2208
Problem was rounding that lead to incorrect distance measurements
between parallel edges when one edge was very short.
2025-11-08 23:45:09 +01:00
Matthias Koefferlein 5add5c3df2 [consider merging] Library rename now removes an existing library 2025-11-08 15:55:25 +01:00
Matthias Koefferlein 289facd5ee Merge branch 'master' into devel 2025-10-26 16:36:03 +01:00
Matthias Koefferlein fc3185165f Added some tests 2025-10-25 17:16:13 +02:00
Matthias Koefferlein b523f05f80 Some typos fixed 2025-10-25 00:33:25 +02:00
Matthias Koefferlein e8e2858af3 Implemented a solution for #2195
A new PCell method cell_name/cell_name_impl that
delivers a cell name, which is used for "convert to
static cell" and as cell name in general.

Needs testing.
2025-10-25 00:21:04 +02:00
Matthias Koefferlein 4ee73b5f86 Added one more test 2025-10-23 18:50:44 +02:00
Matthias Koefferlein 853a7d7a13 Refinement of HM fix 2025-10-23 00:25:47 +02:00
Matthias Köfferlein e3e96c97c7
Merge pull request #2188 from KLayout/feature/issue-2176
Implemented solution for issue #2176
2025-10-21 21:52:26 +02:00
Matthias Köfferlein 0ce335d8cf
Merge pull request #2192 from KLayout/bugfix/issue-2191
Implemented a fix for issue #2191 (LIBNAME not saved)
2025-10-19 19:45:37 +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 780615ea9d Implemented solution for issue #2176
- On "via" (Key "O"), the application switches into path mode
- A selection menu pops up if multiple layers are possible starting
  points below the cursor

As a side effect, "tap" will only display the layer selection menu
if there is more than one layer to be selected.
2025-10-18 22:02:58 +02:00
Matthias Köfferlein 8cc01ca814
Merge pull request #2178 from KLayout/feature/issue-2168
Feature/issue 2168
2025-10-18 13:51:25 +02:00
Matthias Koefferlein ce0d619470 Force update of cell tree after rename of library 2025-10-15 22:35:27 +02:00