Commit Graph

1646 Commits

Author SHA1 Message Date
Matthias Koefferlein 2629700566 RBA tests, reproducible order of edge events, all edges are reported - even those which do not have neighbors. 2024-10-31 23:43:27 +01:00
Matthias Koefferlein 3073c1917f Some enhancements: internal merging, tests 2024-10-31 22:55:46 +01:00
Matthias Koefferlein 57e98d17ac Fixed some Ruby tests - as RecursiveShapeIterator lifelime may be longer than expected, we need to explicitly destroy the iterator now to avoid layout locking. 2024-10-26 21:24:51 +02:00
Matthias Köfferlein 2d1658cbfa
Merge pull request #1906 from KLayout/issue-1899
Issue 1899
2024-10-20 16:50:25 +02:00
Matthias Köfferlein 6c82177dfa
Merge pull request #1883 from KLayout/issue-1869
Fixed issue #1869 by adding a new option, -to or --top-output to strmxor
2024-10-20 13:22:12 +02:00
Matthias Koefferlein 14fa7a3760 Adding tests 2024-10-19 20:35:47 +02:00
Matthias Koefferlein b4f38138e8 Updating test data 2024-10-19 16:52:17 +02:00
Matthias Koefferlein 7b7e98d49a Fixed issue #1877 (rounding introduces DRC error in LEF/DEF via) 2024-10-12 21:44:49 +02:00
Matthias Koefferlein 4c33032f93 Merge branch 'better-not-break' 2024-09-22 20:08:10 +02:00
Matthias Köfferlein ff0a2b8ab7
Merge pull request #1850 from KLayout/wip
Wip
2024-09-21 20:33:21 +02:00
Matthias Koefferlein 1e6b983942 Updating test data 2024-09-18 23:50:49 +02:00
Matthias Koefferlein 9bb9fc2a50 Added test data 2024-09-18 23:24:03 +02:00
Matthias Köfferlein 53b7c985f0
Merge pull request #1849 from KLayout/feature/issue-1836
Implemented solution for issue #1836 (Allow the usage of Cell.shapes(…
2024-09-08 22:24:40 +02:00
Matthias Koefferlein 680874c8e3 More variants of Layout#properties_id + added Layout#properties_hash and Layout#properties_array. Clarification of documentation. 2024-09-08 19:45:10 +02:00
Matthias Koefferlein 68d15e01af DRC: more variants for layer#insert - labels, DBU-unit types 2024-09-08 19:16:40 +02:00
Matthias Koefferlein bf965a7806 Implemented solution for issue #1836 (Allow the usage of Cell.shapes(LayerInfo(...)))
- For Cell#shapes, LayerInfo is an accepted argument now
- If the layer does not exist, it is created (non-const version)
  or an error is raised (const version)
- Cell#clear also accepts a LayerInfo object
- Layout#clear and Layout#delete_layer also accept
  a LayerInfo parameter

Rationale for supporting the clear and delete_layer methods:
These cases do nothing if the layer does not exist, so there
is a benefit of using them: it is not required to check first
if the layer exists.
2024-09-07 20:29:43 +02:00
Matthias Koefferlein bc78f4a0e9 Added test. 2024-09-01 21:26:44 +02:00
Matthias Köfferlein 857fbc873c
Merge pull request #1824 from KLayout/bugfix/issue-1823
Fixed bug #1823 (select_all not working)
2024-08-10 13:33:48 +02:00
Matthias Köfferlein bccc421f3d
Merge pull request #1821 from KLayout/feature/issue-1816
Feature/issue 1816
2024-08-10 13:33:25 +02:00
Matthias Koefferlein 3e0d0ad444 Added tests, fixed others 2024-08-09 17:20:40 +02:00
Matthias Koefferlein 33a3a15791 Bugfix: 'netter' function in DRC wasn't working as described - it raised an error 2024-08-07 00:48:19 +02:00
Matthias Koefferlein fd1dc842e0 Generic GSI methods #_to_const_object (for testing) and #_const_cast. Fixed a class initialization issue - sub classes should not be registered by name at top level in Expressions 2024-08-07 00:11:48 +02:00
Matthias Koefferlein 82b3030352 const versions of Layout#cell and Layout#top_cell(s) 2024-08-06 18:19:31 +02:00
Matthias Koefferlein 3068dd2798 Allowing RBA::Net objects for DRCLayer#nets as well 2024-08-06 00:14:02 +02:00
Matthias Koefferlein 35bd336d3a Added test for PCellParameterState 2024-08-04 23:36:44 +02:00
Matthias Koefferlein b27bcd5c16 Added tests for GSI bindings of new EdgePairs functions 2024-08-04 22:26:21 +02:00
Matthias Koefferlein 35219469d6 Debugging and first tests for DRC 2024-08-04 21:03:19 +02:00
Matthias Köfferlein 8ab398dc58
Merge pull request #1811 from KLayout/wip
Wip
2024-07-30 18:59:09 +02:00
Matthias Köfferlein ba899b391c
Merge pull request #1808 from KLayout/bugfix/issue-1784
Proposal for fixing issue #1784 (Spice throws error at midline semico…
2024-07-30 18:58:28 +02:00
Matthias Köfferlein f4e4ce99b8
Merge pull request #1803 from KLayout/feature/issue-1790
Implemented a solution for issue #1790 (Support for recursive PCell i…
2024-07-30 18:57:34 +02:00
Matthias Koefferlein 7978a2bb1d Proposal for fixing issue #1784 (Spice throws error at midline semicolon comments) 2024-07-28 22:24:15 +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 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 Koefferlein 00aeeade68 Updating antenna DRC golden data - needed as the precision of the double-typed tl::Variant output was increased 2024-07-20 21:02:45 +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 1ed69e9b46 Added test 2024-07-17 23:09:04 +02:00
Matthias Koefferlein 072edecb1a Add-on making re-registration of PCells a valid feature. 2024-07-13 18:55:17 +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 Köfferlein 02506495c2
Merge pull request #1777 from KLayout/bugfix/issue-1771
Bugfix/issue 1771
2024-07-06 14:49:45 +02:00
Matthias Koefferlein dbadeb47fe Added test 2024-07-06 00:29:34 +02:00
Matthias Koefferlein 769327cdab Fixing issue #1774 (providing klayout.__version__ also for built-in module) 2024-07-05 17:50:38 +02:00
Matthias Koefferlein 4a2d1be8bf Backward compatibility mode (with fix): size now also accepts sizing mode as string (for supporting GF180 DRC decks properly) 2024-07-03 22:59:31 +02:00
Matthias Koefferlein 809f8a8256 Additional checks to cover 'size' syntax variants for DRC 2024-07-03 22:43:23 +02:00
Matthias Koefferlein 264f1e0586 Stepwise sizing: had to rename options
"inside" and "outside" was already taken. Now it is called
"size_inside" and "size_outside".
2024-07-02 21:10:11 +02:00
Matthias Koefferlein 68530f08bc Merge branch 'faster-latchup-rules' 2024-07-01 18:28:23 +02:00
Matthias Köfferlein 3237f5ec4a
Merge pull request #1761 from KLayout/feature/issue-1655
Feature/issue 1655
2024-07-01 18:24:22 +02:00
Matthias Koefferlein b92c7bf225 Refined solution 2024-06-29 23:22:32 +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 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 Koefferlein 58d53636cb DRC tests for 'size/sized inside 2024-06-25 21:01:23 +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 ef1192c6a8 Added missing files 2024-06-17 23:12:46 +02:00
Matthias Koefferlein 579da640ba Enhancement: added optional layer/datatype information to DRC/LVS 'name' 2024-06-16 19:33:24 +02:00
Matthias Koefferlein 24a9e6824a Added tests for the last fix. 2024-06-16 16:54:20 +02:00
Matthias Koefferlein 9f7e84d9e7 Adding transformation to shapes_of_pin, shapes_of_terminal 2024-06-06 21:01:52 +02:00
Matthias Koefferlein 04caf13d8d Added tests for shapes_of_terminal 2024-06-06 20:47:55 +02:00
Matthias Koefferlein 3e4775aabb Added tests for shapes_of_pin 2024-06-06 20:20:35 +02:00
Matthias Koefferlein 23b74339ff Fixed test data for Linux 2024-06-02 23:09:40 +02:00
klayoutmatthias 86e84c8ca6 Updating further golden data files with MacOS variants 2024-06-02 20:12:18 +02:00
klayoutmatthias 8204f4d0aa Updating golden test data with MacOS variants 2024-06-02 19: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 da9dc8929c Updating one golden test data file 2024-05-31 16:03:48 +02:00
Matthias Koefferlein 11bddc2914 Refining solution for "blend-mode 0" enhancement 2024-05-31 14:45:25 +02:00
Matthias Köfferlein 7399244557
Merge pull request #1725 from KLayout/bugfix/issue-1724
Fixing issue #1724 (avoid duplicate LEF files)
2024-05-31 13:18:44 +02:00
Matthias Koefferlein c70e622590 Fixing issue #1724 (avoid duplicate LEF files) 2024-05-30 16:21:52 +02:00
Matthias Koefferlein 149c972172 Enhancing 'blend-mode' 0 (buddy tools) such that it will not generate instance duplicates 2024-05-29 22:39:57 +02:00
Matthias Koefferlein 496818f0a8 Added testdata for #1719, part 3 2024-05-28 23:21:58 +02:00
Matthias Koefferlein f01d8d46b5 Improving reports for errors in 'same_nets' cases 2024-05-27 00:43:36 +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 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 1677111735 Enhanced documentation for LayoutToNetlist class, two more methods (layer_indexes, layer_info) 2024-05-25 19:57:51 +02:00
Matthias Koefferlein 4f88ff68da Better error messages on Expressions too. 2024-05-25 19:18:15 +02:00
Matthias Koefferlein d59d318218 Bugfix: restoring original overload matching scheme for Ruby and Python 2024-05-25 18:58:18 +02:00
Matthias Koefferlein eb92e5f2d1 Better error messages on argument mismatch for Ruby too. 2024-05-25 18:43:44 +02:00
Matthias Koefferlein 1861abc68c Bugfix for passing default arguments to GSI calls
This happens when default arguments (specifically
user class or enum types) and passed between keyword
and positional arguments. We must not use a temporary
tl::Variant object as it gets out of scope and a
reference is stored.

In addition: better error messages for Python when
a method can't be matched to arguments.
2024-05-25 17:48:17 +02:00
Matthias Koefferlein 51a1a2627f Fix for issue-1710 (feature request: create separate cell for def FILL) 2024-05-18 18:37:52 +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 4a2143d234 Using plain DRC functions for better test reproducibility 2024-04-29 00:46:58 +02:00
Matthias Koefferlein bc2028cedb Providing test data variants 2024-04-28 22:59:21 +02:00
Matthias Koefferlein 92a0c38d96 Tests for waiving flow 2024-04-28 19:32:54 +02:00
Matthias Koefferlein fbc336dde2 Added tests 2024-04-28 17:37:58 +02:00
Matthias Koefferlein 1c367f3757 Updating test data 2024-04-28 16:16:21 +02:00
Matthias Koefferlein 9ef51ca981 RdbCell#layout_name and RdbItem#comment with tests and GSI binding 2024-04-27 19:56:39 +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 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 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 Koefferlein f6417adbb1 Added missing file 2024-04-14 23:55:46 +02:00
Matthias Koefferlein 6a876d2cd6 Fixed issue #1681 2024-04-14 19:43:50 +02:00
Matthias Koefferlein 00bc208e3f Merge branch 'master' into editor-hooks 2024-03-31 10:39:00 +02:00
Matthias Koefferlein 3836874b8f Enhanced Euclidian visualization 2024-03-31 10:30:04 +02: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 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 0091292f7c
Merge pull request #1660 from KLayout/issue-1651
Fixing issue #1651 (errors when adding polygons with 4 points) - need…
2024-03-29 08:57:41 +01:00
Matthias Köfferlein 467c8c7527
Merge pull request #1650 from KLayout/issue-1632
Fixed issue #1632 (at least partially): introducing non-const version…
2024-03-29 08:56:55 +01:00
Matthias 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 ab93dde25c Tests for GSI binding 2024-03-24 22:11:07 +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 376058f34b Implemented fix for issue-1662 (Strong default grids) 2024-03-24 12:48:53 +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 38a3b8305e Fixing issue #1651 (errors when adding polygons with 4 points) - needs some testing 2024-03-23 15:24:18 +01:00
Matthias Koefferlein 554fff1d23 Added a large test case for soft connections 2024-03-22 22:44:58 +01:00
Matthias Koefferlein c1602abce1 Instance path format changed - LVS test data update needed 2024-03-21 22:48:31 +01:00
Matthias Koefferlein 10cf9c0bb6 More tests 2024-03-21 22:46:05 +01:00
Matthias Koefferlein 917439b84e New testdata, bugfix: considering the case of partial net formation through soft, upward inter-instance connections. Enhanced reporting (report multiple partial nets of the same circuit at different instances) 2024-03-21 21:31:20 +01:00
Matthias Koefferlein 366249645a Another test 2024-03-20 23:37:10 +01:00
Matthias Koefferlein 265b5680de Added soft-connect test for valid layout 2024-03-20 23:29:25 +01:00
Matthias Koefferlein 962e212e19 regression test for soft connect feature 2024-03-20 23:23:11 +01:00
Matthias Koefferlein 44edd8d26a Added a regression test for netlist extractor with soft connections 2024-03-16 00:02:44 +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
klayoutmatthias f2d61e1dee Fixed a crash with Ruby 2.0.0 on CentOS7 2024-03-11 22:39:59 +00: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 7c4133b9e4 Fixed issue #1632 (at least partially): introducing non-const versions of RDB iterators and access methods 2024-03-09 21:54:17 +01:00
Matthias Koefferlein c134b6c55c Update of test data needed, because OASIS layer names are present now even if there is no shape 2024-03-09 18:47:13 +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 ffffe7327c Preparing for merge with master 2024-03-09 01:10:34 +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 ea21a30367 Update of test data 2024-03-07 23:06:09 +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 d505767bf1 Added test for edge interactions with count 2024-03-07 15:30:52 +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 e70cb7e3ee Update of deep DRC test data because of hierarchical mode for edge intersections 2024-03-06 19:08:28 +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 8b6ed7f663 Update of testdata, edge 'outside' needs merged input too. 2024-03-02 21:40:57 +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 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 4ed64fdfa1 GSI binding for tech specific grids 2024-02-16 15:19:32 +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 3a83175a02 Compatibility with older Ruby versions 2024-02-11 16:22:42 +01:00
Matthias Koefferlein ba61c4880f [consider merging] Update of testcase which was broken OAS 2024-02-11 15:22:41 +01:00
Matthias Koefferlein 4a89304152 Merge branch 'master' into wip2 2024-02-11 14:23:47 +01:00
Matthias Köfferlein 97c746fbad
Lefdef all should not map boundary (#1614)
* As suggested by Stefan Thiede: LEF/DEF 'ALL' purpose should not match obs and fill

* Updated unit tests

---------

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:38:53 +01:00
Matthias Köfferlein 09dea68e40
Fixed issue #1592 (DXF reader issue) (#1595)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:37:47 +01:00
Matthias Köfferlein 3ab442bfc0
Fixed issue #1594 (#1596)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:36:44 +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 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 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 bbb535a0bf Tests for polygon-to-edge and polygon-to-edge-pair processors 2024-01-26 13:09:48 +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 b34f539fe1 Generic filter for polygons 2024-01-25 23:10:12 +01:00
Matthias Koefferlein 4f9effab7e Trying to fix Python 3.6 builds + tests 2024-01-25 13:35:23 +01:00
Matthias Koefferlein 139010686d Fixed unit tests for non-Qt case 2024-01-24 00:38:38 +01:00
Matthias Koefferlein cb3d7bc5f3 Fixed pya tests for Python 2.7 2024-01-20 23:11:54 +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 Köfferlein 3143b54bd9
Merge pull request #1588 from KLayout/issue-1586
Implementation of fix for issue #1586
2024-01-06 11:30:36 +01:00
Matthias Koefferlein f476416ce1 Added tests 2024-01-05 23:47:46 +01:00
Matthias Koefferlein 88c3d30982 Implemented solution for issue #1583
- new attribute "title" for MainWindow to get and set title
  (includes extrapolation to add dynamic content)
- also added LayoutView#is_dirty for emulation of the
  standard behavior
- plus side effect: LayoutView#synchronous is now readable
2024-01-05 19:40:09 +01:00
Matthias Koefferlein d9c2c6d568 Unit test compatibility with 64bit coordinate builds 2024-01-03 02:05:06 +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 f335ab69af More compatibility with Ruby <2.7 2023-12-29 23:00:06 +01:00
Matthias Koefferlein 6ceb77cf73 Trying to fix the ambiguity issue in Ruby < 3.0 with hash arguments vs. keyword arguments 2023-12-28 21:53:38 +01:00
Matthias Koefferlein e2ba78185c Tests for GSI kwargs, test framework enhanced to print the total number of tests 2023-12-28 19:44:44 +01:00
Matthias Koefferlein 940ef5319a WIP: refinement of Python and Ruby support for keyword arguments. 2023-12-27 22:56:11 +01:00
Matthias Koefferlein 8f9b904d87 WIP: keyword arguments for Ruby 2023-12-27 22:17:39 +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 Koefferlein bbd7a9cd8a Added missing files 2023-12-11 23:56:28 +01:00
Matthias Koefferlein 9525cfd1cd Fixed #1565 (quit() raises an error in KLayout Python Console) 2023-12-11 23:55:57 +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 Köfferlein b4a74821c4
Merge pull request #1556 from KLayout/issue-1528
Implemented a solution for issue #1528 (LEF WIDTHTABLE)
2023-12-08 07:25:20 +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 ea039bf4bb Added missing files 2023-12-05 21:33:08 +01:00
Matthias Koefferlein 1017026362 Implemented a solution for issue #1528 (LEF WIDTHTABLE)
The WIDTHTABLE is evaluated for normal and WRONGDIRECTION.
The first value is taken as min width and as default width.
2023-12-02 22:55:51 +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 8da6a131e8 Merge branch 'master' into wip2 2023-11-26 22:19:37 +01:00
Matthias Köfferlein 6c4e082fc1
Merge pull request #1547 from KLayout/issue-1542
Issue 1542 - crash on exit
2023-11-26 22:19:04 +01:00
Matthias Köfferlein 3b83230de0
Merge pull request #1546 from KLayout/issue-1530
Issue 1530 - size-2 tuples for points
2023-11-26 22:18:52 +01:00
Matthias Koefferlein 2b93dc2dc7 Implemented implicit constructor from array/tuples also for Ruby 2023-11-26 09:55:29 +01:00
Matthias Koefferlein a95706baaa Tests for implict construction from tuple or list arguments 2023-11-26 09:55:26 +01:00
Matthias Koefferlein ef9d73f178 Experimental: calling str(x) implicitly in RBA and pya 2023-11-26 09:28:24 +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 b7f7866768 Building test case 2023-11-24 23:31:12 +01:00
Matthias Koefferlein 6e589e2bb3 Fixed issue #1533 (KLayout crashing with two consecutive calls of the same LayoutView::show_layout command) 2023-11-19 21:14:32 +01:00
Matthias Koefferlein 1e09bee1b6 Fixed issue #1534 (Layout::dup does not copy properties) 2023-11-19 20:48:44 +01:00
Matthias Koefferlein f659b9fc4e Updating golden data 2023-11-19 00:22:45 +01:00
Matthias Koefferlein c2df163b8a Added cell variants to polygon to edge processor 2023-11-18 23:27:20 +01:00
Matthias Koefferlein ef5c908b99 Updating test data 2023-11-18 13:52:20 +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 d91c86c1df Fixed some syntax errors in LEF/DEF samples 2023-11-15 22:24:51 +01:00
Matthias Koefferlein 5c5c11fd93 Added new test data variant 2023-11-11 10:19:29 +01:00
Matthias Köfferlein 42183efb76
Merge pull request #1502 from KLayout/issue-1499
Fixed issue #1499 (strm2oas: support LAYER <layername> TYPE OVERLAP ;…
2023-11-07 21:35:34 +01:00
Matthias Köfferlein 8d51124fd4
Merge pull request #1491 from KLayout/issue-885
Issue 885
2023-11-07 21:35:04 +01:00
Matthias Koefferlein 261d0249e8 Merge branch 'wip' 2023-10-19 21:23:07 +02:00
Matthias Koefferlein ac4b02c53a Fixed interpretation of TYPE OVERLAP, added test 2023-10-17 20:49:37 +02:00
Matthias Koefferlein 75e3c3131f Fixed issue #1485 (Incorrectly set output cell name if using DRC::cell) 2023-10-01 18:32:36 +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 583232c7f4 New testdata variants 2023-09-27 21:19:55 +02:00
Matthias Koefferlein 4a1e55be5c Added new testdata variant 2023-09-27 21:16:11 +02:00
Matthias Koefferlein 883b7e7db8 Fixed category assignement in device extractor 2023-09-26 22:45:13 +02:00
Matthias Koefferlein 30a5954f77 Fixed tests 2023-09-26 22:42:15 +02:00
Matthias Koefferlein 1115e44886 Added tests for must-connect feature 2023-09-26 21:40:21 +02:00
Matthias Koefferlein 579f5ffca4 Doc updates 2023-09-25 23:33:15 +02:00
Matthias Koefferlein 11aebdb040 More tests 2023-09-25 22:53:00 +02:00
Matthias Koefferlein 27f67cf9c2 Added tests 2023-09-24 22:27:23 +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 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 939870c84c Fixed unit test 2023-09-23 00:39:26 +02:00
Matthias Koefferlein b72dfe34b4 WIP: aligned new implementation better with original one 2023-09-23 00:35:11 +02:00
Matthias Koefferlein b589f015da New tests 2023-09-17 21:53:02 +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 Köfferlein 3dff137e9f
Merge pull request #1480 from KLayout/issue-1307
Issue 1307
2023-09-12 07:22:51 +02:00
Matthias Koefferlein 5a6b358880 Merge branch 'wip2' into issue-1307 2023-09-12 00:07:32 +02:00
Matthias Koefferlein 40948b9e87 Merge branch 'wip2' into issue-1472 2023-09-12 00:01:31 +02:00
Matthias Koefferlein 3e3e8d4ba3 Fixed pymod test 2023-09-11 23:58:38 +02:00
Matthias Koefferlein 1e65abb7bf Fixed issue-1307 (partial, UNPLACED component placements render placement if they come with point and orientation) 2023-09-11 21:39:06 +02:00
Matthias Koefferlein 8d2d5bcf47 Fixed more weird paths in issue-1472 2023-09-11 21:16:36 +02:00
Matthias Koefferlein e9429320bb Merge branch 'issue-1472' into wip2 2023-09-11 20:24:15 +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 8e42c7b4e9 Fixed issue-1472 (strm2oas: def path with first/last segment length < halfwidth are read wrong) 2023-09-09 21:28:46 +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 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