Commit Graph

1596 Commits

Author SHA1 Message Date
Matthias Koefferlein 3e3dcb757e New golden test data 2025-05-17 18:55:51 +02:00
Matthias Koefferlein 135030649b Updating golden test data with new lvsdb files 2025-05-17 17:15:04 +02:00
Matthias Koefferlein 1c4077449b Fixed build issue 2025-05-16 18:55:55 +02:00
Matthias Koefferlein 6cd4b97cd3 Including internal net names in LVS DB
Problem: so far, these names have not been conveyed.
But after the net IDs changed in the LVS DB (renumbering),
the names should be retained. Otherwise it is difficult to
relate log level entries or Spice netlists to them.
2025-05-15 21:17:15 +02:00
Matthias Koefferlein 91005d5cb6 Tests for RBA+pex, bug fixes 2025-05-04 20:42:12 +02:00
Matthias Koefferlein 2bc8ac235a Fixed unit tests 2025-05-04 16:22:03 +02:00
Matthias Koefferlein 80ad38f81b WIP: debugging, tests. Triangulation should be safer now against linear chains of vertexes. 2025-05-04 14:36:34 +02:00
Matthias Koefferlein f83cd61843 WIP: debugging, tests. 2025-05-04 13:11:46 +02:00
Matthias Koefferlein 1932532416 Bug fixes, tests 2025-05-02 15:07:28 +02:00
Matthias Koefferlein 30ac61ea20 Added title support, tests, debugging 2025-05-02 14:25:34 +02:00
Matthias Koefferlein 226ba429f1 WIP: MALY reader, debugging, tests 2025-05-02 13:27:59 +02:00
Matthias Koefferlein cd468d4d67 WIP 2025-04-27 23:00:46 +02:00
Matthias Koefferlein 282f6e9d23 Merge branch 'master' into feature/maly 2025-04-27 20:57:09 +02:00
Matthias Koefferlein e76be5b071 WIP 2025-04-27 20:55:11 +02:00
Matthias Köfferlein e76e9b7d0b
Merge pull request #2017 from KLayout/bugfix/issue-2014
Fixed issue #2014 (strm2oas lef/def/gds collect drops cells reference…
2025-04-27 20:53:47 +02:00
Matthias Koefferlein ffa42653fe Addressing issue #2011
- "report" can now be late in DRC without internal error
  Yet, the report will only capture the output layers
  after the report statement has been called.
- Text objects don't create zero-area polygons in deep mode
  XOR now.
2025-04-26 22:04:50 +02:00
Matthias Koefferlein 8ece7bcce1 Activate pex module, GSI bindings 2025-04-22 22:37:23 +02:00
Matthias Koefferlein 8a122c8a7d WIP: bug fixes, one more test 2025-04-18 23:29:29 +02:00
Matthias Koefferlein 71620445ee Polygon#triangulate now returns a 'raw' region, same for SimplePolygon#triangulate. Working on hm_decomposition (tests, bug fixes etc.) 2025-04-18 15:13:29 +02:00
Matthias Koefferlein 16604e5a92 New module: 'pex' 2025-04-18 13:12:45 +02:00
Matthias Koefferlein 60d1fb0685 Porting HM decomposition to new PLC framework 2025-04-16 00:02:25 +02:00
Matthias Koefferlein e8d796aded Fixed unit tests 2025-04-08 19:38:56 +02:00
Matthias Koefferlein 8150e732af Hopefully fixing strm2xor finally, added a test 2025-04-08 19:14:01 +02:00
Matthias Köfferlein 449a9a968e
Merge pull request #2015 from KLayout/bugfix/issue-2012
Bugfix/issue 2012
2025-04-05 19:21:35 +02:00
Matthias Koefferlein 78e2074b4c Added a unit test 2025-04-03 21:15:49 +02:00
Matthias Koefferlein c656700b44 Maybe fixed issue-2012 (leaking reference in Python) 2025-04-03 20:44:34 +02:00
Matthias Koefferlein a38bea3086 Fixed a unit test 2025-03-29 19:35:26 +01:00
Matthias Koefferlein 40a0113ce5 Fixing Texts[], EdgePairs[] and Edges[] operators - both in terms of returning xWithProperties and objects with properties at all 2025-03-27 00:27:53 +01:00
Matthias Koefferlein 3aebf90ecd Texts[n] now also provides a TextWithProperties object. Bugfix: this method was not delivering any objects with properties at all. 2025-03-26 01:22:54 +01:00
Matthias Koefferlein a24d5388d7 Region[] now returns a PolygonWithProperties object or nil 2025-03-26 00:56:54 +01:00
Matthias Koefferlein 227203cdd1 Providing a less strict overload resolution
Downcast now has precedence over conversion constructors, hence less ambiguities
Solution is implemented for
- Ruby
- Python
- Expressions

For Expressions:
- The overload resolution is less evolved anyway
- There was an additional bug preventing to pass arrays (hashes) in expressions
2025-03-26 00:45:16 +01:00
Matthias Koefferlein a5625c6d86 New golden testdata for MSYS2 2025-03-23 18:14:44 +01:00
Matthias Koefferlein b493be2dfa New golden testdata for MSVC2017 2025-03-23 18:12:13 +01:00
Matthias Koefferlein a22f48d87a Texts#polygons now has an argument to specify a property key that receives the text string 2025-03-23 15:54:18 +01:00
Matthias Koefferlein f977973b85 RecursiveShapeIterator#property and RecursiveShapeIterator#properties 2025-03-23 15:23:19 +01:00
Matthias Koefferlein cf5e62a4ed Added RBA/pya tests for triangulation 2025-03-23 11:41:26 +01:00
Matthias Koefferlein 21bfe7a632 New golden testdata variants 2025-03-22 22:36:15 +01:00
Matthias Koefferlein 85bb9be5c0 Fixed Python tests for Python 2 backward compatibility 2025-03-22 21:55:44 +01:00
Matthias Koefferlein 2191febc38 Updating test data for better robustness 2025-03-22 20:41:24 +01:00
Matthias Koefferlein d60b296417 Improvement: Device#terminal_ref to get a NetTerminalRef from a Device. 2025-03-14 23:29:09 +01:00
Matthias Koefferlein da88973df9 A number of new methods and variants in LayoutToNetlist
The goal is to support texts as native objects in
LayoutToNetlist.
Primarily this means, that instead of using a Region
to identify a layer, it is encouraged to use a
layer index instead. Also, Region is not longer the
only way to represent a layer, Texts is available
too.

It is possible now to retrieve the texts of a net
using "texts_of_net".

Also, the "lmap" parameter of "build_nets" became
optional. If "nil", a layer map is created based
on the layer info attribute of the layers.
2025-03-09 23:07:46 +01:00
Matthias Koefferlein 903bd70223 Fixed merge issues 2025-03-06 22:24:05 +01:00
Matthias Koefferlein 87e7d8e493 Merge branch 'master' into devel 2025-03-06 19:35:32 +01:00
Matthias Koefferlein 605fa44ca6 Another refinement for DSS bug fix. 2025-03-05 10:26:45 +01:00
Matthias Koefferlein 7b4e8a3462 Refined solution for DSS remapping bug 2025-03-04 19:50:33 +01:00
Matthias Koefferlein 3893f3be56 Merge branch 'master' of github.com:KLayout/klayout 2025-03-03 18:36:05 +01:00
Matthias Köfferlein 8a01352549
Merge pull request #1992 from KLayout/feature/issue-1989
Feature/issue 1989
2025-03-03 18:35:46 +01:00
Matthias Koefferlein ac1c656bc0 Fixed unit tests 2025-03-03 18:34:43 +01:00
Matthias Koefferlein 32fe65adc0 [consider merging] Fixed a bug when returning a Region into a layout with cells unselected. 2025-03-02 19:06:48 +01:00
Matthias Koefferlein c6e7c47d6c Some bug fixes, updated tests 2025-03-02 18:30:31 +01:00
Matthias Koefferlein 79262028ff [consider merging] Fixed a bug when returning a Region into a layout with cells unselected. 2025-03-01 23:18:29 +01:00
Matthias Koefferlein 094fccce74 Made unit tests more robust 2025-02-16 15:07:37 +01:00
Matthias Koefferlein ae5ae25000 Properties filters for EdgePairs and Texts too. 2025-02-16 13:59:50 +01:00
Matthias Koefferlein 1fed2767e8 Property filter for edges too. 2025-02-16 13:35:49 +01:00
Matthias Koefferlein a219576296 WIP: Region, Edges, EdgePairs and Texts filters can filter by property now, first implementation of Region property filter. 2025-02-16 00:08:35 +01:00
Matthias Koefferlein e48c6f3660 Edges#each, Edges#each_merged, Region#each, Region#each_merged, Texts#each and EdgePairs#each now deliver objects with properties too. 2025-02-14 22:11:18 +01:00
Matthias Koefferlein aad90d0c16 Fixed a name clash in PolygonNeighborhood unit tests 2025-02-05 00:02:04 +01:00
Matthias Koefferlein c09184989f Avoiding call ambiguities when creating Edges, Region, EdgePairs and Texts from arrays of objects with properties. 2025-02-04 23:59:04 +01:00
Matthias Koefferlein 1f44a951f4 Polygon neighborhood compound operation 2025-02-03 20:47:31 +01:00
Matthias Koefferlein 1bd1bb06ce More support for objects with properties: RDB integration. 2025-02-02 17:00:31 +01:00
Matthias Koefferlein a282a5d665 Some more tests for properties inside Edges, Regions 2025-01-29 02:42:16 +01:00
Matthias Koefferlein 375ac6364b More support for properties inside Edges, Texts, EdgePairs. WIP 2025-01-29 01:59:00 +01:00
Matthias Koefferlein dfc7d6bef4 Enhancing Python/Ruby API for better support with properties 2025-01-29 00:59:28 +01:00
Matthias Koefferlein 33b54f3f88 Merge branch 'master' into devel 2025-01-19 22:04:55 +01:00
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