Commit Graph

2469 Commits

Author SHA1 Message Date
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
Matthias Koefferlein 16abeb2bdc Merge branch 'master' into wip 2024-07-22 21:34:12 +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 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 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 Koefferlein 072edecb1a Add-on making re-registration of PCells a valid feature. 2024-07-13 18:55:17 +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
Serge Rabyking 2be4f3f756 Fixed DeepShapeStore.subcircuit_hierarchy_for_nets getter 2024-07-09 22:14:32 +01:00
Matthias Koefferlein 02f88fb3e0 Fixed 64bit coordinate builds 2024-07-03 18:37:55 +02:00
Matthias Koefferlein 68530f08bc Merge branch 'faster-latchup-rules' 2024-07-01 18:28:23 +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 Koefferlein a5b98f93ff Implemented solution for issue #1741 (Feature request: tooltip string for PCell parameter) 2024-06-29 22:10:43 +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 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 100760e219 Fixed progress description 2024-06-25 23:41:35 +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 61e2758bbb Fixing issue #1747 (signed coordinate transformations with Trans/DTrans/CplxTrans etc.) 2024-06-22 23:25:45 +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 579da640ba Enhancement: added optional layer/datatype information to DRC/LVS 'name' 2024-06-16 19:33:24 +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 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 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 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 c050daff61 Added a test, compiler warning fixed 2024-06-01 20:30:56 +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 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 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 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 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 e4267e53da Removed some debugging code 2024-05-25 14:23:16 +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 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 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 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 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 16ef23864c Enabled 64bit coordinate builds 2024-04-18 20:59:37 +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 06c65e2879 Updating tests 2024-04-15 00:01: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 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 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 c43b70b783 Shape#hash and Shape#< allow using Shape objects as hash keys 2024-03-29 21:47:37 +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 f6ad535761
Merge pull request #1659 from KLayout/issue-1656
Issue 1656
2024-03-29 08:57:26 +01:00
Matthias Koefferlein 0685d80012 Fixed doc. 2024-03-28 21:32:54 +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 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 bc3895ac9f Merge branch 'master' into xor-performance 2024-03-24 12:55:11 +01:00
Matthias Koefferlein 376058f34b Implemented fix for issue-1662 (Strong default grids) 2024-03-24 12:48:53 +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 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 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 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 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 400becb6b6 Bugfix: proper handling of soft-connected instance connectors 2024-03-20 02:03:53 +01:00
Matthias Koefferlein a04bcbc9a3 Some refactoring (renaming) 2024-03-19 20:41:42 +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 c04d468c55 Providing log entries with indents (for details) 2024-03-17 20:40:11 +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 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 d87e3de436 Merge branch 'lvs-issues' into 1598-support-for-soft-connections 2024-03-11 22:50:51 +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 d60583a9b4 Robustness of tests 2024-03-09 18:46:45 +01:00
Matthias Koefferlein a92029b722 Merge branch 'master' into drc-procs-and-filters 2024-03-09 01:21:56 +01:00
Matthias Koefferlein 30df7a708e Merge branch 'master' into wip 2024-03-09 01:18:43 +01:00
Matthias Koefferlein 1c836de07e Merge branch 'master' into xor-performance 2024-03-09 01:02:07 +01:00
Matthias Koefferlein 45950f20d6 Supporting remote must-connect connections
So far, must-connect connections had to be made
one level up in the hierarchy or promoted further
using labels and such. Now, must-connect connections
can be made at any point up in the hierarchy.
2024-03-09 01:00:52 +01:00
Matthias Koefferlein 856fe4a8d3 LVS: Consider net names identical that differ in signal type suffix only - e.g. 'NET:I' is identical to 'NET' 2024-03-09 00:59:48 +01:00
Matthias Koefferlein 091995a5ff Limit effort spent on analyzing failed matches in LVS compare 2024-03-09 00:59:43 +01:00
Matthias Koefferlein 5597eceece Region#edges: Don't include an polygon to edge processor unless required 2024-03-07 23:03:36 +01:00
Matthias Koefferlein 28e96ee0c3 Added not_... versions of edge modes 2024-03-07 22:29:33 +01:00
Matthias Koefferlein 853de5b0ae Introducing edge modes for DRC 'edges' function - allows easy extraction of convex edges only 2024-03-07 21:51:52 +01:00
Matthias Koefferlein 156f0f4477 More consistent behavior of dots in context of booleans, added tests
dots vs. polygon booleans now work as well.
This includes "&" and "-" and "inside_part", "outside_part"
and the "split_..." versions.
2024-03-07 18:34:12 +01:00
Matthias Koefferlein 9d6a6258aa edge merge does not destroy dots now 2024-03-06 22:17:01 +01:00
Matthias Koefferlein 4ecf6a9ce1 Edge vs. dot booleans for edge collections 2024-03-06 21:46:33 +01:00
Matthias Koefferlein fc787b19e3 Flat edge booleans enhancements
- Basic support for dots (only dots-vs.-dots)
- Some shortcuts for efficiency
2024-03-06 18:46:52 +01:00
Matthias Koefferlein 91e68cef02 Fixed a number of issues with edge booleans in deep mode
- andnot was falling back to flat
- "intersections" with second argument empty was delivering wrong results
- output of "intersections" is raw now to preserve dots
- enhanced tests for these cases
2024-03-06 17:39:30 +01:00
Matthias Koefferlein 03b04daa61 texts_as_dots returns raw edges (dots must not be merged) 2024-03-03 23:51:03 +01:00
Matthias Koefferlein f9b4bb13c8 aligning deep and flat edge collections with respect to handling of degenerated edges 2024-03-03 23:24:51 +01:00
Matthias Koefferlein 65ccbabc26 Updating db::Edges tests 2024-03-03 22:58:13 +01:00
Matthias Koefferlein 80b86878b5 Added tests for new edge features 2024-03-03 22:35:39 +01:00
Matthias Koefferlein 8e09dfc016 Edge boolean robustness improvement 2024-03-03 22:35:14 +01:00
Matthias Koefferlein db168d8a55 Considering degenerated edges for partial edge selectors 2024-03-03 22:34:19 +01:00
Matthias Koefferlein 8b6ed7f663 Update of testdata, edge 'outside' needs merged input too. 2024-03-02 21:40:57 +01:00
Matthias Koefferlein c532a3a7e6 WIP 2024-03-02 19:32:51 +01:00
Matthias Koefferlein ebc96d8de4 [consider merging] Bugfix: 'edge outside polygon' now consistently ignores the border of the polygon 2024-03-02 19:32:33 +01:00
Matthias Koefferlein c5433a349a WIP 2024-03-02 17:55:13 +01:00
Matthias Koefferlein 863935d664 WIP 2024-03-02 17:28:09 +01:00
Matthias Koefferlein df3205282d WIP 2024-03-02 16:57:23 +01:00
Matthias Koefferlein 1e323a0421 WIP 2024-03-01 23:32:22 +01:00
Matthias Koefferlein a431f70ad4 Polygon#break, DPolygon#break, SimplPolygon#break, DSimplePolygon#break 2024-02-29 22:57:28 +01:00
Matthias Koefferlein 890b389102 Merge branch 'wip2' 2024-02-18 22:27:17 +01:00
Matthias Koefferlein 5187ddbfc0 Do not insert the same point twice into edge set in EdgeProcessor - this improves performance in the case of manifold intersecions in one point. Also: added edge count API 2024-02-17 21:20:24 +01:00
Matthias Koefferlein 4ed64fdfa1 GSI binding for tech specific grids 2024-02-16 15:19:32 +01:00
Matthias Koefferlein 1094fd2dd8 Merge branch 'master' into tech-specific-grids 2024-02-16 15:02:52 +01:00
Matthias Köfferlein a1c08c0f89
DRC switch to exclude the kissing corner configuration (and more) (#1600)
* Some refactoring, introducing new configuration option for edge pair check core algorithm for zero distance handling.

* Bugfix

* Renaming for clarification of collinear edges vs. distance which is defined otherwise.

* Implemented low-level option for collinear edge handling in Edges and Region

* DRC integration of new features

* Simple test for collinear mode feature

* Updating documentation

* Experiment: extending collinear mode towards 'zero distance'

* DRC 'collinear mode' becomes 'zero distance mode'

With this change, the default implementation for kissing corners
is changed from collinear edges only to touching edges in general.

The original mode can be restored by using:

l1.space(600.nm, DRCZeroDistanceMode::new(RBA::ZeroDistanceMode::IncludeZeroDistanceWhenCollinearAndTouching)).output(103, 0)

* Adding test data

* Fixed unit tests

* Fixed unit test

* Renamed new DRC options to: without_touching_corners and without_touching_edges as this is more consistent

* Fixed GSI binding, so no internal error is thrown when generating the doc

---------

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 08:40:00 +01:00
Matthias Koefferlein 4a89304152 Merge branch 'master' into wip2 2024-02-11 14:23:47 +01:00
Matthias Köfferlein f37e37340c
Issue 1608 (#1615)
* Fixed issue #1608 (Device extractor error shape)

* New test data

* Add-on: pressing Esc on the netlist or marker browser clears markers

* Updated test data

---------

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:34:21 +01:00
Matthias Köfferlein df59641cad
Issue 1609 (#1613)
* Fixed issue #1609 (Cell.read doesn't read LayoutMetaInfo)

This also includes some more functions:
- Layout#merge_meta_info, Layout#copy_meta_info
- Layout#clear_all_meta_info
- Cell#merge_meta_info, Cell#copy_meta_info

In addition, meta info is merged when importing a layout from
another file (Layout/Import -> Other Layouts into current).

* Meta info support in layout diff (for testing), implemented meta info merge for GDS and OASIS readers with special conflict resolution modes

* Undo support for meta info - this way we do not loose meta info when we delete a cell and undo

---------

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:32:56 +01:00
Matthias Koefferlein babf799016 [consider merging] OASIS Reader: error on duplicate CELLNAMEs 2024-02-10 18:45:56 +01:00
Matthias Koefferlein dd9d2bfddd First proposal for feature 2024-02-03 22:42:21 +01:00
Matthias Koefferlein c4fee2cbc4 Fixed a linker issue 2024-01-28 23:51:37 +01:00
Matthias Koefferlein 7634c77c23 Generalization of polygon rasterizer to DPolygon for higher precision of pixel area values. 2024-01-28 23:18:49 +01:00
Matthias Koefferlein 596c6c0aac Grayscale rasterizer for Region 2024-01-28 22:27:02 +01:00
Matthias Koefferlein c1394eadef Disabled assignment and copy for operators and filter objects 2024-01-28 16:14:53 +01:00
Matthias Koefferlein 8d6125dd74 More processors and tests 2024-01-28 15:57:01 +01:00
Matthias Koefferlein ce88affa67 EdgePairs generic processor 2024-01-26 16:09:01 +01:00
Matthias Koefferlein b7277631c3 Renaming of 'processor' to 'operator' to avoid name clash with EdgeProcessor, added edge operators. 2024-01-26 15:19:44 +01:00
Matthias Koefferlein 1a126ede45 Generic polygon to polygon processors 2024-01-26 13:05:09 +01:00
Matthias Koefferlein 9fbc926d67 Generic filters also for edge pair, edge and text collections 2024-01-26 11:49:15 +01:00
Matthias Koefferlein 2dca4158f2 Some refactoring. 2024-01-26 10:30:03 +01:00
Matthias Koefferlein 0b77ef996b Removed unneccessary code 2024-01-25 23:27:39 +01:00
Matthias Koefferlein b34f539fe1 Generic filter for polygons 2024-01-25 23:10:12 +01:00
Matthias Koefferlein 6ad1f3f73f Fixed a numerical issue leading to an infinite loop on some compilers 2024-01-23 16:31:46 +01:00
Matthias Koefferlein 9a52095dd0 Merge branch 'master' into wip 2024-01-07 17:25:11 +01:00
Matthias Koefferlein 0ae2ed49f8 Merge branch 'master' into wip 2024-01-06 17:28:51 +01:00
Matthias Koefferlein f26fac58fd Implementation of fix for issue #1586
- the "to_dtrans" now behaves as expected
- the conversion constructors have been generalized by adding a 'dbu' argument
- the conversion constructors now are favoured instead of the to_xxx functions
- some of the to_xxx functions are ill-named and are deprecated
2024-01-05 23:24:50 +01:00
Matthias Koefferlein d9f41c1585 Now fixing unit tests for 32bit coordinates :( 2024-01-04 16:43:27 +01:00
Matthias Koefferlein 5e096bd433 Fixing unit tests for 64 bit coordinates 2024-01-04 00:33:21 +01:00
Matthias Koefferlein 38de2d685f Fixed 64bit coordinate mode: numerical stability for DRC and LVS enabling. Main problem is representation of the 'world' box which does not transform properly when going through double. 2024-01-03 01:57:27 +01:00
Matthias Koefferlein 2b4a583f05 Update copyright year 2024-01-01 17:27:59 +01:00
Matthias Koefferlein d248bfddf3 Updating copyright to new year 2024-01-01 17:06:23 +01:00
Matthias Koefferlein 11fbad0104 eliminating some unnamed arguments 2023-12-28 21:35:14 +01:00
Matthias Koefferlein f685fe3adf WIP: keyword arguments for expressions 2023-12-28 01:03:21 +01:00
Matthias Koefferlein 702bcbe924 WIP: keyword arguments (for now: Python) + transformation alignment
pya.CplxTrans and pya.Trans are good classes for testing the
ability to resolve arguments through keyword parameters.

Keyword parameters are introduced to substitute positional
arguments.
2023-12-26 23:27:25 +01:00
Matthias Koefferlein d1695b88af Merge branch 'wip' 2023-12-23 18:05:54 +01:00
Matthias Köfferlein 3550d81c6f
Merge pull request #1555 from KLayout/issue-1531
Fixed issue #1531 (DEF format not recognized in symlink): use origina…
2023-12-08 07:26:07 +01:00
Matthias Köfferlein 3533adf8ab
Merge pull request #1554 from KLayout/issue-1549
Fixing issue #1549 (error layer handling in RecursiveShapeIterator)
2023-12-08 07:25:51 +01:00
Matthias Koefferlein 3e114bd69c Fixed doc. 2023-12-08 07:24:46 +01:00
Matthias Koefferlein b6d3f8be93 Added Edge#euclidian_distance 2023-12-07 23:09:04 +01:00
Matthias Koefferlein d5f484bf92 Added EdgePair#distance 2023-12-05 22:09:57 +01:00
Matthias Koefferlein b701390e6a Enabling cheats for edges and (implicit) polygon merges
DRC "cheats" have not been effective on "size"
for example. Also they have not been effective at
all for edges.
2023-12-03 21:50:03 +01:00
Matthias Koefferlein caf54bd77b Fixed issue #1531 (DEF format not recognized in symlink): use original path to determine format 2023-12-02 22:10:31 +01:00
Matthias Koefferlein c05f7c8bd9 Fixing issue #1549 (error layer handling in RecursiveShapeIterator) 2023-12-02 19:00:43 +01:00
Matthias Koefferlein 0efdbd4ebe Doc updates 2023-11-26 10:32:26 +01:00
Matthias Koefferlein 0ea2610bf4 Reworking technology API a little: providing a way to register a new technology object, clarification of doc 2023-11-25 16:56:56 +01:00
Matthias Koefferlein 1e09bee1b6 Fixed issue #1534 (Layout::dup does not copy properties) 2023-11-19 20:48:44 +01:00
Matthias Koefferlein 86c1e6ad2b Some more refactoring 2023-11-19 00:14:46 +01:00
Matthias Koefferlein c2df163b8a Added cell variants to polygon to edge processor 2023-11-18 23:27:20 +01:00
Matthias Koefferlein dd81fda27d Refactoring with the goal to reduce the overhead for variant computation 2023-11-18 21:42:24 +01:00
Matthias Koefferlein b0648e1c45 Experimental: sparse cell variants table 2023-11-18 21:21:00 +01:00
Matthias Koefferlein d0172d57f3 Further optimization/refactoring 2023-11-18 19:12:13 +01:00
Matthias Koefferlein 06afaf8692 Some refactoring 2023-11-18 18:57:08 +01:00
Matthias Koefferlein 877646d959 Debugging sized operator for generic DRC, new tests 2023-11-18 13:40:50 +01:00
Matthias Koefferlein c368710253 Further bug fixes in generic DRC domain 2023-11-18 12:35:34 +01:00
Matthias Koefferlein 37334d40b9 WIP 2023-11-18 11:09:31 +01:00
Matthias Koefferlein 1b01d6e20a First version that works with the test case 2023-11-17 00:21:15 +01:00
Matthias Koefferlein 01b65d3699 WIP 2023-11-17 00:13:20 +01:00
Matthias Koefferlein 795aeba322 WIP 2023-11-17 00:11:59 +01:00
Matthias Koefferlein 139723ed5d Enabling db resource for the '-without-qt' case, specifically the default font 2023-11-12 22:25:53 +01:00
Matthias Koefferlein 969ceb84bb FEATURE: Added Layout#error_layer. 2023-11-11 23:09:05 +01:00
klayoutmatthias fcfc69529c Fixing a static initialization problem on Windows 2023-11-09 22:03:23 +01:00
Matthias Koefferlein 4a152583e8 Trying to fix a problem on Windows 2023-11-09 21:56:55 +01:00
Matthias Köfferlein 041fb53d04
Merge pull request #1518 from KLayout/git-for-packages
Git for packages
2023-11-07 21:36:01 +01:00
Matthias Koefferlein b56220d36d [consider merging] Functional ut_runner binary also with -without-qt 2023-10-28 23:48:56 +02:00
Matthias Koefferlein 1cf34b0ee9 Merge branch 'wip' of github.com:KLayout/klayout into wip 2023-10-19 21:25:07 +02:00
Matthias Koefferlein 261d0249e8 Merge branch 'wip' 2023-10-19 21:23:07 +02:00
Matthias Koefferlein 72278b90ec Added 'top_level' feature to tell LVS to perform in top level mode 2023-09-27 21:45:06 +02:00
Matthias Koefferlein cd5204fdf1 Backwards compatible definition of LogDataEntry#to_s 2023-09-27 21:14:11 +02:00
Matthias Koefferlein 001c2240e2 Highlight error marker from netlist browser 2023-09-26 23:39:46 +02:00
Matthias Koefferlein 883b7e7db8 Fixed category assignement in device extractor 2023-09-26 22:45:13 +02:00
Matthias Koefferlein b3992ab25c Simplified test code 2023-09-26 22:18:33 +02:00
Matthias Koefferlein e71a4dfb92 Simplified test code 2023-09-26 22:13:19 +02:00
Matthias Koefferlein e9eb8e7ebc Using categories for device extractor errors 2023-09-26 21:57:50 +02:00
Matthias Koefferlein 2c88f7753d Bug fix 2023-09-26 21:57:16 +02:00
Matthias Koefferlein 579f5ffca4 Doc updates 2023-09-25 23:33:15 +02:00
Matthias Koefferlein 2a85ae8e5c Added tests 2023-09-24 21:33:28 +02:00
Matthias Koefferlein 6412c534b8 Updated tests 2023-09-24 19:01:30 +02:00
Matthias Koefferlein 1b4c81ac7b Rework: unifying device extractor logger entries and LayoutToNetlist ones 2023-09-24 18:16:19 +02:00
Matthias Koefferlein a5bee51046 Updated tests 2023-09-24 00:07:50 +02:00
Matthias Koefferlein 439e10c982 Bug fixes 2023-09-23 23:58:43 +02:00
Matthias Koefferlein 1fbb907c5b Fixed some unit tests
The flatten test now reduces pins of subcircuits if they
would connect to the same net internally
2023-09-23 23:47:08 +02:00
Matthias Koefferlein 4d41ca6f5c Fixed tests. Note that now a net with two labels carries a combined net name and does not qualify for connect_implicit if one label matches 2023-09-23 21:44:35 +02:00
Matthias Koefferlein c81388d830 Updated tests 2023-09-23 17:33:44 +02:00
Matthias Koefferlein b09d63e780 Doc update, test updates 2023-09-23 00:57:57 +02:00
Matthias Koefferlein b72dfe34b4 WIP: aligned new implementation better with original one 2023-09-23 00:35:11 +02:00
Matthias Koefferlein 4f3522961e WIP 2023-09-22 23:35:09 +02:00
Matthias Koefferlein e56cdaeaab WIP 2023-09-22 22:59:43 +02:00
Matthias Koefferlein 2f1cbf2e01 WIP 2023-09-22 21:45:34 +02:00
Matthias Koefferlein 1639ffdf34 WIP 2023-09-19 23:42:19 +02:00
Matthias Koefferlein 034a2673d0 Implemented must-connect check 2023-09-19 23:39:02 +02:00
Matthias Koefferlein e7a8569052 WIP: reimplementing connect_implicit on netlist basis 2023-09-19 23:10:51 +02:00
Matthias Koefferlein 93c570a6f9 [consider merging] Fixed an unitialized pointer 2023-09-17 22:04:36 +02:00
Matthias Koefferlein 1333856337 WIP 2023-09-17 19:58:22 +02:00
Matthias Koefferlein 7c1fd487d6 [consider merging] Bugfix for LayoutToNetlistReader 2023-09-17 19:58:04 +02:00
Matthias Koefferlein 7126375646 WIP 2023-09-17 19:26:18 +02:00
Matthias Köfferlein 70dcef25ce
Merge pull request #1476 from KLayout/issue-1474
Fixing issue-1474 (throw a FATAL ERROR when multiple cellname have th…
2023-09-12 07:22:37 +02:00
Matthias Koefferlein 9bb8b4e548 Bugfix: PCellDeclarationHelper was not present after 'import * from pya', more modern version of PCell samples 2023-09-10 23:41:51 +02:00
Matthias Koefferlein 64bcc6bb65 Bugfixed last commit 2023-09-10 22:51:22 +02:00
Matthias Koefferlein 22bab6d6a6 Some refactoring 2023-09-10 22:05:08 +02:00
Matthias Koefferlein b7ee16b63f Performance enhancement for instance sorting - done only on demand 2023-09-10 19:47:43 +02:00
Matthias Koefferlein 8adc14d22b Fixing issue-1474 (throw a FATAL ERROR when multiple cellname have the same refnum) 2023-09-09 22:13:05 +02:00
Matthias Koefferlein 81e6141245 Fixed issue #1464 - Layout#get_info and Layout#set_info don't segfault on wrong layer index 2023-09-02 19:37:43 +02:00
Matthias Koefferlein 862f8a5c65 Restored a method which was renamed by mistake 2023-09-02 19:18:43 +02:00
Matthias Koefferlein 512183d55c Fixed a documentation error 2023-08-30 21:48:09 +02:00
Matthias Koefferlein 06321cdea7 Bugfix: deep region 'transform' with plain shift was not working properly with scaled instances 2023-08-24 22:55:55 +02:00
Matthias Koefferlein 87fcbbecfa Fixed some includes which where not there 2023-08-23 21:47:06 +02:00
Matthias Koefferlein 5075cad46a Further trying to fix Windows builds 2023-08-23 20:43:58 +02:00
Matthias Koefferlein 8ac4113abc Further trying to fix Windows builds 2023-08-23 20:39:03 +02:00
Matthias Koefferlein 3313f5588e Trying to fix more Windows build issues 2023-08-23 20:33:41 +02:00
Matthias Koefferlein 6027510c19 Fixing Windows build 2023-08-23 00:03:59 +02:00
Matthias Koefferlein 9153763a1c Fixing Windows build - template point<C> and vector<C> are fully inlined and 'to_string' function pointer for SFINAE creates duplicate symboles 2023-08-22 23:27:10 +02:00
Matthias Koefferlein aef2979896 Fixed unit tests 2023-08-20 23:32:12 +02:00
Matthias Koefferlein d01589c26c Fixed a build issue 2023-08-20 22:52:24 +02:00
Matthias Koefferlein 5941ee688a Fixed a build error. 2023-08-20 22:33:06 +02:00
Matthias Koefferlein 4e8c83e7b6 Fixed a build error. 2023-08-20 22:31:45 +02:00
Matthias Koefferlein 2c2fbea94f Some useful aliases for RBA as in-place operators do not really do what they are supposed to in Ruby. 2023-08-20 19:15:08 +02:00
Matthias Koefferlein 83243f06be Triangles: solving a numerical issue 2023-08-20 16:48:58 +02:00
Matthias Koefferlein 1b60adf6c1 WIP 2023-08-20 10:19:11 +02:00
Matthias Koefferlein 5de45000db Triangles: integration into Region processor 2023-08-19 21:50:05 +02:00
Matthias Koefferlein e416c04a1c Triangles: enhanced API 2023-08-19 20:40:15 +02:00
Matthias Koefferlein dfe6699ef9 Triangles: some cleanup 2023-08-19 19:24:56 +02:00
Matthias Koefferlein 18a3c53c2d Triangles: WIP + more tests 2023-08-19 18:56:51 +02:00
Matthias Koefferlein 0a67aa361c Triangles: Added a more complex test case for triangulation and providing a min_length parameter for stopping infinite recursion 2023-08-19 15:25:21 +02:00
Matthias Koefferlein 31caa8a04d Small optimization 2023-08-19 13:29:37 +02:00
Matthias Koefferlein ef7a5a1331 Triangle: some performance optimization 2023-08-19 13:16:19 +02:00
Matthias Koefferlein c6b7908499 Triangles: Memory optimization 2023-08-19 01:55:04 +02:00
Matthias Koefferlein ae3588ab16 Triangles: potential performance improvement in degenerate point set (circle) case. 2023-08-19 01:13:09 +02:00
Matthias Koefferlein 5c46cdfda3 Triangles: Performance improvement 2023-08-19 00:39:31 +02:00
Matthias Koefferlein 2f8144b507 Performance optimization of Triangle insert 2023-08-17 21:50:22 +02:00
Matthias Koefferlein 1e3e918b90 Debugging. 2023-08-17 01:05:15 +02:00
Matthias Koefferlein 5679540c85 Some refactoring 2023-08-16 22:21:49 +02:00
Matthias Koefferlein 2acedfde6f Fixed some compiler warnings 2023-08-16 22:20:25 +02:00
Matthias Koefferlein da1251ada2 Fixed a numerical issue with vprod_sign etc. - was using a too coarse precision value to decide about the sign 2023-08-16 22:19:33 +02:00
Matthias Koefferlein fe90164a8a Fixed some compiler warnings 2023-08-16 22:18:53 +02:00
Matthias Koefferlein e07d802500 Delaunay refinement, tests etc. 2023-08-16 00:05:46 +02:00
Matthias Koefferlein 26f1219cc5 Triangle: bug fixes 2023-08-15 21:05:08 +02:00
Matthias Koefferlein bfccd24016 Triangles: Better numerical stability 2023-08-15 19:57:11 +02:00
Matthias Koefferlein 7351810e55 WIP 2023-08-15 15:56:15 +02:00
Matthias Koefferlein 512cf604d0 Triangles: new test, bugfix 2023-08-15 15:49:11 +02:00
Matthias Koefferlein 03497f05b8 Triangles: tests fixed 2023-08-15 15:33:17 +02:00
Matthias Koefferlein 6e9eb922a2 Triangles: constrain 2023-08-15 14:55:41 +02:00
Matthias Koefferlein 3cc35ce3ee Triangles: ensure_edge 2023-08-15 14:05:20 +02:00
Matthias Koefferlein a2e91532c4 WIP: remove vertex implemented for triangles 2023-08-13 21:40:09 +02:00
Matthias Koefferlein 576eacd0bf WIP 2023-08-13 21:14:58 +02:00
Matthias Koefferlein 82b49dfb77 WIP 2023-08-13 18:40:24 +02:00
Matthias Koefferlein 88fd5ad8ca WIP 2023-08-13 18:13:33 +02:00
Matthias Koefferlein 745eb9b625 First tests pass for triangles. 2023-08-13 16:37:01 +02:00
Matthias Koefferlein 255f2dd572 WIP 2023-08-12 21:34:45 +02:00
Matthias Koefferlein b710b32fbe WIP 2023-08-12 21:23:00 +02:00
Matthias Koefferlein 1756ddfafa WIP 2023-08-12 20:44:30 +02:00
Matthias Koefferlein 0941bc214c WIP 2023-08-12 20:27:05 +02:00
Matthias Koefferlein f86f56fbb0 WIP 2023-08-12 19:20:02 +02:00
Matthias Koefferlein 789ae93b52 WIP 2023-08-12 18:45:13 +02:00
Matthias Koefferlein a242336834 WIP 2023-08-12 18:30:00 +02:00
Matthias Koefferlein dfa0a0619b WIP 2023-08-12 18:12:44 +02:00
Matthias Koefferlein 14f8c1a61b WIP 2023-08-12 16:21:10 +02:00
Matthias Koefferlein c93e490968 WIP 2023-08-12 15:30:29 +02:00
Matthias Koefferlein 079c4f9760 WIP 2023-08-12 15:13:44 +02:00
Matthias Koefferlein b69cf67c14 WIP 2023-08-12 10:43:57 +02:00
Matthias Koefferlein fa301b0d32 WIP 2023-08-12 10:38:04 +02:00
Matthias Koefferlein 495da3de23 WIP 2023-08-12 00:46:23 +02:00
Matthias Koefferlein 254015617d Merge branch 'wip' into wip2 2023-08-11 19:17:01 +02:00
Matthias Koefferlein 141f7d78cd Hopefully fixing Windows builds 2023-08-07 00:25:01 +02:00
Matthias Köfferlein 112d0843a7
Merge pull request #1443 from KLayout/issue-1441
Fixed issue #1441 (RDB support for text attributes like size, font, h…
2023-08-06 22:15:45 +02:00
Matthias Koefferlein d958d71e2e Fixed unit tests and MSVC build 2023-08-05 21:02:26 +02:00
Matthias Koefferlein 76a1450f32 Fixed issue #1441 (RDB support for text attributes like size, font, halign/valign) 2023-08-01 22:48:28 +02:00
Matthias Koefferlein 476c7156ab Merge branch 'master' into wip2 2023-08-01 21:48:00 +02:00
Matthias Koefferlein 3736b59156 it's -> its 2023-07-30 14:46:58 +02:00
Matthias Koefferlein 6e4ac71442 WIP 2023-07-28 23:48:34 +02:00
Matthias Koefferlein e766b12c3e Allowing PCell layer parameters without default (-> empty) 2023-07-28 21:52:51 +02:00
Matthias Koefferlein 8b44a3ba13 Fixing PCellDeclaration helper (correct use of 'raise' 2023-07-28 21:26:05 +02:00
Matthias Koefferlein 0f47a9e54d Refined solution for #1425 (exact match has priority in find_layers), doc updates 2023-07-23 18:19:21 +02:00
Matthias Koefferlein 393aacbcff Fixed issue #1425: enhancement - allow searching for layers in layouts by name even if they have layer/datatype 2023-07-23 10:05:20 +02:00
Matthias Koefferlein e965f87f58 Merge branch 'master' into wip 2023-07-15 22:48:53 +02:00
Matthias Koefferlein 7bcbd607b7 Meta infos in GDS2 files do not make old KLayout versions fail always
Only these cases are not supported by old versions:
* Layout-object meta info
* Meta info on top cell (renders an empty layout)
2023-07-11 01:01:43 +02:00
Matthias Köfferlein 6b1aa882eb
Merge pull request #1412 from KLayout/wip2
Wip2
2023-07-05 18:31:38 +02:00
Matthias Koefferlein 37cf773a70 Introduces a 'greedy hierarchy' mode for DeepShapeStore for special applications (e.g. strmxor) 2023-07-04 07:56:58 +02:00
Matthias Koefferlein 3980476455 Trying to improve deep mode performance by avoiding multiple cell mapping operations due to partial hierarchy transfer. On the cost side, the hierarchy is always duplicated. 2023-07-04 00:19:55 +02:00
Matthias Koefferlein 01f2868e5d Fixed issue #1407 (clip does not support polygons with holes) 2023-07-02 22:14:13 +02:00
Matthias Koefferlein 07b8362368 Small performance enhancement of cell mapping 2023-06-29 23:09:16 +02:00
Matthias Koefferlein 6a8d18ed05 Doc update 2023-06-26 14:19:29 +02:00
Matthias Koefferlein 63f6abf734 Fixed a unit test failing in non-editable mode 2023-06-10 09:17:00 +02:00
Matthias Koefferlein 7f8eeb3a09 Fixed issue #1281 (Layout diff should ignore shape or instance duplicates)
A new option in the diff tool and strmcmp has been added
(-1|--ignore-duplicates in strcmp).
In RBA/pya, the "IgnoreDuplicates" flag has been added.
2023-06-10 09:11:39 +02:00
Matthias Koefferlein 5bcb9e0207 Merge branch 'xor-perf-trial' into wip2 2023-06-09 23:32:14 +02:00
Matthias Koefferlein a0c70a2cc7 Another small optimization of hierarchical processor, makes a small difference 2023-06-09 23:31:39 +02:00
Matthias Koefferlein 0959676b5a Another shortcut for two-input box scanner, but does not make a large difference 2023-06-09 23:26:49 +02:00
Matthias Koefferlein d604003e3f Changing XOR implementation to mapped
The previous implementation for two layouts
was based on the twofold traversal of hierarchies
but that is less efficient than first mapping and
then doing the XOR within the single layout.
2023-06-08 19:03:57 +02:00
Matthias Koefferlein 078258bf09 New branch for XOR performance improvement in deep mode 2023-06-06 23:35:40 +02:00
Matthias Koefferlein 9817f12385 Speedup of hierarchy processor (context computation) in case if deeply hierarchical two-input cases 2023-06-04 09:13:20 +02:00
Matthias Koefferlein f11500996f New methods: Layout#copy_layer, Layout#move_layer and Layout#clear_layer with shape selector, Shapes#clear with shape selector 2023-05-31 22:49:02 +02:00
Sebastian Goeldi 293590acb0
fix add_meta_info of Layout and Cell 2023-05-25 13:45:46 +02:00
Matthias Köfferlein fa9e7e7c12
Merge pull request #1379 from KLayout/wip2
Wip2
2023-05-23 19:44:49 +02:00
Matthias Koefferlein c1e0b1a40b Small update: code patch for fixing debug output 2023-05-21 21:07:43 +02:00
Matthias Koefferlein 01eeee1b76 WIP: simplification, needs testing 2023-05-21 20:20:46 +02:00
Matthias Koefferlein ca05f59168 WIP: some performance enhancement, but not compatible 2023-05-21 20:02:46 +02:00
Matthias Koefferlein 0400261641 Added testcase for issue-1366 2023-05-20 23:26:20 +02:00
Matthias Koefferlein 44965bf19c Approx 2x performance improvement of issue-1366 testcase due to more efficient filling of scanline queue 2023-05-20 23:10:03 +02:00
Matthias Koefferlein c37be0884c Potential performance fix for issue #1366 2023-05-20 23:10:01 +02:00
Matthias Koefferlein 331bb5aed4 Fixing a performance issue on hole insertion for polygons with many holes 2023-05-20 23:09:57 +02:00
Matthias Koefferlein ba0aaef132 Merge branch 'master' into wip2 2023-05-18 19:00:24 +02:00
Matthias Koefferlein 3e60aabe7a Fixed issue #1373 (shapes with user properties are skipped from second input of flat region's '+' operator) 2023-05-14 22:48:31 +02:00
Matthias Koefferlein 8f25c3470d Small enhancement to 'decompose_convex' with the goal to avoid thin slivers 2023-05-14 18:33:53 +02:00
Matthias Köfferlein 641d2404d2
Merge pull request #1358 from KLayout/wip2
Wip2
2023-05-12 23:31:26 +02:00
Matthias Koefferlein f25d20be20 [bugfix] making 'R', 'L' and 'C' parameters too for the respective Spice elements (beside 'value') 2023-05-11 23:40:20 +02:00
Matthias Koefferlein da52eeb7c3 Fixed text bbox computation under the presence of global view transformations and 'apply text transformation' false 2023-05-11 20:05:28 +02:00
Matthias Koefferlein 1422dfb93d Bugfix, text reference made the program assert 2023-05-11 18:57:24 +02:00
Matthias Koefferlein 45394b801a Debugging TextInfo, added tests 2023-05-09 21:37:15 +02:00
Matthias Koefferlein e8048d6686 WIP: preparations - introducing TextInfo 2023-05-07 19:51:15 +02:00
Matthias Koefferlein 5fd54fa40a Netlist reader: anonymous circuits are not checked for known parameters 2023-05-06 00:00:56 +02:00
Matthias Koefferlein 7bdc8efc81 Displaying meta info in user properties dialog box for information
Copy of meta info from cell to other layout now preserves names.

In addition two bugs have been fixed:
* Display of meta info for layout on statistics page did not show description
* ghost cell status now is copied on cell copy
2023-05-02 21:48:13 +02:00
Matthias Koefferlein ffd47e1341 Fixed issue-1353 (problem with recursive instance iterator) 2023-04-29 23:28:20 +02:00
Matthias Koefferlein 707ebc4114 Copying meta information of cells on various occasions too (e.g. clipboard copy & paste) 2023-04-29 23:27:42 +02:00
Matthias Koefferlein c8d97871fd Enabling build of version agnostic plugins 2023-04-22 21:26:39 +02:00
Matthias Koefferlein 70b6306635 Tests for complex data for meta info, doc updates 2023-04-22 00:16:12 +02:00
Matthias Koefferlein d9e0d107b1 Bug fixes, RBA tests for meta info 2023-04-21 23:33:42 +02:00
Matthias Koefferlein 3361802a20 Tests and bugfixing for meta info persistence in OASIS + GDS 2023-04-19 00:51:11 +02:00
Matthias Koefferlein b36eb04afa Meta info persistency also for OASIS 2023-04-18 22:34:11 +02:00
Matthias Koefferlein 78da3effa2 Next steps - persistency of meta info 2023-04-18 21:24:26 +02:00
Matthias Koefferlein b14c630ce9 Scheduling update for 0.28.8 2023-04-16 21:40:53 +02:00
Matthias Koefferlein 541f9a377f Small refactoring, added persisted flag for meta info 2023-04-16 21:31:25 +02:00
Matthias Koefferlein 1a0542f155 Fixed two compiler warnings of hidden virtual methods 2023-04-16 21:31:02 +02:00
Matthias Koefferlein df4221cfc9 First features to support cell meta data 2023-04-16 20:25:30 +02:00
Matthias Köfferlein d560027790
Merge pull request #1334 from KLayout/issue-1327
Issue #1327 fixed (segfault in pymod finalization code)
2023-04-13 22:55:02 +02:00
Matthias Köfferlein fc014efe80
Merge pull request #1331 from KLayout/issue-1321
Implemented tilde expansion, internal stream path names are now absol…
2023-04-13 22:54:12 +02:00
Matthias Koefferlein 63a4fe8d77 Issue #1327 fixed (segfault in pymod finalization code) 2023-04-07 10:59:30 +02:00
Matthias Koefferlein 19fbc5c144 Implemented tilde expansion, internal stream path names are now absolute, fixed tests 2023-04-07 00:19:10 +02:00
Matthias Koefferlein fd0c60761f Merge branch 'master' into wip 2023-03-24 15:56:48 +01:00
Matthias Koefferlein 02e9f605d9 Implemented .lib for Spice reader - issue #1320 2023-03-24 14:31:49 +01:00
Matthias Koefferlein a39441cdbd Some alignment of Spice reader details with ngspice (not all possible ways of specifying R, L or C elements are supported currently) 2023-03-24 13:29:14 +01:00
Matthias Koefferlein b979219007 Fixed previous implementation - was not fully effective 2023-03-16 20:06:07 +01:00
Matthias Koefferlein 178cb29773 Fixed a function call typo 2023-03-16 10:05:36 +01:00
Matthias Koefferlein 2166f2bb21 Some memory optimization potential with tiled processor to improve XOR memory footprint (box-like polygons stored as boxes, polygon references) 2023-03-15 23:22:04 +01:00
Matthias Koefferlein ffbcfc5490 Trying to reduce memory overhead of tiling processor - using box objects when possible 2023-03-12 22:10:49 +01:00
Matthias Koefferlein bcaefefded Cleanup of box scanner implementation 2023-03-12 19:45:39 +01:00
Matthias Koefferlein 741c9d9ac5 Performance enhancement of flat space DRC in some cases 2023-03-12 19:45:24 +01:00
Matthias Koefferlein 55dbf85b4b Some refactoring of Spice reader with the goal to simplify delegate implementation, removing static instance of default delegate 2023-03-12 17:03:15 +01:00
Matthias Koefferlein db8f9d5bcb Spice reader enhancements
Basic goal is to align ngspice and KLayout Spice
format comprehension. ".options scale" was implemented
together with a number of other patches.
Consistency has been confirmed with respect to these
features and formula evaluation.
2023-03-12 15:36:50 +01:00
Matthias Koefferlein 6955d7d0c7 Better handling of inputs in deep mode after manipulating the hierarchy of the input layout 2023-03-12 00:26:18 +01:00
Matthias Koefferlein 047455c560 Merge branch 'master' into wip2 2023-03-12 00:10:23 +01:00
Matthias Koefferlein 5a1e845a64 [consider merging] regenerating pyi stubs, sorting methods by name for better stability of files, small patch (missing box ctor arg names) 2023-03-11 19:56:02 +01:00
Matthias Koefferlein ce31f47918 [consider merging] regenerating pyi stubs, sorting methods by name for better stability of files, small patch (missing box ctor arg names) 2023-03-11 19:55:06 +01:00
Matthias Koefferlein 068849a634 Refactoring, primary goal is to centralize the definition of PCellDeclarationHelper in Python 2023-03-10 23:22:30 +01:00
Matthias Koefferlein 3e8f03ef5f Synchronizing Python PCellDeclarationHelper between the two implementations (for standalone module + build-in for app) 2023-03-07 23:43:12 +01:00
Matthias Koefferlein 1b3e8e14c5 Netlist reader: anonymous circuits are not checked for known parameters 2023-03-06 22:38:10 +01:00
Matthias Koefferlein be0d155848 Fixed issue #1309
Fixed polygon rasterizer.
Reason was the clip edge function that delivered
vertical edges from skew ones due to rounding.
These must not be skipped when exactly on a pixel
boundary as true vertical edges are.
2023-03-04 22:20:06 +01:00
Matthias Koefferlein 4ead7b46a1 Test updates 2023-02-27 21:27:19 +01:00
Matthias Koefferlein ceb82a15d8 Fixed merge issues 2023-02-27 00:27:23 +01:00
Matthias Koefferlein ebcf242a9e Merge branch 'more-spice' into issue-1304 2023-02-27 00:21:20 +01:00
Matthias Koefferlein 69d975c736 Update to test data 2023-02-27 00:19:14 +01:00
Matthias Koefferlein 0fa9bc6e2b Fixed issue #1304 (terminal order for MOS devices) 2023-02-26 23:30:17 +01:00
Matthias Koefferlein 3ac1385d87 Another testcase for Spice reader with parametric subcircuits, .param statements, bug fixes 2023-02-26 21:31:34 +01:00
Matthias Koefferlein 2e3c859cd3 Specified release version for Spice reader enhancements 2023-02-26 19:52:05 +01:00
Matthias Koefferlein d20e4b2128 Bug fixes, adjusted test data 2023-02-22 15:54:28 +01:00
Matthias Koefferlein be5e16c125 WIP: bug fixing, new test cases 2023-02-22 13:11:30 +01:00
Matthias Koefferlein 44e123f343 WIP: Spice reader - resolve model and net names by variables 2023-02-22 10:20:48 +01:00
Matthias Koefferlein 18f2b57c3d WIP: generlizing parameter values for spice reader - can be strings too 2023-02-22 10:15:05 +01:00
Matthias Koefferlein 51c4b7ed28 WIP 2023-02-22 09:48:08 +01:00
Matthias Koefferlein 715c7ed282 WIP: rewriting Spice expression parser to support more functions 2023-02-21 18:10:36 +01:00
Matthias Koefferlein 80fa7e47e2 WIP: tests pass 2023-02-21 00:49:23 +01:00
Matthias Koefferlein 49d3edd26a WIP: debugging, first tests pass. 2023-02-21 00:17:41 +01:00
Matthias Koefferlein ac5616a583 WIP 2023-02-21 00:15:22 +01:00
Matthias Koefferlein 736676701d WIP 2023-02-20 23:54:04 +01:00
Matthias Koefferlein 459de47448 WIP: spice reader refactoring to support parametric subcircuits 2023-02-20 23:25:23 +01:00
Matthias Koefferlein 2214345df2 WIP 2023-02-20 22:59:03 +01:00
Matthias Koefferlein 40fd350d85 WIP 2023-02-20 22:06:45 +01:00
Matthias Koefferlein 93d9298b51 Formally minkowsky sum now is allowed with empty polygon arguments 2023-02-15 00:29:26 +01:00
Matthias Koefferlein 026e0fa591 Fixed issue #1275 (size after smooth does not work) 2023-02-04 19:56:06 +01:00
Matthias Koefferlein 2d6091cf0a Fixed MSVC builds 2023-01-26 21:51:07 +01:00
Matthias Köfferlein ab8cfee1ea
Merge pull request #1258 from KLayout/wip
Wip
2023-01-24 21:48:27 +01:00
Matthias Koefferlein 2749217984 Seems to fix issue #1260 2023-01-23 23:24:55 +01:00
Matthias Koefferlein 69a2ac107b One bug fix, made tests more robust and compatible with MSVC 2023-01-22 16:17:13 +01:00
Matthias Koefferlein ca091203b3 Attempt to fix Windows builds 2023-01-22 10:23:54 +01:00