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