Commit Graph

2469 Commits

Author SHA1 Message Date
Matthias Koefferlein 1abfd5363e Fixed an infinite loop 2026-04-03 00:30:01 +02:00
Matthias Koefferlein a6dce8c2ad Improving Layout::cleanup to consolidate library and cold proxies and to establish proper cell names if possible 2026-04-02 22:14:11 +02:00
Matthias Koefferlein dcc7f28c77 Updating test data 2026-03-31 22:09:27 +02:00
Matthias Koefferlein 7cec679d39 Taking care of complex library reference scenarios where libraries self-reference and under the presence of stale references. Main issue is order of resolution and indirect references due to replication. Solution is to repeat resolution until saturated. A test is supplied. 2026-03-31 21:35:33 +02:00
Matthias Koefferlein 062567f206 WIP 2026-03-29 19:41:19 +02:00
Matthias Koefferlein ddb261d708 Improving stability of library refresh
1.) Safeguard against missing cells
2.) Use topological order during refresh
    This avoid child-first issues
3.) Use cell names and basic names for mapping
    (cell names may be disambiguated while
    basic names are not)
2026-03-28 22:05:23 +01:00
Matthias Koefferlein f501f039c0 Added tests and two convenience methods
The two convenience methods are

Library#library_from_file
Library#library_from_files

Both create and register a Library object tied to a file.
This object supports proper reloading and re-mapping on
"refresh".
2026-03-21 14:59:08 +01:00
Matthias Koefferlein ca3505b872 Part of the bugfix for #2305 - properly mapping cell indexes after library reload 2026-03-21 11:17:39 +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