Commit Graph

1532 Commits

Author SHA1 Message Date
Matthias Köfferlein 253270aaa3
Merge pull request #1973 from KLayout/feature/issue-1971
Feature/issue 1971
2025-01-17 10:10:19 +01:00
Matthias Köfferlein b4dc9a6b1d
Merge pull request #1968 from KLayout/bugfix/issue-1967
Bugfix/issue 1967
2025-01-17 10:10:03 +01:00
Matthias Koefferlein 8bf93f0611 Added missing files 2025-01-16 20:50:51 +01:00
Matthias Koefferlein 063040695a Preparing tests for GSI class properties 2025-01-16 20:40:42 +01:00
Matthias Koefferlein 7ab8da4bae Added missing file 2025-01-04 23:16:34 +01:00
Matthias Koefferlein 73dc31244a Merge branch 'master' into devel 2025-01-04 21:51:37 +01:00
Matthias Koefferlein bccf68504f Implemented a solution for #1963 (locking cells)
A cell can be locked using
  cell.locked = true
and unlocked again using
  cell.locked = false
Also, cell.is_locked? can be used to test the locked state.

In locked state writing shapes and instances is forbidden
and doing so would raise an exception.

Also, cells cannot be deleted when locked. However, Layout#clear
and Layout#_destroy are always available.

Cells can still be renamed, even if locked.
2025-01-04 21:44:11 +01:00
Matthias Koefferlein 2d5ddd794c Merge branch 'master' of github.com:KLayout/klayout 2025-01-04 19:36:43 +01:00
Matthias Koefferlein 5d57cb5eed Updating copyright to 2025 2025-01-04 19:32:33 +01:00
Matthias Koefferlein c9da9dc6e0 Updating copyright to 2025 2025-01-04 19:28:56 +01:00
Matthias Koefferlein 826b811249 More generic object-with-properties GSI methods 2025-01-04 19:24:32 +01:00
Matthias Koefferlein 233d70d085 Transformation of objects with properties, GSI binding, bug fixing, tests 2025-01-01 22:49:50 +01:00
Matthias Koefferlein 8c935409ea Added a test for net neighborhood, predicable order of results of edge neighborhood scanner. 2024-12-31 16:37:01 +01:00
Matthias Koefferlein c112f78b1c WIP: edge and edge pairs with properties, tests, conversion constructors, edge neighborhood tests with properties. 2024-12-30 23:47:34 +01:00
Matthias Koefferlein 75e4282f01 Introducing PolygonWithProperties etc. in gsi 2024-12-29 17:07:56 +01:00
Matthias Koefferlein f2dc78f438 API enhanced for new properties ID scheme, updated doc and tests 2024-12-28 17:13:43 +01:00
Matthias Koefferlein 4beb8db15a WIP: bug fixes, stability of tests 2024-12-26 21:45:28 +01:00
Matthias Koefferlein 5281397b17 Fixed some tests 2024-12-26 00:42:39 +01:00
Matthias Koefferlein a7a4ff0cf2 Fixing RBA dbInstances tests 2024-12-25 23:54:58 +01:00
Matthias Koefferlein 1278ffeb77 WIP - refined tl::Variant::equal and less implementation, fixed tests 2024-12-25 17:36:29 +01:00
Matthias Koefferlein 28260a68b0 WIP 2024-12-24 15:39:27 +01:00
Matthias Koefferlein f5fea29cc9 WIP: OASIS reader tests debugging. 2024-12-24 12:56:13 +01:00
Matthias Koefferlein 5e2f4eb243 Fixing bug #1955
Problem was caused by a leaking PolygonIteratorDelegate that locked the
DSS layout object. Solved by wrapping in PolygonIterator and
changing the interface such that PolygonIteratorDelegegate is no
longer useful.
2024-12-16 22:58:48 +01:00
Matthias Koefferlein dd5214dc6e Fixing issue #1942 (PythonStandalone Package stubs errors), adding defaults for Box#enlarge and Box#enlarged (bonus) 2024-12-02 22:01:51 +01:00
Matthias Koefferlein e35aa97191 Added 'read_bytes' without options and 'write_bytes'. Added tests for write_bytes and for Ruby. Doc fixed. 2024-11-30 18:46:25 +01:00
Matthias Köfferlein 41383e4642
Merge pull request #1920 from rocallahan/readbytes
Add a Layout.read_bytes() method that reads a layout from a byte array
2024-11-30 17:47:03 +01:00
Matthias Köfferlein ec21809cc3
Merge pull request #1916 from KLayout/maybe-pex-support
Some add-ons for potential application in the PEX context
2024-11-28 20:43:40 +01:00
Matthias Köfferlein 66d97bb5f1
Merge pull request #1928 from KLayout/feature/issue-1923
Feature/issue 1923
2024-11-28 20:43:01 +01:00
Matthias Köfferlein 1a5e8c9b36
Merge pull request #1927 from KLayout/bugfix/issue-1925
Fixed issue #1925 (MAGIC import fails)
2024-11-28 20:42:25 +01:00
Matthias Koefferlein ce4dc08969 Robustness of tests against different hash implementations, documentation update 2024-11-26 23:15:28 +01:00
Matthias Koefferlein 0ce7fb18a9 Added test for Point/DPoint 2024-11-17 22:09:52 +01:00
Matthias Koefferlein 85caa4b397 Fixed issue #1925 (MAGIC import fails) 2024-11-17 21:42:29 +01:00
Matthias Koefferlein 0f438cdbd2 On same name, creating a RDB category would return the original one. 2024-11-13 18:26:06 +01:00
Matthias Koefferlein fecb8a8c8a RDB tests for Python too 2024-11-13 18:22:55 +01:00
Robert O'Callahan db56b0293e Add a Layout.read_bytes() method that reads a layout from a byte array in Python or Ruby.
This is much more convenient and a bit more efficient than writing the bytes
to a temporary file and reading that back in. It's useful when we have received
a layout over the network or embedded in some file.

This makes a copy of the bytes but there doesn't seem to be any way to avoid that
currently.
2024-11-05 03:15:40 +00:00
Matthias Koefferlein dd0949867f Some convenience features: transformations in EdgeNeighborhood, added Matrix transformation support for edge pairs. 2024-11-01 17:34:46 +01:00
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