Commit Graph

2495 Commits

Author SHA1 Message Date
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
Matthias Koefferlein bbd473ef47 Added 'Cell#change_ref' to modify the library reference of a cell 2025-10-14 23:50:08 +02:00
Matthias Koefferlein b3cc5d73fe Renaming a library will also change the references 2025-10-14 23:13:10 +02:00
Matthias Koefferlein d1e440d565 Doc updates 2025-10-11 21:23:58 +02:00
Matthias Koefferlein 67de518611 'Refresh Libraries' feature in File menu, new GSI method Library#refresh_all (static) 2025-10-11 21:14:56 +02:00
Matthias Koefferlein 5045287712 Bugfixes 2025-10-11 19:26:11 +02:00
Matthias Koefferlein ff2beaf32f Bugfix: cells were not replaced by defunc cold proxies after unregistering a lib 2025-10-11 17:54:26 +02:00
Matthias Koefferlein b3ec482eb8 WIP (also for other issue #2172)
- New virtual method "reload" for Library
- Implementing that for file-based libraries
- Integrating that into "refresh"
- GSI binding for Library#rename, Library#unregister
- Trigger changed event on Library#unregister
- Library#_destroy will unregister the library
- Typos fixed
2025-10-11 16:24:25 +02:00
Matthias Koefferlein a93d514911 More sanity checks for cell index on various Layout methods 2025-09-28 14:46:30 +02:00
Matthias Koefferlein 0daba4f5e0 Fixing 64 bit coordinate build and incorrect porting of fill tool code. 2025-09-10 23:39:28 +02:00
Matthias Koefferlein 0ddc07392b [consider merging] suppress normalization of orientation on GSI DPolygon#to_itype and Polygon#to_dtype 2025-09-08 21:16:05 +02:00
Matthias Koefferlein 3d5833d323 Updated doc 2025-09-07 18:49:14 +02:00
Matthias Koefferlein eb6369f90f Updated doc 2025-09-07 00:31:08 +02:00
Matthias Koefferlein cd34125b0c Bugfixing new implementation of fill tool, added tests for DRC implementation 2025-09-06 22:28:01 +02:00
Matthias Koefferlein 810f5fb8aa Added basic fill tool tests for exclude_area 2025-09-06 21:25:47 +02:00
Matthias Koefferlein feda8680ca WIP: exclude area implemented. Needs optimization. 2025-09-06 19:15:12 +02:00
Matthias Koefferlein ff6ab4267b WIP: exclude area for fill functions 2025-09-06 17:58:44 +02:00
Matthias Koefferlein 8901359957 Merge branch 'master' into devel 2025-09-06 13:26:11 +02:00
Matthias Koefferlein 90ed8a2390 Excluding degenerated edges from polygons so we don't consider them corners, addressing duplicate corners with zero distance. 2025-09-05 23:48:49 +02:00
Matthias Koefferlein a9d52b7a70 Fixing case of point vs. edge in projecting mode 2025-09-05 08:05:27 +02:00
Matthias Koefferlein aed28098f2 First solution, needs more testing 2025-09-04 23:30:39 +02:00
Matthias Koefferlein 50cad403b2 Doc updates (vias, paths) 2025-09-04 20:46:30 +02:00
Matthias Koefferlein 53a7414757 Merge branch 'master' into devel 2025-08-31 21:53:43 +02:00
Matthias Koefferlein 53c173d01e [consider merging] avoid a warning on writing cells/files in 'under_construction' mode when there is nothing to update 2025-08-30 21:49:27 +02:00
Matthias Koefferlein 0187abfafc [consider merging] Bugfix: internal error when trying to replace a shape in a standalone Shapes collection while preserving properties 2025-08-30 19:37:12 +02:00
Matthias Koefferlein f55a4824b7 Disabling features that are not used currently. 2025-08-23 23:05:14 +02:00
Matthias Koefferlein 3068c1da29 WIP: introducing grids in vias 2025-08-22 23:46:24 +02:00
Matthias Koefferlein d3d2eda54a WIP: undo, backspace implementation, bug fixes 2025-08-19 23:12:43 +02:00
Matthias Koefferlein 57cd512bf9 WIP: via up and via down 2025-08-18 23:33:44 +02:00
Matthias Koefferlein 39c8e0ca15 WIP: some refactoring, introducing cut layer in via definition 2025-08-18 22:53:45 +02:00
Matthias Koefferlein 42d32ecbb7 Some refactoring - putting some methods into db::Cell 2025-08-17 22:53:17 +02:00
Matthias Koefferlein d8e271339e WIP: some refactoring, vias switch layers now. 2025-08-17 21:50:02 +02:00
Matthias Koefferlein 5d253d3094 WIP 2025-08-16 19:17:58 +02:00
Matthias Koefferlein 0e1ba44eaf WIP 2025-08-16 18:05:32 +02:00
Matthias Koefferlein 8c53fb934e Merge branch 'devel' into vias-development 2025-08-16 16:49:36 +02:00
Matthias Koefferlein 5eb8c760d8 Merge branch 'master' into devel 2025-08-15 14:21:13 +02:00
Matthias Köfferlein 681d7eeb4b
Merge pull request #2118 from KLayout/feature/issue-2110
Feature/issue 2110
2025-08-15 14:20:26 +02:00
Matthias Koefferlein 2e1afc846a Small bug fixed 2025-08-10 23:33:02 +02:00
Matthias Koefferlein 7667932a00 Some adjustments:
* Fixed instance marker when the cell is made from empty ones only
* 'fit' will include empty instances
2025-08-10 16:49:51 +02:00
Matthias Koefferlein bdbf690764 Added some tests 2025-08-10 16:11:57 +02:00
Matthias Koefferlein b4bbc26d6a WIP 2025-08-10 13:43:19 +02:00
Matthias Koefferlein 29cc603466 WIP 2025-08-09 23:54:01 +02:00
Matthias Koefferlein cb70620ad1 Fixing issue #2111 (internal error on tesselation R extractor)
Problem was a runaway triangulation case where outside edges
exist without being segments.
2025-08-09 18:40:24 +02:00
Matthias Koefferlein 8da28a0f72 Trying to fix issue #2108 2025-08-06 18:57:33 +02:00
Matthias Koefferlein f289fa9483 A small enhancement (dbu argument in LayoutToNetlist#evaluate_nets), maybe fixing issues on old Ruby versions 2025-08-03 22:11:59 +02:00
Matthias Koefferlein b6fba7bb69 Bug fixes, new test details 2025-08-03 21:31:55 +02:00
Matthias Koefferlein 381baf7453 Merge remote-tracking branch 'origin/master' into feature/measurements 2025-08-03 19:53:06 +02:00
Matthias Koefferlein 8a5e83bf5d Consistently differenting between double and int values as property keys (otherwise there may be a confusing mix present in the property repository) 2025-08-03 19:46:31 +02:00
Matthias Koefferlein 4773bb3227 Added a test for cumulative antenna ratio 2025-08-03 18:00:25 +02:00
Matthias Koefferlein c8568e8aed DRC binding for property computation, filtering 2025-08-03 13:55:14 +02:00
GavinAnderberg 55b58a20cc
Correct typo gsiDeclDbNetlist.cc
Corrected a typo that has the docs say the Netlist.read method 'Writes the netlist to the given file'. It now accurately matches the function behavior.
2025-08-02 19:55:31 -04:00
Matthias Koefferlein 73681755ed Rename some functions, DRC binding for 'evaluate_nets' 2025-08-02 23:06:22 +02:00
Matthias Koefferlein 61aa08cd64 Added tests for more features 2025-08-02 22:23:03 +02:00
Matthias Koefferlein a224c11833 WIP: bugfix 2025-08-02 22:14:53 +02:00
Matthias Koefferlein c3ba0acc02 Added unit test 2025-08-02 21:43:39 +02:00
Matthias Koefferlein 8151feac56 Some debugging, skipping clusters without shapes on primary layer for example 2025-08-02 21:28:48 +02:00
Matthias Koefferlein d001f7fa04 Introducing variables to property filters, computation functions, generalizing net function for net measurement 2025-08-02 19:50:11 +02:00
Matthias Koefferlein e82ebf6733 WIP: measure_net function for LayoutToNetlist 2025-08-02 19:17:23 +02:00
Matthias Koefferlein 8e95f6a8e1 Fixing a few doc issues, updating DRC doc. 2025-08-02 16:19:12 +02:00
Matthias Koefferlein ffafebcaae Adding 'merge_props' and 'merged_props' to DRC 2025-08-02 16:12:49 +02:00
Matthias Koefferlein f9ea9af466 Fixed unit tests 2025-08-02 15:13:23 +02:00
Matthias Koefferlein d1e1f626c7 WIP (join properties on merge for flat regions) 2025-08-02 13:36:17 +02:00
Matthias Koefferlein 4b79c4c362 Fixing backward compatibility issue with pseudo-labels
Problem: pseudo-labels are represented by polygons with
properties. If those get merged onto normal polygons
with "join_properties_on_merge", these are regarded
labels and translated to texts later. We avoid this
by skipping all objects with pseudo-label properties
on region merge in "join_properties_on_merge" mode.
2025-08-01 22:59:38 +02:00
Matthias Koefferlein 786c60a28e Fixing unit tests 2025-07-31 23:54:55 +02:00
Matthias Koefferlein 37f9feaadd WIP: joining of properties in deep region 2025-07-31 22:38:48 +02:00
Matthias Koefferlein 653384fce5 WIP 2025-07-31 21:16:35 +02:00
Matthias Koefferlein b89ff76a84 Fixing issue #2102 (internal error on R extraction)
Problem was a conceptual problem: the triangulation for
Hertel-Mehlhorn decomposition must not contain internal
vertexes. So we need a different solution for including
vertex ports.
2025-07-30 23:24:34 +02:00
Matthias Koefferlein 1ff6f36076 Shapes#insert(region) now supports properties 2025-07-29 23:10:15 +02:00