Commit Graph

2176 Commits

Author SHA1 Message Date
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 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 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 Koefferlein d6ee473d72 Fixed issue #1799 (Can't set cell properties by script) 2024-07-25 22:36:46 +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
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