Commit Graph

3175 Commits

Author SHA1 Message Date
Matthias Köfferlein 209680e273 Some doc fixes as preparation for PDF generation (#1044)
* Some doc fixes as preparation for PDF generation

* Some doc bug fixes and enhancements for PDF manual generation
2022-04-02 16:12:52 +02:00
Matthias Koefferlein 9649620e8d Forget last commit - problem was that golden netlists should not be compared with net names as those are node numbers and they might change with C++ STL implementation 2022-03-18 00:11:28 +01:00
Matthias Koefferlein f54792d74d Maybe fixed build issue on MacOS 2022-03-18 00:11:10 +01:00
Matthias Köfferlein 5de5d146a2 Another change related to issue-1011 (aligning flat and deep mode text representation for LVS) (#1037) 2022-03-16 23:34:16 +01:00
Matthias Köfferlein 0dac0bac17 Bd enhancements (#1034)
* Added ability to join files for strmxor

* Joined input files also for strm2txt strmclip and strmcmp. Output options for strmxor.
2022-03-16 23:34:12 +01:00
Matthias Köfferlein 713973f97b Fixed main issue (warning about unexpected strict mode) (#1033)
The default mode was "expect non-strict" which is nonsense. It should
be "don't care".
2022-03-16 23:34:04 +01:00
Matthias Köfferlein f21e376414 Issue 1029 - Crash on QTreeViewItem#setBackgroundColor (#1032)
* Fixed issue #1029

The problem happened because in the described case the
tl::Variant used as a intermediate container holds the
Python QBrush object and when it gets deleted, the
QBrush object is deleted too.

* Added tests
2022-03-16 23:29:03 +01:00
Matthias Köfferlein 693b3f850e Issue 1021 (#1026) - LVS match issue on SRAM sample
* First step for solution:

Problem was: the ambiguity resolver was making decisions which later resulted in
a name conflict. Later on, another branch of the backtracking algorithm came
across the same situation but decided based on names, creating an conflict.

First part of the solution is to establish the backtracking information
during ambiguity resolution and using that rather than an alternative branch
later on. This avoids this conflict, but does not favor names as mandated
by the "use_names" flag. This will be the second step of the solution.

* Bugfixed solution (partially)

* Introducing third pass in netlist compare

The second pass is "ambiguity resolution by name" and
is skipped if "consider_net_names" is false. The third
pass then is ignoring the names.

* Bugfix

* Comment fixed, test updates

* Added tests

* Added test data variant for CentOS 8
2022-03-15 21:18:08 +01:00
Matthias Köfferlein 4b4a3eeeef Issue 1011 (#1027) - DRC violation on texts in deep mode
* Fixed issue-1011 by using single-point polygons for texts in deep mode. Tests need fixing.

* Updated tests (text become a single point)

* Added test for issue-1011
2022-03-15 21:18:02 +01:00
Matthias Köfferlein 1b5ea72125 Issue 1017 (#1023)
* Write polygons as single POLYLINE or LWPOLYLINE to DXF

* DXF writer creates simple polygons from ones with holes in POLYLINE and LWPOLYLINE mode, added tests
2022-03-10 19:16:10 +01:00
Matthias Koefferlein e6a77a6d2b LEF/DEF paths for buddies are relative to cwd 2022-03-09 22:24:58 +01:00
Matthias Koefferlein 6ce3215278 Fixed use of HTML in netlist browser 2022-03-09 22:24:27 +01:00
Matthias Köfferlein fd76cd7048 Fixed issue-1012 with some enhancements (#1016)
- warning if a layer is not mapped
- "," allowed as separator between files on buddy tools (in addition to '+')
- relative paths are resolved relative to . in buddy tools (more natural on Linux)
- Fixed tl::warn and tl::error so warnings/error messages can be continued with tl::noendl.
2022-03-05 14:57:40 +01:00
Matthias Köfferlein e759400ecf Split gates (#1018)
* First implementation, first basic tests.

* WIP: more tests, bug fixes

* split_gates feature, added test case

* Documentation
2022-03-05 14:57:34 +01:00
Matthias Koefferlein 90daa72e03 Fixed issue #1013 2022-03-01 17:18:52 +01:00
Matthias Koefferlein 03bbc95bf1 Avoid clipped texts in netlist/LVS result browser, text as tool tips 2022-03-01 17:18:48 +01:00
Matthias Koefferlein 299f628342 Bugfix: could not erase suffix in LEF/DEF reader options, could not reset datatype to 'none' (=don't produce) 2022-03-01 17:18:45 +01:00
Matthias Koefferlein f5dfe8a5e7 Ctrl+F always enters find edit box in macro editor, not only if something is selected. 2022-03-01 17:18:42 +01:00
Matthias Köfferlein 61d5963b8d Issue 1008 (#1010)
* PyPI deployment: corrected branch filter

* skip redundant points in partial edit, but not colinear ones

* Polygon transformation now preserves raw points
2022-03-01 17:18:37 +01:00
Matthias Köfferlein c46307a989 Issue 994 (#1006)
* Implemented issue-982 (heal option for strmxor)

The option is -m or --heal.
It is default off as in boundary cases (e.g. full layer vs. empty)
the healing adds a considerable memory and performance penalty.

Healing is only effective with tiling and affects output shapes
as well as shape counts.

* Fixed issue 994 (maybe, increased capture range for catching an existing selection)
2022-02-13 19:06:42 +01:00
Matthias Köfferlein 7ef5cdd8ac Fixed painting of rulers and grids in the presence of oversampling. Now the ruler/grid do not change with oversampling. (#1007) 2022-02-13 10:06:22 +01:00
Matthias Köfferlein b5069c7ca1 Implemented issue-982 (heal option for strmxor) (#1004)
The option is -m or --heal.
It is default off as in boundary cases (e.g. full layer vs. empty)
the healing adds a considerable memory and performance penalty.

Healing is only effective with tiling and affects output shapes
as well as shape counts.
2022-02-13 10:04:48 +01:00
Matthias Koefferlein 1585244fe8 Patch for issue-973 fix to make it work with libcurl 2022-02-12 22:16:45 +01:00
Matthias Köfferlein 4226ab0078 issue-996 Providing a "refresh" function for triggering a refresh from inside t… (#998)
* Providing a "refresh" function for triggering a refresh from inside the lib

Some other glitches were fixed too:
* LibraryManager wasn't thread-safe
* Library destructor wasn't unregistering
* Crash when re-registering the same library again
* In LibrariesTest normalization of layouts must not include
  re-creation of library references to avoid side effects.
  Save without context.

* Added missing files

* Fixed unit tests.
2022-02-12 21:27:15 +01:00
Matthias Köfferlein ffbdb90ad8 Fixed issue-972 (#1003)
The implementation basically means making cell names valid
rather than quoting them. This involves unification.
2022-02-12 18:09:42 +01:00
Matthias Köfferlein 2a115ebd19 Fixed #971 (double compare fails in LVS) (#1001) 2022-02-12 17:05:34 +01:00
Matthias Köfferlein e9f35f56d5 FIxed #997 (display of negative extensions of paths) (#999) 2022-02-12 17:04:04 +01:00
Matthias Köfferlein f5b88fe539 Issue 984 (#987)
* WIP: first attempt to fix issue-983

* WIP: bugfixes

* Fixed a problem with displaying empty cell dimensions, one warning

* Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour

* Fixed a few flaws in the cell selection scheme on the instance properties dialog.

* Early warning when trying to build a recursive hierarchy.

* Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel'

* First attempt to fix issue 984

* Fixed issue-983 solution

* Fixed the modification status of PCell parameters for 'apply to all'
2022-02-12 17:01:44 +01:00
Matthias Köfferlein 2bff4f2b89 Issue 983 (#986)
* WIP: first attempt to fix issue-983

* WIP: bugfixes

* Fixed a problem with displaying empty cell dimensions, one warning

* Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour

* Fixed a few flaws in the cell selection scheme on the instance properties dialog.

* Early warning when trying to build a recursive hierarchy.

* Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel'

* Fixed issue-983 solution

* Fixed the modification status of PCell parameters for 'apply to all'
2022-02-12 17:01:38 +01:00
Matthias Köfferlein 1bdf045c64 Fixed #995 (new topcell after load) (#1000) 2022-02-12 17:01:12 +01:00
Matthias Köfferlein 9463e9de59 Fixed issue-973 (timeout in Salt Manager) (#981)
The implementation now offers "infinite timeout" with
the option to abort download.
2022-02-12 16:56:36 +01:00
Matthias Köfferlein fabda851d3 Fixed issue-979 (backup file fails with relative paths) (#980) 2022-02-12 16:55:52 +01:00
Matthias Koefferlein 846d716612 Fixed Python 3.10 builds 2022-02-05 20:30:58 +01:00
Matthias Koefferlein df60f49276 Fixed issue-969 plus a Qt warning 2022-01-12 22:49:20 +01:00
Matthias Koefferlein 10456516db Updated copyright to 2022, preparations for 0.27.6 (was delayed due to code signing certificate issues) 2022-01-04 21:20:04 +01:00
Matthias Köfferlein b78a8d58c8
Merge pull request #964 from KLayout/issue-963-show-snapped-position
Implemented request: show snapped cursor position in lower left posit…
2021-12-30 09:07:47 +01:00
Matthias Köfferlein ccb9c05859
Merge pull request #962 from KLayout/lvs-data-as-global-function
Enabled 'lvs_data' as a new global function for LVS (for consistency)
2021-12-29 23:16:10 +01:00
Matthias Köfferlein 23207c2fe6
Merge pull request #961 from KLayout/issue-960
Fixed #960 (cap value not shown in netlist browser)
2021-12-29 23:15:36 +01:00
Matthias Koefferlein 980cd73c5a Implemented request: show snapped cursor position in lower left position display. 2021-12-28 22:39:04 +01:00
Matthias Koefferlein 6e15ebb3a1 Enabled 'lvs_data' as a new global function for LVS (for consistency) 2021-12-26 23:39:02 +01:00
Matthias Koefferlein 6c34ce14c0 Fixed #960 (cap value not shown in netlist browser) 2021-12-26 23:34:06 +01:00
Matthias Koefferlein 029b7b9410 Fixed generic DRC checks with == operations - this was sometimes not capturing the relevant cases. 2021-12-26 21:23:58 +01:00
Matthias Köfferlein 5f73d11fb1
Merge pull request #958 from KLayout/issue-951
Issue 951
2021-12-26 19:15:11 +01:00
Matthias Köfferlein 460ba9813a
Merge pull request #957 from KLayout/issue-954
Bugfix for #954
2021-12-26 19:14:44 +01:00
Matthias Koefferlein 4956091e75 Fixed a small glitch too: cut & paste of cells was possible in viewer mode 2021-12-26 12:33:44 +01:00
Matthias Koefferlein 8e02b400ca Fixed #951
The problem was essentially the "specific path" which got invalid.
The solution is to establish a better criterion for "path validity"
and use for failsafes against invalid paths.

In addition, the path validation has been modified such that a
better choice is made about the remaining path after a cell gets
deleted.
2021-12-26 12:20:54 +01:00
Matthias Koefferlein e1cd6aaeb1 Bugfix for #954
The bug was that while iterating a Region during the gate traversal,
the "select_interacting" was triggering a sort() which changed the
order.

Solution is to pre-sort when iterators are issued also when the
iterator is non-region selecting. This way, plain and region query
iterators can be used together. In addition, the dirty flag scheme
of Cell+Shapes was cleaned up a little for bboxes.
2021-12-26 01:12:36 +01:00
Matthias Koefferlein 2b9193331e Small bugfix: no 'nil' layer generated when no layer is selected for a PCell 2021-12-25 18:38:39 +01:00
Matthias Koefferlein 9cd77e5cec WIP: expose a new method of PCellDeclaration called 'wants_lazy_evaluation' 2021-12-25 18:03:30 +01:00
Matthias Koefferlein f985d946a1 WIP: implementing an optional 'update' button for lazy evaluation PCells 2021-12-25 17:40:10 +01:00