Commit Graph

5416 Commits

Author SHA1 Message Date
Matthias Koefferlein a601447d5f Properties dialog: stop handling 'Enter' key - use 'Ok' to close it 2024-08-08 20:46:22 +02:00
Matthias Koefferlein d31c9dbf6c Bugfix: avoid a segfault in the property editor due to invalid array access (difficult to reproduce). 2024-08-07 22:38:25 +02:00
Matthias Koefferlein 4631a806ef Provide a warning message when closing the window while an operation is ongoing. 2024-08-07 00:48:42 +02:00
Matthias Koefferlein 33a3a15791 Bugfix: 'netter' function in DRC wasn't working as described - it raised an error 2024-08-07 00:48:19 +02:00
Matthias Koefferlein fd1dc842e0 Generic GSI methods #_to_const_object (for testing) and #_const_cast. Fixed a class initialization issue - sub classes should not be registered by name at top level in Expressions 2024-08-07 00:11:48 +02:00
Matthias Koefferlein 82b3030352 const versions of Layout#cell and Layout#top_cell(s) 2024-08-06 18:19:31 +02:00
Matthias Koefferlein 3068dd2798 Allowing RBA::Net objects for DRCLayer#nets as well 2024-08-06 00:14:02 +02:00
Matthias Koefferlein 13dec274a3 Small redesign of the UI 2024-08-04 21:38:05 +02:00
Matthias Koefferlein 817f00e9ba Update DRC documentation for #1816 implementation 2024-08-04 21:18:35 +02:00
Matthias Koefferlein 35219469d6 Debugging and first tests for DRC 2024-08-04 21:03:19 +02:00
Matthias Koefferlein 29f82854fb Fixed DRC update 2024-08-04 19:23:31 +02:00
Matthias Koefferlein f653764dc0 Bugfix (typo): ParameterState#icon was named 'tooltip' 2024-08-04 18:55:53 +02:00
Matthias Koefferlein c63e41e732 GSI binding 2024-08-04 18:37:31 +02:00
Matthias Koefferlein c23c4045ba Basic implementation 2024-08-04 17:57:50 +02:00
Matthias Koefferlein 7510728a71 First API steps 2024-08-03 23:18:57 +02:00
Matthias Koefferlein 7470023d38 Deploying font_resolution somewhat further, but not using it for now 2024-08-03 22:47:10 +02:00
Matthias Koefferlein 40e360e640 Fixed a potential segfault in the text renderer 2024-08-03 22:23:48 +02:00
Matthias Koefferlein 3290d0ab21 Introducing font resolution
With the subresolution mode, the "Default" fonts get very small.
Hence, a separate font resolution is provided which
applies to "Default" font rendering only.
2024-08-03 21:10:25 +02:00
Matthias Koefferlein a802cd0e91 Proper scaling with resolution
- stipple display in layer list now follows view resolution
- using DCoord for text default size for cases where default size < DBU
2024-08-03 18:41:55 +02:00
Matthias Koefferlein cd69f29508 Basic feature implemented. Needs improvement. 2024-08-03 09:55:59 +02:00
Matthias Koefferlein aeae234fb7 Fixed issue #1814 (application freezes on Ctrl+Select) 2024-08-01 23:12:20 +02:00
Matthias Köfferlein d1121faecb
Merge pull request #1809 from KLayout/feature/issue-1776
First draft for fix of issue #1776 (undo/redo by list)
2024-07-31 07:10:18 +02:00
Matthias Koefferlein 1040e81fe6 Merge branch 'master' of github.com:KLayout/klayout 2024-07-30 18:59:18 +02:00
Matthias Köfferlein 8ab398dc58
Merge pull request #1811 from KLayout/wip
Wip
2024-07-30 18:59:09 +02:00
Matthias Köfferlein a126c8f8c4
Merge pull request #1810 from KLayout/gds2-writer-overflow-checks
Gds2 writer overflow checks
2024-07-30 18:58:53 +02:00
Matthias Köfferlein ba899b391c
Merge pull request #1808 from KLayout/bugfix/issue-1784
Proposal for fixing issue #1784 (Spice throws error at midline semico…
2024-07-30 18:58:28 +02:00
Matthias Köfferlein e7f0317029
Merge pull request #1807 from KLayout/bugfix/issue-1768
Fixed issue #1768 (Change 'angle constraint' of box and ellipse ruler…
2024-07-30 18:58:16 +02:00
Matthias Köfferlein 611e42d661
Merge pull request #1806 from KLayout/issue-1779
Fixed issue #1779 (make the state of the "By Cell" or "By Category" t…
2024-07-30 18:58:02 +02:00
Matthias Köfferlein 31fc1d8d79
Merge pull request #1805 from KLayout/bugfix/issue-1804
Fixed issue #1804 (Instantation path highlight mismatch with view win…
2024-07-30 18:57:48 +02:00
Matthias Köfferlein f4e4ce99b8
Merge pull request #1803 from KLayout/feature/issue-1790
Implemented a solution for issue #1790 (Support for recursive PCell i…
2024-07-30 18:57:34 +02:00
Matthias Koefferlein b6af0ba2a8 Updating Python stubs 2024-07-30 18:48:45 +02:00
Matthias Koefferlein ee9644ca42 Fixed Qt4 builds 2024-07-30 18:13:17 +02:00
Matthias Koefferlein 7ddc86414d Trying to fix Windows builds 2024-07-30 07:13:35 +02:00
Matthias Koefferlein 277ab2c335 Refactoring of GDS2 writer - split large functions into smaller ones 2024-07-30 00:13:47 +02:00
Matthias Koefferlein 589a6ce88a Merge branch 'master' into gds2-writer-overflow-checks 2024-07-29 19:58:47 +02:00
Matthias Koefferlein b7e2b59852 First implementation of GDS2 coordinate overflow checks. 2024-07-29 19:54:29 +02:00
Matthias Koefferlein 9165e81754 Highlight the items before the selected one to give a visual aid about what is going to be executed 2024-07-29 00:32:41 +02:00
Matthias Koefferlein c6928d234c First draft for fix of issue #1776 (undo/redo by list) 2024-07-29 00:15:22 +02:00
Matthias Koefferlein 7978a2bb1d Proposal for fixing issue #1784 (Spice throws error at midline semicolon comments) 2024-07-28 22:24:15 +02:00
Matthias Koefferlein 5b9cb95e68 Fixed issue #1779 (make the state of the "By Cell" or "By Category" tree persistent) 2024-07-27 21:10:05 +02:00
Matthias Koefferlein 7caf7c89d3 Fixed issue #1768 (Change 'angle constraint' of box and ellipse ruler templates to 'any angle' by default) 2024-07-27 20:35:20 +02:00
Matthias Koefferlein 258aaad29d Fixed issue #1804 (Instantation path highlight mismatch with view window)
In addition, the highlighting was fixed in the
presence of a context path (aka "edit in place").
2024-07-27 20:10:30 +02:00
Matthias Koefferlein fec61438d4 Small bugfix: 'Delete selected stacks' was not working from stack tech component editor's context menu 2024-07-27 17:26:23 +02:00
Matthias Koefferlein fb83b9fbc9 Trying to improve "grab" behavior of partial selection
Problem was: with a partial selection, clicking
in the vicinity of a non-selected edge could
make this edge the selected one. So it was
not possible to drag the selection in some
cases.

With "move mode" it was. The difference was in
the detection logic that decides where a click
is on the selection or outside.

Now, the logic is aligned, and partial mode
clicks will check whether the mouse pointer
is inside the selection bbox (plus some
margin). In that case, the click applies to
the current selection.
2024-07-27 17:18:29 +02:00
Matthias Koefferlein b253eaa51a Including more GeneratorExit and StopAsyncIteration in the ignored exceptions for Python 2024-07-27 14:29:14 +02:00
Matthias Koefferlein 071326ffee Small doc update 2024-07-27 14:18:42 +02:00
Matthias Koefferlein c3fdc6e1bc Implemented a solution for issue #1790 (Support for recursive PCell instances)
This also fixes some other issues, like "display_text_impl" being
called when a PCell is run with the debugger open.
2024-07-27 14:00:54 +02:00
Matthias Köfferlein cfa0dacd4f
Merge pull request #1800 from KLayout/bugfix/issue-1799
Fixed issue #1799 (Can't set cell properties by script)
2024-07-27 11:48:01 +02:00
Matthias Köfferlein baf2c761c4
Merge pull request #1796 from KLayout/bugfix/issue-1794
Implemented a fix for #1794 (giant meta info produces invalid GDS)
2024-07-27 11:47:47 +02:00
Matthias Köfferlein 113e47a9ca
Merge pull request #1795 from KLayout/bugfix/issue-1793
Fixing issue #1793 (problem with default arguments in Python)
2024-07-27 11:47:33 +02:00
Matthias Koefferlein d6ee473d72 Fixed issue #1799 (Can't set cell properties by script) 2024-07-25 22:36:46 +02:00
Matthias Koefferlein a0d26a59e3 Properly transferring ownership for variant to Python/Ruby translation 2024-07-25 21:07:36 +02:00
Matthias Koefferlein 58d489b39a Added Region#being_shapes_rec and Region#begin_merged_shapes_rec, mainly for being able to retrieve shapes with properties from Region#nets 2024-07-25 19:34:08 +02:00
Matthias Koefferlein 92e44bd9b9 Small update of doc. 2024-07-24 22:36:06 +02:00
Matthias Koefferlein 4cd8772e70 Convenience methods Shape#properties, Layout#properties, Cell#properties, Instance#properties 2024-07-24 22:29:09 +02:00
Matthias Koefferlein 6baabc30bb Added Netlist#top_circuit and Netlist#top_circuits convenience methods 2024-07-24 20:57:17 +02:00
Robert O'Callahan 8e7d9669af Initialize m_verbosity_level on demand to avoid depending on the order of dynamic initialization
Resolves #1797
2024-07-23 17:44:00 +12:00
Matthias Koefferlein 16abeb2bdc Merge branch 'master' into wip 2024-07-22 21:34:12 +02:00
Matthias Koefferlein 3bd02c023f Enabling MSVC build (2) 2024-07-21 10:47:09 +02:00
Matthias Koefferlein 15eebb032f Enabling MSVC build 2024-07-21 10:23:49 +02:00
Matthias Koefferlein 9600cd818c Merge branch 'master' into bugfix/issue-1793 2024-07-21 08:11:37 +02:00
Matthias Köfferlein d3921844d6
Merge pull request #1791 from KLayout/bugfix/issue-1782
Fixing issue #1782
2024-07-21 08:08:59 +02:00
Matthias Köfferlein 951905d7aa
Merge pull request #1792 from KLayout/bugfix/issue-1789
Fixing bug #1789 (Crash by add Text to hidden layer)
2024-07-21 08:08:43 +02:00
Matthias Koefferlein 6456675d7a Trying to fix a build issue 2024-07-20 22:48:06 +02:00
Matthias Koefferlein 0dd6fca51e Implemented a fix for #1794 (giant meta info produces invalid GDS)
This fix solves two problems:
* Too large meta info data
* Too many meta info entries

The first problem is fixed by splitting the strings that serialize
the meta info.

The second problem is fixed by introducing prefixed strings that
indicate the attribute index within the string, not inside
the PROPATTR record.

The solution is backward compatible, although old versions will
not read all meta info and skip entries that exceed the GDS
capacity.

Caveat: the produced GDS files may contain duplicate PROPATTR
keys. This is not strictly illegal, but some third-party processors
may drop such entries.
2024-07-20 22:35:54 +02:00
Matthias Koefferlein 32a815a1c0 Properly selecting debug mode in .pri files for self diagnosis. Touching files for recompile. 2024-07-20 21:04:51 +02:00
Matthias Koefferlein a8eaead404 Enhanced tl::Variant so it can capture all possible default values. Added a self-diagnosis step in debug builds. 2024-07-20 19:57:11 +02:00
Matthias Koefferlein 9a79838369 Bugfix for issue-1793: using the heap to properly store the default values 2024-07-20 18:58:29 +02:00
Matthias Koefferlein a323bb98ba Bugfix - missed return value. 2024-07-20 00:54:48 +02:00
Matthias Koefferlein 50a9f7004e Fixed a link issue 2024-07-20 00:42:38 +02:00
Matthias Koefferlein 915cc53195 Convenience: copy cells now has an option to mute the dialog (shallow/deep) and the dialog is only shown if there are subcells 2024-07-20 00:03:43 +02:00
Matthias Koefferlein ee07e4b3b9 Added smoke test for Layout#break_polygons and Shapes#break_polygons to RBA 2024-07-17 23:25:20 +02:00
Matthias Koefferlein 4d80fb37c3 Enabled 'break_polygons' for editable Shapes containers 2024-07-17 23:14:34 +02:00
Matthias Koefferlein 1ed69e9b46 Added test 2024-07-17 23:09:04 +02:00
Matthias Koefferlein b6cc636b05 Debugging Layout#break_polygons etc. 2024-07-17 00:51:01 +02:00
Matthias Koefferlein a89e295349 WIP: Shapes#break_polygons, Layout#break_polygons, Region#break_polygons (as alias) 2024-07-17 00:27:06 +02:00
Matthias Köfferlein a6c07182e3
Merge pull request #1788 from Kazzz-S/0.29.4-mac1
Modified the macOS build system so that the debug build uses ASAN (Adress SANitizer) for clang++
2024-07-14 14:22:09 +02:00
Matthias Koefferlein 8b1930ef23 Fixing bug #1789 (Crash by add Text to hidden layer)
Problem was: after activating Text mode the edit
function showed the dock with the editor options.
This cause a mouse move event due to resizing
which in turn triggered the popup about invisible
layer. Apparently Qt's dock open animation does
not like popups during the animation phase which
caused the segfault.

Solution is to do the check upon activation,
not in the mouse move event.
2024-07-13 20:30:12 +02:00
Matthias Koefferlein 072edecb1a Add-on making re-registration of PCells a valid feature. 2024-07-13 18:55:17 +02:00
Matthias Köfferlein 4383802d80
Merge pull request #1786 from rocallahan/remove-friend
Remove unused `OASISReaderLayerMapping` friend declaration
2024-07-13 18:30:47 +02:00
Matthias Köfferlein 7e5f10307d
Merge pull request #1785 from ChipFlow/subcircuit_hierarchy_for_nets
Fixed DeepShapeStore.subcircuit_hierarchy_for_nets getter
2024-07-13 18:24:30 +02:00
Matthias Koefferlein 0df6339f4e Fixing issue #1782
This patch establishes "nan", "inf" and "-inf" as
valid values for tl::Variant, so corresponding
PCell parameters can be serialized and are
properly managed.
2024-07-13 18:07:45 +02:00
Matthias Koefferlein 7146db4762 Checking some pointers for null (maybe responsible for crashes during PCell development) 2024-07-13 15:30:17 +02:00
Matthias Koefferlein acbbd92194 Fixes a potential crash during breakpoint handling
This fixes the following problem:
* Set a breakpoint in a PCell code
* Change the PCell, breakpoint gets triggered
* While debugger is in breakpoint, close the
  view with the PCell

To prevent any kind of interference, events
are now disabled during breakpoint mode. As
this interferes with the help dialog, you
cannot open the help dialog either.
2024-07-13 10:42:44 +02:00
Robert O'Callahan b2ee4209f8 Remove unused `OASISReaderLayerMapping` friend declaration 2024-07-10 10:27:20 +12:00
Serge Rabyking 2be4f3f756 Fixed DeepShapeStore.subcircuit_hierarchy_for_nets getter 2024-07-09 22:14:32 +01:00
Kazunari Sekigawa 646a356d96 Merge branch '0.29.3-mac1' into 0.29.4-mac1 2024-07-09 18:42:03 +09:00
Matthias Koefferlein 12d09687cd WIP: post-fix for #1780 - minimizing access to 'selection' which is mutable. 2024-07-08 23:51:36 +02:00
Matthias Koefferlein 3cf6ef2cec WIP 2024-07-08 23:28:19 +02:00
Matthias Koefferlein 6bca4a07b6 Code cleanup + fixing another bug (crash when doing 'change layer' on multiple selected shapes) 2024-07-08 22:43:56 +02:00
Matthias Koefferlein 930a5d7424 Bugfix issue #1780 2024-07-08 18:59:53 +02:00
Kazunari Sekigawa 45e7a8eb8d Modified the macOS build system so that the debug build uses ASAN (Address SANitizer) for clang++ 2024-07-07 18:47:11 +09:00
Matthias Köfferlein 02506495c2
Merge pull request #1777 from KLayout/bugfix/issue-1771
Bugfix/issue 1771
2024-07-06 14:49:45 +02:00
Matthias Koefferlein 27549e006d Fixing issue #1771 - Python 3.11.7 introduced a new behavior for getting the stack trace line number 2024-07-06 00:23:42 +02:00
Matthias Koefferlein 769327cdab Fixing issue #1774 (providing klayout.__version__ also for built-in module) 2024-07-05 17:50:38 +02:00
Matthias Koefferlein 9c13dbb63c Fixed issue #1770 (Macro development step over/into does not work in some cases
)
2024-07-04 18:45:34 +02:00
Matthias Koefferlein 63aeec1e36 Updating DRC/LVS doc. 2024-07-04 18:31:44 +02:00
Matthias Koefferlein 6da9e60736 Fixing typo as addressed by issue #1769 2024-07-04 18:31:02 +02:00
Matthias Koefferlein 4a2d1be8bf Backward compatibility mode (with fix): size now also accepts sizing mode as string (for supporting GF180 DRC decks properly) 2024-07-03 22:59:31 +02:00
Matthias Koefferlein 02f88fb3e0 Fixed 64bit coordinate builds 2024-07-03 18:37:55 +02:00
Matthias Koefferlein bf78f0b364 Regenerating stubs 2024-07-03 01:14:03 +02:00
Matthias Koefferlein 264f1e0586 Stepwise sizing: had to rename options
"inside" and "outside" was already taken. Now it is called
"size_inside" and "size_outside".
2024-07-02 21:10:11 +02:00
Matthias Koefferlein 68530f08bc Merge branch 'faster-latchup-rules' 2024-07-01 18:28:23 +02:00
Matthias Köfferlein 7839e6a97f
Merge pull request #1764 from KLayout/feature/issue-1756
Feature/issue 1756
2024-07-01 18:24:57 +02:00
Matthias Köfferlein 8145e3db57
Merge pull request #1763 from KLayout/better_pyi
.pyi files work slightly better with these changes. Also: regeneratin…
2024-07-01 18:24:37 +02:00
Matthias Köfferlein 3237f5ec4a
Merge pull request #1761 from KLayout/feature/issue-1655
Feature/issue 1655
2024-07-01 18:24:22 +02:00
Matthias Köfferlein 53db0a0300
Merge pull request #1760 from KLayout/feature/issue-1741
Implemented solution for issue #1741 (Feature request: tooltip string…
2024-07-01 18:24:07 +02:00
Matthias Köfferlein e56c7d6948
Merge pull request #1759 from KLayout/bugfix/issue-1743
Fixed issue #1743 (strmxor shows no difference, klayout xor shows 85,…
2024-07-01 18:23:50 +02:00
Matthias Koefferlein 54aeea54ca Alternative implementation of solution for issue #1756 (allow specific HTTP timeout) 2024-06-30 19:36:18 +02:00
Matthias Koefferlein 6992ac67b0 .pyi files work slightly better with these changes. Also: regenerating Python stubs. 2024-06-30 17:57:36 +02:00
Matthias Koefferlein a49f907cfa Doc fixes 2024-06-30 00:07:52 +02:00
Matthias Koefferlein 7eadac527b Debugging and finalization 2024-06-29 23:55:02 +02:00
Matthias Koefferlein b92c7bf225 Refined solution 2024-06-29 23:22:32 +02:00
Matthias Koefferlein f9899efea3 First implementation 2024-06-29 23:02:29 +02:00
Matthias Koefferlein a5b98f93ff Implemented solution for issue #1741 (Feature request: tooltip string for PCell parameter) 2024-06-29 22:10:43 +02:00
Matthias Koefferlein 4e8bad1403 Fixed issue #1743 (strmxor shows no difference, klayout xor shows 85, dbu 99.999 vs 1000) 2024-06-29 20:51:37 +02:00
Matthias Koefferlein 7397b8e4e6 Fixed issue 1757 (Triangles::clear () use-after-free) plus another uninitialized value. Added tests. 2024-06-29 20:12:45 +02:00
Matthias Köfferlein 564861abe1
Merge pull request #1753 from KLayout/feature/issue-1747
Fixing issue #1747 (signed coordinate transformations with Trans/DTra…
2024-06-29 20:12:07 +02:00
Matthias Köfferlein 054fd09424
Merge pull request #1752 from KLayout/bugfix/issue-1750-1751
Fixing issue #1750 and issue #1751
2024-06-29 20:11:54 +02:00
Matthias Köfferlein 6e2c11435b
Merge pull request #1744 from KLayout/wip
OASIS reader: avoiding slight rounding of DBU In python read/write cy…
2024-06-29 20:11:40 +02:00
Matthias Koefferlein 0a453b069c Bugfix: when debugging a modal dialog event or callback, 'run'/'stop' and 'step' was not working 2024-06-28 15:45:25 +02:00
Matthias Koefferlein a0d7ce0cd8 Maybe fixing two basic issues in debugger:
- desktop deadlock if using the help window's search function:
  That is because we stole some events in the debugger.
- disabling paint events during debugging

The patch is simply to take out the code responsible for this.
This *may* create issues as debugging of event handlers may
create recursive debugger calls. Needs to be investigated.
But the overall effect so far is positive.
2024-06-27 23:30:54 +02:00
Matthias Koefferlein 9865b14b0c Update doc 2024-06-25 23:45:09 +02:00
Matthias Koefferlein 100760e219 Fixed progress description 2024-06-25 23:41:35 +02:00
Matthias Koefferlein 10880e078b Added documentation for new DRC feature 2024-06-25 22:20:48 +02:00
Matthias Koefferlein 58d53636cb DRC tests for 'size/sized inside 2024-06-25 21:01:23 +02:00
Matthias Koefferlein 4c28d9f6a9 WIP: optimization 2024-06-25 19:35:47 +02:00
Matthias Koefferlein e8784d1763 WIP: added basic tests 2024-06-25 19:26:35 +02:00
Matthias Koefferlein 128efd45e4 WIP: Implementing flat mode for sized inside/outside 2024-06-25 18:21:21 +02:00
Matthias Koefferlein c3d3dd6239 WIP: Optimizing performance of deep mode sized inside/outside 2024-06-25 00:30:20 +02:00
Matthias Koefferlein 8d630e723a WIP 2024-06-23 23:52:47 +02:00
Matthias Koefferlein a54365a9a7 WIP: DRC integration 2024-06-23 19:30:01 +02:00
Matthias Koefferlein e63a7b5940 WIP: optimization of sized_inside - distance can be reduced to 0 if 'inside' is merged 2024-06-23 18:21:30 +02:00
Matthias Koefferlein d2479c7159 WIP 2024-06-23 17:20:32 +02:00
Matthias Koefferlein 55fc4a8728 WIP 2024-06-23 17:05:49 +02:00
Matthias Koefferlein 25165c46a3 WIP 2024-06-23 00:49:33 +02:00
Matthias Koefferlein fd4330a34e Fixing Windows builds 2024-06-22 23:33:28 +02:00
Matthias Koefferlein 61e2758bbb Fixing issue #1747 (signed coordinate transformations with Trans/DTrans/CplxTrans etc.) 2024-06-22 23:25:45 +02:00
Matthias Koefferlein 27073cb128 Fixing issue #1750 and issue #1751 2024-06-22 21:00:26 +02:00
Matthias Koefferlein f7f25879f0 Preserving layer indexes to preserve LVS DB format (note to myself: finally create a real compare tool for the latter) 2024-06-17 21:55:35 +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 Koefferlein 214e1736f0 Reading waiver comments on RVE database, automatically read associated .waived RVE DB file 2024-06-16 21:40:28 +02:00
Matthias Koefferlein 579da640ba Enhancement: added optional layer/datatype information to DRC/LVS 'name' 2024-06-16 19:33:24 +02:00
Matthias Koefferlein 24a9e6824a Added tests for the last fix. 2024-06-16 16:54:20 +02:00
Matthias Koefferlein 7082b0528d [consider merging] Ruby binding bugfix: 'return' from block was behaving like 'break'
The problem was that Ruby uses internal exceptions to implement 'return', 'break'
and other types. These were mapped to a single tl::CancelException, rendering
the effect of 'break' and 'return' the same.
2024-06-16 16:53:01 +02:00
Matthias Koefferlein 62b1d26ce5 Small bugfix: symlinks in the salt paths might have lead to macro duplication 2024-06-16 10:30:22 +02:00
Matthias Koefferlein f4736759b6 issue #1742 fixed: proper tracking of references of RecursiveShapeIterator - this will fix the segfault, but not the general issue of the ticket. 2024-06-16 09:55:46 +02:00
Matthias Koefferlein b32329c920 OASIS reader: avoiding slight rounding of DBU In python read/write cycle (discussion-2526) 2024-06-16 09:29:47 +02:00
Matthias Koefferlein 9cec3f9431 Simplified solution of for the invalid selection problem
1.) transient selection does not need to be handled
2.) restored original behavior or set_selection/get_selection
    (should not modify the selection)
3.) only geometry changes will trigger a selection cleanup
2024-06-09 23:22:32 +02:00
Matthias Koefferlein 46936b5d56 Fixing issue #1733 (Instance selecion in object properties does not match with view port object highlight)
Plus: better implementation of fix for issue #1145
(Crash when clearing a Shapes container by script while a shape is selected)
The previous solution was based on deferred execution and between
execution of that cleanup and the use of the selection, invalid states
could be present.
2024-06-09 18:58:39 +02:00
Matthias Koefferlein 4e430ff38f Merge branch 'master' of github.com:KLayout/klayout 2024-06-08 16:07:03 +02:00
Matthias Koefferlein ff824af311 Regenerating Python stubs 2024-06-08 16:06:51 +02:00
Thomas Ferreira de Lima bca7a9c450
Update drc_basic.xml
Fixing report argument.
2024-06-07 15:45:41 -04:00
Matthias Köfferlein 9d8a438d1d
Merge pull request #1732 from KLayout/wip
Wip
2024-06-07 14:42:44 +02:00
Matthias Koefferlein 04caf13d8d Added tests for shapes_of_terminal 2024-06-06 20:47:55 +02:00
Matthias Koefferlein 3e4775aabb Added tests for shapes_of_pin 2024-06-06 20:20:35 +02:00
Matthias Koefferlein c44b8097dd Deep search for pin shapes, added shapes_of_terminal 2024-06-06 19:54:56 +02:00
Matthias Koefferlein 7388aa13a6 debugging pin shape generation - not sure if that solution makes sense. 2024-06-05 23:47:57 +02:00
Matthias Koefferlein 09a690f5f6 WIP 2024-06-05 22:42:42 +02:00
Matthias Koefferlein 4eeb5be9ea More explanation of blend modes in common reader options 2024-06-05 22:42:38 +02:00
Matthias Koefferlein a3d226d99f Fixing the specific problem of issue #1709 2024-06-04 20:34:45 +02:00
Matthias Köfferlein 910f0824e0
Merge pull request #1727 from KLayout/feature/issue-1721
Feature/issue 1721
2024-06-03 22:58:06 +02:00
Matthias Köfferlein b726872598
Merge pull request #1726 from KLayout/bugfix/issue-1722
Proposing a fix for issue #1722: add a '...' menu to hold the dynamic…
2024-06-03 22:57:36 +02:00
klayoutmatthias 8204f4d0aa Updating golden test data with MacOS variants 2024-06-02 19:59:40 +02:00
Matthias Koefferlein 4277d0d8d5 Avoid some more exceptions in XML handler 2024-06-02 19:44:45 +02:00
Matthias Koefferlein 739cdfc1d5 Complete list of includes for QPointerEvent 2024-06-02 19:18:08 +02:00
Matthias Koefferlein 1144b07ebb Compatibility with Qt 6.7 2024-06-02 19:11:17 +02:00
Matthias Koefferlein 46bb28d4e4 Avoid throwing exceptions inside XML parser
This addresses an issue found in ARM builds on Mac M1.
The XML parser makes use of exceptions to stop the parsing.
This causes an ABORT on M1/clang for whatever reason.
The new implementation requests the reader to stop
and stores the exception until it is needed.
2024-06-02 18:22:15 +02:00
Matthias Koefferlein 4e0b38acd5 Qt5 compatibility 2024-06-01 21:48:22 +02:00
Matthias Koefferlein c050daff61 Added a test, compiler warning fixed 2024-06-01 20:30:56 +02:00
Matthias Koefferlein d6130f72b3 Bugfix 2024-06-01 20:30:51 +02:00
Matthias Koefferlein a0be1256bc Adding context menu of query to export selected items only 2024-06-01 20:17:56 +02:00
Matthias Koefferlein 38b1319aad Debugging. 2024-06-01 19:48:49 +02:00
Matthias Koefferlein 6473a38af3 Debugging. 2024-06-01 19:05:58 +02:00
Matthias Koefferlein 5ee1daf945 First draft of solution. Needs polishing. 2024-06-01 18:48:21 +02:00
Matthias Koefferlein d28822af3f Fixed a compiler warning 2024-06-01 12:59:40 +02:00
Matthias Koefferlein 4b0a3dff64 Bug fixing. 2024-06-01 12:49:07 +02:00
Matthias Koefferlein 11139cd4da Trying to fix problem of deleted top-level menus 2024-06-01 12:16:21 +02:00
Matthias Koefferlein 7ca6c225e4 Merge branch 'bugfix/issue-1722' 2024-06-01 09:34:19 +02:00
Matthias Köfferlein a494892529
Merge pull request #1718 from KLayout/wip
Wip
2024-05-31 22:48:24 +02:00
Matthias Köfferlein 7b2a248484
Merge pull request #1720 from KLayout/bugfix/issue-1719
Bugfix/issue 1719
2024-05-31 22:48:09 +02:00
Matthias Koefferlein 2827bed6c2 Updating documentation, taking out test code 2024-05-31 17:49:35 +02:00
Matthias Koefferlein ad64f30033 Bugfixing the solution 2024-05-31 17:44:32 +02:00
Matthias Koefferlein 56035abd9f Adjusting DRC/LVS code for Ruby 2.0.0 (protected vs. private methods) 2024-05-31 16:29:54 +02:00
Matthias Koefferlein 3902ad6576 Removing a TODO - that suggestion isn't good as of now 2024-05-31 15:59:32 +02:00
Matthias Koefferlein 2e7e299af9 Comment typo fixed 2024-05-31 15:16:44 +02:00
Matthias Koefferlein 11bddc2914 Refining solution for "blend-mode 0" enhancement 2024-05-31 14:45:25 +02:00
Matthias Köfferlein 7399244557
Merge pull request #1725 from KLayout/bugfix/issue-1724
Fixing issue #1724 (avoid duplicate LEF files)
2024-05-31 13:18:44 +02:00
Matthias Köfferlein f8d5c1c427
Merge pull request #1713 from KLayout/feature/issue-1701
Implementing solution for issue #1701 (Feature request: strm2oas shou…
2024-05-31 13:18:22 +02:00
Matthias Köfferlein f2b7bc667d
Merge pull request #1712 from KLayout/feature/issue-1710
Fix for issue-1710 (feature request: create separate cell for def FILL)
2024-05-31 13:17:32 +02:00
Matthias Köfferlein 3f1d9f17bc
Merge pull request #1708 from KLayout/bugfix/issue-1706
Trying to fix bug #1706 (crash on user properties form)
2024-05-31 13:16:39 +02:00
Matthias Koefferlein c148f591b4 Proposing a fix for issue #1722: add a '...' menu to hold the dynamic parts 2024-05-31 11:25:14 +02:00
Matthias Koefferlein c70e622590 Fixing issue #1724 (avoid duplicate LEF files) 2024-05-30 16:21:52 +02:00
Matthias Koefferlein b95634edf3 Fixing some flaws inside the macro IDE
* When deleting a macro, the tab was not closed but
  became "zombie"
* After creating a new folder, macros made there
  behaved "zombie" too
2024-05-30 13:58:13 +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 496818f0a8 Added testdata for #1719, part 3 2024-05-28 23:21:58 +02:00
Matthias Koefferlein f1d3597b2e Small doc update 2024-05-27 19:06:56 +02:00
Matthias Koefferlein 2360eb41fd Generated documentation 2024-05-27 19:04:06 +02:00
Matthias Koefferlein dc526132c0 Part 3 of issue #1719
New LVS/DRC functions: "name" and "name_prefix"
to control what layer names are used. "name" needs
to be used explicitly and before a layer is used
(and gets auto-assigned a name).
2024-05-27 19:02:53 +02:00
Matthias Koefferlein 45e77ce40c Fixed a typo 2024-05-27 19:02:38 +02:00
Matthias Koefferlein f01d8d46b5 Improving reports for errors in 'same_nets' cases 2024-05-27 00:43:36 +02:00
Matthias Koefferlein 3edb193562 A proposal for fixing issue #1719, part 1 2024-05-26 22:55:37 +02:00
Matthias Koefferlein 14b1fddcc5 Trying to improve must-connect error messages
* Avoid repetitions
* Include geometry for nets if possible
* Better wording
* All joined nets tested together - leaner code
2024-05-26 19:32:15 +02:00
Matthias Koefferlein 994b23abf6 Refining solution of issue #1719, part 2 2024-05-26 17:23:50 +02:00
Matthias Koefferlein 35d9068f72 Updating unit tests - stray text nets are gone. 2024-05-26 17:08:34 +02:00
Matthias Koefferlein 0c52934100 Trying a solution for issue #1719, part 2
The solution is to drop clusters that have no area
and not connections downward. This implies, we cannot
connect from upward to such clusters - i.e. we cannot
force a pin inside a subcircuit with a plain text. We
need some polygon at least. This is not a problem as
texts were not enough so far anyway.
2024-05-26 15:17:58 +02:00
Matthias Koefferlein b5e2eb253c Adjusted unit tests 2024-05-26 01:17:27 +02:00
Matthias Koefferlein 81872d41f0 Fixed a problem triggered by the new foreign layout handling
Problem was that with forward-referenced text strings
in OASIS, StringRef objects were created (string placeholders).
Those where not properly migrated when transferring the foreign
layouts into DEF space, causing a memory corruption issue.

This solution is to provide a central, singleton string
repository. This needs to be MT safe (reference counting)
which should also fix potential problems when accessing
StringRef-based Text objects from multiple threads.
2024-05-26 01:03:24 +02:00
Matthias Koefferlein 1677111735 Enhanced documentation for LayoutToNetlist class, two more methods (layer_indexes, layer_info) 2024-05-25 19:57:51 +02:00
Matthias Koefferlein 4f88ff68da Better error messages on Expressions too. 2024-05-25 19:18:15 +02:00
Matthias Koefferlein d59d318218 Bugfix: restoring original overload matching scheme for Ruby and Python 2024-05-25 18:58:18 +02:00
Matthias Koefferlein eb92e5f2d1 Better error messages on argument mismatch for Ruby too. 2024-05-25 18:43:44 +02:00
Matthias Koefferlein 1861abc68c Bugfix for passing default arguments to GSI calls
This happens when default arguments (specifically
user class or enum types) and passed between keyword
and positional arguments. We must not use a temporary
tl::Variant object as it gets out of scope and a
reference is stored.

In addition: better error messages for Python when
a method can't be matched to arguments.
2024-05-25 17:48:17 +02:00
Matthias Koefferlein 370abf7ab3 Enum to variant binding: needs to use enum class, not EnumWrapper<E>
The effect of this fix is that tl::Variant gets enabled for
enums declared with gsi::Enum.
2024-05-25 17:46:29 +02:00
Matthias Koefferlein 3ca99907de Improved OASIS-to-OASIS file size by re-introducing sorting of repetition arrays 2024-05-25 14:24:00 +02:00
Matthias Koefferlein e4267e53da Removed some debugging code 2024-05-25 14:23:16 +02:00
Matthias Koefferlein cf8ff2f750 Slight adjustment of wording 2024-05-19 17:35:03 +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 51a1a2627f Fix for issue-1710 (feature request: create separate cell for def FILL) 2024-05-18 18:37:52 +02:00
VFLC 70104b5fa5
_drc_engine.rb: replace removed method "file.exists?" with "file.exist?"
`file.exists?` got removed in version 3.2.0
see: https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/
2024-05-18 15:25:07 +00:00
Matthias Koefferlein 029d71f30e Trying to fix bug #1706 (crash on user properties form) 2024-05-12 16:24:33 +02:00
Matthias Koefferlein 547ce99c37 Implemented fix from @Kazzz-S. Thank you! 2024-05-03 23:34:59 +02:00
Matthias Koefferlein b2b9c221b4 Maybe fixing shader programs for 2.5d view 2024-05-02 23:58:05 +02:00
Matthias Koefferlein ebbd8708db bug fixing 2024-04-30 23:17:00 +02:00
Matthias Koefferlein 70bf4b4a20 Translate 2.5d view to GLGS 1.2 and skipping the goemetry shader for (hopefully) compatibility with OpenGL 3.0 2024-04-30 23:04:04 +02:00
Matthias Koefferlein 43066284d5 Updating stubs and DRC/LVS doc 2024-04-30 19:27:34 +02:00
Matthias Koefferlein 05c129dd81 Doc fixes 2024-04-30 17:45:56 +02:00
Matthias Köfferlein 7b3804ce1a
Merge pull request #1697 from KLayout/bugfix/issue-1696
Bugfix/issue 1696
2024-04-30 15:27:31 +02:00
Matthias Köfferlein d14f8b0253
Merge pull request #1694 from KLayout/waive-concept
Waive concept
2024-04-30 15:27:15 +02:00
Matthias Köfferlein d5a67080c0
Merge pull request #1690 from KLayout/wip
Wip
2024-04-30 15:26:59 +02:00
Matthias Koefferlein a10356fd85 Added tests 2024-04-29 19:18:39 +02:00
Matthias Koefferlein de535c711f Fixed problem by creating a default device class from an empty template string 2024-04-29 18:58:04 +02:00
Matthias Koefferlein 14f9d579c9 'apply waiver DB' feature in marker browser 2024-04-29 18:56:32 +02:00
Matthias Koefferlein db0e9efe31 Bugfix: reload was not working properly 2024-04-29 18:51:31 +02:00
Matthias Koefferlein a7f0f3ba8e Compatibility with old Ruby versions 2024-04-29 00:10:57 +02:00
Matthias Koefferlein 405ac5109a Update DRC documentation, explaining the waive flow. 2024-04-28 19:57:10 +02:00
Matthias Koefferlein 92a0c38d96 Tests for waiving flow 2024-04-28 19:32:54 +02:00
Matthias Koefferlein 7e32344287 Including sub-categories in RDB::apply, fixing handling of waived count in a category hierarchy in marker browser 2024-04-28 19:23:44 +02:00
Matthias Koefferlein 86a2a6dd40 'Save As Waiver DB' implemented 2024-04-28 19:05:39 +02:00
Matthias Koefferlein 9fcd9d7616 RDB browser: mark waived items as unvisited initially 2024-04-28 18:50:53 +02:00
Matthias Koefferlein 9619081f84 Use fuzzy compare for RDB#apply 2024-04-28 18:50:33 +02:00
Matthias Koefferlein daa406d518 Auto-apply *.w files on RDB output in DRC 2024-04-28 17:53:10 +02:00
Matthias Koefferlein 4f96914b3c Also copy comments on RDB#apply 2024-04-28 17:52:51 +02:00
Matthias Koefferlein fbc336dde2 Added tests 2024-04-28 17:37:58 +02:00
Matthias Koefferlein 1c367f3757 Updating test data 2024-04-28 16:16:21 +02:00
Matthias Koefferlein 6e3eb568c3 Implementing variant reporting
Instead of reporting working layout cell names, the
original cell names plus a variant indicator is reported.
Also, the variant information from the RDB is filled now.

Also, the marker browser now shows the qname of the cells
instead of the name alone.
2024-04-28 15:30:29 +02:00
Matthias Koefferlein aacdc1a4b7 Info feature for marker browser 2024-04-27 23:36:48 +02:00
Matthias Koefferlein 3152be5c3d Original file name is written into DRC marker db now 2024-04-27 23:36:27 +02:00
Matthias Koefferlein ed64d4a59b DRC enhancements:
- Shapes are added to existing categories rather than creating
  a new category with the same name
- The category name in "output" can be an array creating a
  hierarchy of categories.
2024-04-27 23:02:54 +02:00
Matthias Koefferlein 4b967fcc51 Show filename in RDB drop-down, 'save' button, bindkeys for reload, save, open 2024-04-27 21:41:04 +02:00
Matthias Koefferlein bab4d7b5c7 Cleanup 2024-04-27 21:14:02 +02:00
Matthias Koefferlein 0b5473c153 Editor feature for RDB item comments, bindkeys for waive and edit 2024-04-27 21:09:14 +02:00
Matthias Koefferlein 9ef51ca981 RdbCell#layout_name and RdbItem#comment with tests and GSI binding 2024-04-27 19:56:39 +02:00
Matthias Koefferlein 2ff06ede07 UI enhancments
- marker list is sorted by waived flag by default showing waived items at the end
- "unwaive_all" works now
- waiving items now makes them visited
2024-04-27 17:57:06 +02:00
Matthias Koefferlein aadb745fb9 Enhanced display of waived count 2024-04-27 01:14:14 +02:00
Matthias Koefferlein aba5362e82 Displaying waived marker count 2024-04-27 00:55:50 +02:00
Matthias Koefferlein 369f85561e [consider merging] escape category descriptions for marker browser info box 2024-04-26 22:47:36 +02:00
Matthias Koefferlein 1939fd2909 GSI binding of RdbDatabase#apply 2024-04-26 22:38:10 +02:00
Matthias Koefferlein 9b1fd34573 WIP: debugging and tests 2024-04-26 22:12:21 +02:00
Matthias Koefferlein 0a88349277 WIP 2024-04-25 23:41:40 +02:00
Matthias Koefferlein bb17250d94 Implemented a fix for issue #1691
The root cause was that the terminal identity could
not be derived in the presence of soft connections
inside the device abstract cell. The solution is to
join soft connected clusters in the device abstracts with
a warning.
2024-04-21 18:13:54 +02:00
Matthias Koefferlein f68fd4f8d0 Refactoring of EdgePairs/Edges API to avoid ambiguities 2024-04-21 00:17:05 +02:00
Matthias Koefferlein 753f2cd164 Fixed one unit test (remove file path reference) 2024-04-20 23:35:38 +02:00
Matthias Koefferlein ac5b3073f1 Some enhancements on rulers: pasted ruler is selected now, 'duplicate_interactive' now working on rulers too 2024-04-20 23:31:54 +02:00
Matthias Koefferlein a18a6be181 DRC: New options for "corners", "angle", "with(out)_angle"
- layer.corners: absolute and negative option
- drc(corners): absolute option, != operator supported
- layer.with_angle/without_angle: absolute option
- drc(angle): absolute option

+ corresponding API updates:

- EdgePairs#with_angle, with_angle_both: 'absolute' flag added
- Edges#with_angle: 'absolute' flag added
- Region#corners: 'inverse' and 'absolute' added
2024-04-20 21:52:38 +02:00
Matthias Koefferlein 424ead4d9a Some enhancements to expression parser:
- upcase() and downcase() functions
- type error messages indicate argument number
2024-04-18 22:02:46 +02:00
Matthias Koefferlein cba126e9ee Small enhancements for Spice reader
- Detects recursive subcircuit calls now
- Dismisses empty top level circuit which happened to be created
  when there were not top level elements and control statements
  were present (such as .param)
2024-04-18 21:27:09 +02:00
Matthias Koefferlein e8ecaa6472 Merge branch 'master' into wip 2024-04-18 21:00:11 +02:00
Matthias Koefferlein 16ef23864c Enabled 64bit coordinate builds 2024-04-18 20:59:37 +02:00
Matthias Koefferlein b634d93cb2 Bugfix: timeout for HTTP(S) connection was including the time taken to input the password if one is requested. 2024-04-17 22:54:01 +02:00
Matthias Koefferlein 18eadb119e Fixed a small problem: browser windows did not get closed when closing the window. 2024-04-17 22:42:58 +02:00
Matthias Köfferlein ede328d3cb
Merge pull request #1687 from KLayout/feature/issue-1678
Implemented solution for issue-1678
2024-04-17 22:38:39 +02:00
Matthias Köfferlein 840beea152
Merge pull request #1686 from KLayout/feature/issue-1666
Feature/issue 1666
2024-04-17 22:38:27 +02:00
Matthias Köfferlein 6bc314a6cd
Merge pull request #1685 from KLayout/bugfix/issue-1679
Bugfix/issue 1679
2024-04-17 22:38:17 +02:00
Matthias Köfferlein c6174b1df5
Merge pull request #1684 from KLayout/bugfix/issue-1683
Bugfix/issue 1683
2024-04-17 22:38:04 +02:00
Matthias Köfferlein 3c2a254a9b
Merge pull request #1682 from KLayout/bugfix/issue-1681
Fixed issue #1681
2024-04-17 22:37:53 +02:00
Matthias Köfferlein 2f015b603a
Merge pull request #1675 from KLayout/issue-1671
Issue 1671
2024-04-17 22:37:41 +02:00
Matthias Koefferlein e3dc4e7310 Qt4 compatibility 2024-04-16 21:50:30 +02:00
Matthias Koefferlein 06c65e2879 Updating tests 2024-04-15 00:01:49 +02:00
Matthias Koefferlein daa2df159e Fixed a build issue on some Qt versions 2024-04-14 23:54:10 +02:00
Matthias Koefferlein 1e83df0a56 Implemented solution for issue-1678
* Help index file name encodes KLayout version and Qt version
* Help index file is gzip compressed to save space as many files are expected to accumulate now
2024-04-14 21:59:10 +02:00
Matthias Koefferlein 0eb3c22ec2 Aligning menu layout of materials list with layer list 2024-04-14 21:42:59 +02:00
Matthias Koefferlein 9fd791a603 Implemented solution for issue-1666 ('Visibility Follows Selection' option for the 2.5d view) 2024-04-14 21:39:49 +02:00
Matthias Koefferlein 62f0ea3b97 Fixing issue #1683 (Spice reader accepts circuits without definition but pins get shorted) 2024-04-14 21:04:02 +02:00
Matthias Koefferlein 6a876d2cd6 Fixed issue #1681 2024-04-14 19:43:50 +02:00
Matthias Koefferlein ae2d6fb42f Updating sample macros for Qt6 compatibility 2024-04-10 23:18:51 +02:00
Matthias Koefferlein 7fa1337cd8 Moving from QFormBuilder to QUiLoader as QFormBuilding is deprecated in Qt6 binding 2024-04-10 22:40:56 +02:00
Matthias Koefferlein 95c1ee82f0 Proposal for fix. 2024-04-04 23:06:34 +02:00
Matthias Koefferlein 7f16c7b597 Fixed doc 2024-04-01 20:24:43 +02:00
Matthias Koefferlein 2dc9df3f40 Updated documentation with example 2024-03-31 22:23:23 +02:00
Matthias Koefferlein 4809c06091 Implemented editor hooks for partial mode too. Integrated modification events into edit protocol 2024-03-31 22:10:24 +02:00
Matthias Koefferlein 1c284b0939 Editor hooks for move operations 2024-03-31 19:26:22 +02:00
Matthias Koefferlein 00bc208e3f Merge branch 'master' into editor-hooks 2024-03-31 10:39:00 +02:00
Matthias Koefferlein ed486a687d Merge remote-tracking branch 'remotes/mine/master' 2024-03-31 10:37:20 +02:00
Matthias Koefferlein 3836874b8f Enhanced Euclidian visualization 2024-03-31 10:30:04 +02:00
Matthias Koefferlein eb1ac4903e Refinement of solution for DRC hull generator, still not perfect. 2024-03-30 22:34:26 +01:00
Matthias Koefferlein 03d77bbff6 Region#drc_hull for generating DRC space forbidding region visualizations 2024-03-30 22:01:39 +01:00
Matthias Koefferlein 6c8ff49bc7 Added a test for post-increment iterator of tl::Object collections 2024-03-30 20:56:24 +01:00
Matthias Koefferlein f087a579af Refactoring of the editor hooks API 2024-03-30 20:53:43 +01:00
Matthias Koefferlein 2e5d395a59 Fixed a typo (thanks, Stefan) 2024-03-30 19:48:02 +01:00
Matthias Koefferlein b4d1a4a954 First draft 2024-03-30 19:11:15 +01:00
Matthias Koefferlein 7e8ce51da2 post-increment operators must not use the int argument (it is zero) 2024-03-30 16:48:01 +01:00
Matthias Koefferlein 1868dcc104 Copy ctor, swap and move for tl::shared_collection and tl::weak_collection 2024-03-30 09:36:20 +01:00
Matthias Koefferlein d1216b5891 WIP 2024-03-30 00:30:36 +01:00
Matthias Koefferlein 80d1aad90a WIP 2024-03-30 00:21:16 +01:00
Matthias Koefferlein 876215f6c7 WIP 2024-03-30 00:12:24 +01:00
Matthias Koefferlein b40a7f9575 WIP 2024-03-29 22:59:12 +01:00
Matthias Koefferlein c43b70b783 Shape#hash and Shape#< allow using Shape objects as hash keys 2024-03-29 21:47:37 +01:00
Matthias Köfferlein 4f67ae5261
Merge pull request #1657 from KLayout/1598-support-for-soft-connections
1598 support for soft connections
2024-03-29 18:27:14 +01:00
Matthias Koefferlein 69423e37ac Merge branch 'master' of github.com:KLayout/klayout 2024-03-29 14:07:59 +01:00
Matthias Köfferlein bc4d258cb3
Merge pull request #1667 from KLayout/issue-1356
Issue 1356
2024-03-29 14:06:05 +01:00
Matthias Koefferlein bdb8389420 Merge branch 'master' of github.com:KLayout/klayout 2024-03-29 13:51:55 +01:00
Matthias Koefferlein 6ac1c32a8d Merge branch 'master' into 1598-support-for-soft-connections 2024-03-29 09:00:17 +01:00
Matthias Köfferlein 555354090f
Merge pull request #1664 from KLayout/issue-1662
Issue 1662
2024-03-29 08:58:31 +01:00
Matthias Köfferlein 4c5aeff1b3
Merge pull request #1663 from KLayout/issue-1638
Issue 1638
2024-03-29 08:58:17 +01:00
Matthias Köfferlein 974756536f
Merge pull request #1661 from KLayout/issue-1643
Issue 1643
2024-03-29 08:58:03 +01:00
Matthias Köfferlein 0091292f7c
Merge pull request #1660 from KLayout/issue-1651
Fixing issue #1651 (errors when adding polygons with 4 points) - need…
2024-03-29 08:57:41 +01:00
Matthias Köfferlein f6ad535761
Merge pull request #1659 from KLayout/issue-1656
Issue 1656
2024-03-29 08:57:26 +01:00
Matthias Köfferlein 467c8c7527
Merge pull request #1650 from KLayout/issue-1632
Fixed issue #1632 (at least partially): introducing non-const version…
2024-03-29 08:56:55 +01:00
Matthias Köfferlein 14a16f8461
Merge pull request #1646 from KLayout/xor-performance
Xor performance
2024-03-29 08:56:44 +01:00
Matthias Koefferlein 529d69c901 regenerating stubs and DRC/LVS doc. 2024-03-28 22:11:47 +01:00
Matthias Koefferlein 0685d80012 Fixed doc. 2024-03-28 21:32:54 +01:00
Matthias Koefferlein b5ee7d3892 Fixed problem with image on Color Buttons in 'Auto' mode - pixel garbage 2024-03-28 21:07:11 +01:00
Matthias Koefferlein e0e6017a80 Need to differentiate test results between editable and non-editable mode 2024-03-28 21:06:00 +01:00
Matthias Koefferlein 7080ed9a0c Refined XOR optimization solution such that it is compatible with deep mode and 'wants_all_cells', added more tests 2024-03-28 20:57:19 +01: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 5699c91d3f Some utility features derived from the latest code changes
- Subtraction of boxes (pya/RBA: Box minus operator)
- Shape#rectangle, Shape#drectangle
- EdgePairs#write, Edges#write, Texts#write, Region#write for
  debugging
2024-03-26 21:48:38 +01:00
Matthias Koefferlein 3fc32e77c3 Added full-circuit test for recursive shape iterator 2024-03-26 19:15:50 +01:00
Matthias Koefferlein 40a8f21f9c Simplified optimization as performance was bad. 2024-03-26 01:05:35 +01:00
Matthias Koefferlein 254f598a08 Deploying solution for XOR tool. Needs testing. 2024-03-24 23:03:08 +01:00
Matthias Koefferlein b4c7176c52 Bug fixing 2024-03-24 22:45:58 +01:00
Matthias Koefferlein 3cf8b29699 RecursiveShapeIterator debugging 2024-03-24 21:57:39 +01:00
Matthias Koefferlein b9bdcf6fac Preparations: recursive shape iterator shortcuts if hierarchy traversal, needs testing. 2024-03-24 19:01:36 +01:00
Matthias Koefferlein 1673c472f2 [consider merging] fixed a linker problem for debug builds 2024-03-24 17:37:17 +01:00
Matthias Koefferlein bc3895ac9f Merge branch 'master' into xor-performance 2024-03-24 12:55:11 +01:00
Matthias Koefferlein 735d2101fd Fixed Qt-less builds 2024-03-24 12:53:18 +01:00
Matthias Koefferlein 376058f34b Implemented fix for issue-1662 (Strong default grids) 2024-03-24 12:48:53 +01:00
Matthias Koefferlein 3b0a34b955 [consider merging] Avoid a segfault when changing the default grids. 2024-03-24 12:31:44 +01:00
Matthias Koefferlein 9125ed7035 [consider merging] fixed a linker problem for debug builds 2024-03-24 12:23:27 +01:00
Matthias Koefferlein 8a0a6cad04 Refactoring solution such that loading a layout file into a marker database also works from command line (-m) and scripts 2024-03-24 11:29:18 +01:00
Matthias Koefferlein e2df385f2d First version of fix for issue-1638 (let klayout marker browser read strmxor .. xor.gds.gz, xor.oas result files) 2024-03-24 11:05:48 +01:00
Matthias Koefferlein bcfbd50ad6 Some polishing 2024-03-23 23:02:42 +01:00
Matthias Koefferlein add0ad4c39 Issue-1356: Reversed row/column order for arrays 2024-03-23 22:51:09 +01:00
Matthias Koefferlein 97a33f8d66 Trying to fix a linker issue on MSYS 2024-03-23 20:51:27 +01:00
Matthias Koefferlein 54273206a7 More robust tests 2024-03-23 20:18:38 +01:00
Matthias Koefferlein 4cacb60f26 Fixed an issue with property constraints 2024-03-23 19:55:16 +01:00
Matthias Koefferlein a6d2930f80 Fixed issue #1643 (Feeding the same layer to two-layer operations in deep mode does not render the desired result) by implementating the identical layer case as an exception for booleans and interactions 2024-03-23 19:37:27 +01:00
Matthias Koefferlein e1b041113a [consider merging] fixed a linker problem for debug builds 2024-03-23 19:23:21 +01:00
Matthias Koefferlein 20fd5a54a7 Tests 2024-03-23 17:01:07 +01:00
Matthias Köfferlein 8f8a7d0d65
Merge pull request #1647 from KLayout/lvs-issues
Lvs issues
2024-03-23 15:46:06 +01:00
Matthias Köfferlein 206e271ee3
Merge pull request #1649 from KLayout/wip
Wip
2024-03-23 15:45:52 +01:00
Matthias Köfferlein f2d88e4730
Merge pull request #1648 from KLayout/wip2
Wip2
2024-03-23 15:45:39 +01:00
Will Shanks b962514767
Add include needed for git_error_set_str for libgit2>=1.8 (#1658)
`git_error_set_str` was moved into the `sys` subdirectory in libgit2
1.8.0. See [this pull
request](https://github.com/libgit2/libgit2/pull/6625) for details and
[this issue](https://github.com/libgit2/libgit2/issues/6776) for more
context.
2024-03-23 15:44:04 +01:00
Matthias Koefferlein 38a3b8305e Fixing issue #1651 (errors when adding polygons with 4 points) - needs some testing 2024-03-23 15:24:18 +01:00
Matthias Koefferlein b4d170fa66 Implemented issue #1656 (Display-->Goto Position dialog should accept + as well as - for number prefixes) 2024-03-23 14:53:34 +01:00
Matthias Koefferlein fe61627b96 Some cleanup 2024-03-23 08:45:38 +01:00
Matthias Koefferlein a79d286f61 Cleanup 2024-03-22 23:27:08 +01:00
Matthias Koefferlein 1874e95d67 Doc update 2024-03-22 23:26:52 +01:00
Matthias Koefferlein 554fff1d23 Added a large test case for soft connections 2024-03-22 22:44:58 +01:00
Matthias Koefferlein 91dae8b471 [consider merging] stray bug: fixed a small issue with error messages on missing resources (redundant 'ERROR') 2024-03-22 22:36:59 +01:00
Matthias Koefferlein f4df6ec4ff Doc updates 2024-03-22 19:04:13 +01:00
Matthias Koefferlein 10cf9c0bb6 More tests 2024-03-21 22:46:05 +01:00
Matthias Koefferlein 917439b84e New testdata, bugfix: considering the case of partial net formation through soft, upward inter-instance connections. Enhanced reporting (report multiple partial nets of the same circuit at different instances) 2024-03-21 21:31:20 +01:00
Matthias Koefferlein 366249645a Another test 2024-03-20 23:37:10 +01:00
Matthias Koefferlein 265b5680de Added soft-connect test for valid layout 2024-03-20 23:29:25 +01:00
Matthias Koefferlein 400becb6b6 Bugfix: proper handling of soft-connected instance connectors 2024-03-20 02:03:53 +01:00
Matthias Koefferlein a0122f49d9 Netlist browser: log tab will be visible also for L2N database now 2024-03-19 23:25:50 +01:00
Matthias Koefferlein 33d8befa1b [consider merging] avoid a segfault when loading a l2n db with '-mn' into KLayout 2024-03-19 21:25:06 +01:00
Matthias Koefferlein a04bcbc9a3 Some refactoring (renaming) 2024-03-19 20:41:42 +01:00
Matthias Koefferlein 92a9b49139 Added images for doc 2024-03-17 23:08:20 +01:00
Matthias Koefferlein 3011e77439 Need to differentiate between non-connected pins and pins with up+down connection - introducing a pin direction mode 2024-03-17 20:42:30 +01:00
Matthias Koefferlein 203a62f0af Place diodes in debug mode for soft connections, but still generate log entries 2024-03-17 20:41:45 +01:00
Matthias Koefferlein 6f48893cdb Enabling special mode (hidden) for generating diodes for soft connections 2024-03-17 20:40:44 +01:00
Matthias Koefferlein c04d468c55 Providing log entries with indents (for details) 2024-03-17 20:40:11 +01:00
Matthias Koefferlein 8984531a8c Small enhancements of netlist browser: multiple items can be selected in log view (for manyfold geometries), highlights are cleared on tab change 2024-03-17 18:36:49 +01:00
Matthias Koefferlein b10cda574c Reporting 2024-03-17 17:39:39 +01:00
Matthias Koefferlein b9baa24d3a Refactoring (split source code file) 2024-03-16 21:56:39 +01:00
Matthias Koefferlein 9ab7a5a84f Soft connection analysis, first algorithm 2024-03-16 21:38:35 +01:00
Matthias Koefferlein db2ae89521 WIP 2024-03-16 19:03:41 +01:00
Matthias Koefferlein 5e95b32ac4 WIP 2024-03-16 00:10:35 +01:00
Matthias Koefferlein 44edd8d26a Added a regression test for netlist extractor with soft connections 2024-03-16 00:02:44 +01:00
Matthias Koefferlein 417309acf1 Added a basic test 2024-03-15 23:15:21 +01:00
Matthias Koefferlein 5fbb57750b WIP 2024-03-15 22:02:57 +01:00
Matthias Koefferlein 92f887c319 WIP 2024-03-14 23:27:06 +01:00
Matthias Koefferlein befbde0f43 WIP 2024-03-14 22:14:20 +01:00
Matthias Koefferlein c4fb287eb7 [consider merging] robustness of cross reference view against temporary loss of xref object reference 2024-03-14 19:36:19 +01:00
Matthias Koefferlein dca287b724 WIP 2024-03-14 01:02:56 +01:00
Matthias Koefferlein 6db937d9df WIP 2024-03-14 00:22:46 +01:00
Matthias Köfferlein fa14afbbf3
Pcell limits (#1654)
* Klayout PyCell integration
-added tl::optional as derivate of std::optional for c++17 and above, reduced
 implementation otherwise
-fixed missing include for c++17 and above
-added range constraints for PCell parameter

Signed-off-by: ThomasZecha <zecha@ihp-microelectronics.com>

* tl::optional now based on internal implementation, added tests and tl::to_string binding

* Refactoring the range into min_value and max_value attributes without action and resolution.

* Integration of feature into PCell framework

* Cleanup and fixed some compile issues

* Cleanup, added tests

* [consider merging] Added pymod distutil_src files to dependencies.

* Updated Python stubs

* User feedback: upon entering an invalid value string into an edit box, do not reset the field

---------

Signed-off-by: ThomasZecha <zecha@ihp-microelectronics.com>
Co-authored-by: ThomasZecha <zecha@ihp-microelectronics.com>
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-03-13 21:50:48 +01:00
Matthias Koefferlein 8de70c742a WIP 2024-03-13 00:25:19 +01:00
Matthias Koefferlein 89c281f87a Integration API into LVS+DRC 2024-03-12 23:24:54 +01:00
Matthias Koefferlein 2d91f7f90c [consider merging] Bugfix: connect_explicit did not accept an array of nets as single argument 2024-03-12 00:08:52 +01:00
Matthias Koefferlein d87e3de436 Merge branch 'lvs-issues' into 1598-support-for-soft-connections 2024-03-11 22:50:51 +01:00
Matthias Koefferlein 59a572344c [consider merging] Bugfix: connect_explicit did not accept an array of nets as single argument 2024-03-11 22:42:33 +01:00
Matthias Koefferlein fd8ca56caf Some tests for Connectivity 2024-03-11 21:14:00 +01:00
Matthias Koefferlein 284a907ffb First steps: equipping the Connectivity object with soft connections 2024-03-10 23:35:56 +01:00
Matthias Koefferlein 7c4133b9e4 Fixed issue #1632 (at least partially): introducing non-const versions of RDB iterators and access methods 2024-03-09 21:54:17 +01:00
Matthias Koefferlein d60583a9b4 Robustness of tests 2024-03-09 18:46:45 +01:00
Matthias Köfferlein 230bacf725
Merge pull request #1601 from KLayout/drc-procs-and-filters
Region/Edges/EdgePairs/Texts operators and filters
2024-03-09 18:10:37 +01:00
Matthias Köfferlein 408a30164e
Maybe fixing weird menu texts (issue #1631) (#1634)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-03-09 09:36:08 +01:00