Commit Graph

1483 Commits

Author SHA1 Message Date
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