Commit Graph

1596 Commits

Author SHA1 Message Date
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
Matthias Koefferlein 0a67aa361c Triangles: Added a more complex test case for triangulation and providing a min_length parameter for stopping infinite recursion 2023-08-19 15:25:21 +02:00
Matthias Koefferlein 254015617d Merge branch 'wip' into wip2 2023-08-11 19:17:01 +02:00
Matthias Köfferlein a29bef496a
Merge pull request #1456 from KLayout/issue-1433
Fixed #1433 (def syntax error not captured)
2023-08-08 07:19:06 +02:00
Matthias Köfferlein ce4178aa73
Merge pull request #1451 from KLayout/issue-1307-partial
Fixed part of issue #1307: using pin names for the pin labels in DEF …
2023-08-06 22:16:13 +02:00
Matthias Köfferlein 112d0843a7
Merge pull request #1443 from KLayout/issue-1441
Fixed issue #1441 (RDB support for text attributes like size, font, h…
2023-08-06 22:15:45 +02:00
Matthias Koefferlein 7daa54e347 Update of LEF/DEF testdata (changed because of different labels and properties) 2023-08-06 19:16:58 +02:00
Matthias Koefferlein 4701f3884e Fixed a DXF reader issue: should not generate degenerated paths for SPLINE entities 2023-08-05 21:40:27 +02:00
Matthias Koefferlein d958d71e2e Fixed unit tests and MSVC build 2023-08-05 21:02:26 +02:00
Matthias Koefferlein 5b7e336b33 Added test for LEF/DEF map file NAME substitute 2023-08-05 01:02:37 +02:00
Matthias Koefferlein 44901f8885 Fixed part of issue #1307: using pin names for the pin labels in DEF importer, generating pin names on pin name property + generating net names on net name property for pin shapes. 2023-08-03 23:03:39 +02:00
Matthias Koefferlein 2eca865bd8 Added tests for last change 2023-08-02 23:56:51 +02:00
Matthias Köfferlein ae3c8c27f6
Merge pull request #1435 from KLayout/issue-1432
Issue 1432
2023-08-01 20:43:31 +02:00
Matthias Köfferlein 12169cb11d
Merge pull request #1436 from KLayout/new-image-constructor
Added Image constructor from PixelBuffer and QImage
2023-08-01 20:43:01 +02:00
Matthias Köfferlein 9f5b8faf60
Merge pull request #1429 from KLayout/issue-1428
Fixed #1428 (allow XML include files in macros)
2023-07-30 12:52:55 +02:00
Matthias Koefferlein 42baaef031 Fixed #1433 (def syntax error not captured) 2023-07-30 11:40:24 +02:00
Matthias Koefferlein aa4eeebfbb Added Image constructor from PixelBuffer and QImage 2023-07-29 10:34:59 +02:00
Matthias Koefferlein 3b9f3eae20 Fixed issue #1432 (strm2oas def ignores path segment) 2023-07-29 02:45:17 +02:00
Matthias Koefferlein 12524b25b1 Added missing file 2023-07-27 20:54:04 +02:00
Matthias Koefferlein 83eac6985e Added missing file 2023-07-25 21:35:03 +02:00
Matthias Koefferlein 0f47a9e54d Refined solution for #1425 (exact match has priority in find_layers), doc updates 2023-07-23 18:19:21 +02:00
Matthias Koefferlein 393aacbcff Fixed issue #1425: enhancement - allow searching for layers in layouts by name even if they have layer/datatype 2023-07-23 10:05:20 +02:00
Matthias Koefferlein b8dc34fc94 Fixed qtbinding tests 2023-07-16 00:05:45 +02:00
Matthias Koefferlein e965f87f58 Merge branch 'master' into wip 2023-07-15 22:48:53 +02:00
Matthias Koefferlein 35e42a8117 Fixed issue-1422 (DXF file parsing error)
Problem were two spline interpolation issues:
1. wrong stop criterion for recursion
2. wrong implementation of single-point interpolation
2023-07-15 16:05:40 +02:00
Matthias Koefferlein 01f2868e5d Fixed issue #1407 (clip does not support polygons with holes) 2023-07-02 22:14:13 +02:00
Matthias Koefferlein 41c5d3f4ff Issue-1397: possible solution 2023-06-13 00:44:42 +02:00
Matthias Koefferlein 6735f6c5d6 New test case 2023-06-08 19:06:12 +02:00
Matthias Koefferlein 078258bf09 New branch for XOR performance improvement in deep mode 2023-06-06 23:35:40 +02:00
Matthias Koefferlein f11500996f New methods: Layout#copy_layer, Layout#move_layer and Layout#clear_layer with shape selector, Shapes#clear with shape selector 2023-05-31 22:49:02 +02:00
Matthias Koefferlein 987bb005da Fixed issue #1393 (GDS2 text format not supported in python module) 2023-05-31 20:32:34 +02:00
Matthias Koefferlein 2e33cf1442 Added unit tests for new features 2023-05-28 23:14:07 +02:00
Matthias Koefferlein 21a263439f Added tests for PR #1388 2023-05-25 23:21:59 +02:00
Matthias Köfferlein 236a79dcb1
Merge pull request #1377 from KLayout/issue-1366
Issue 1366
2023-05-22 23:06:53 +02:00
Matthias Koefferlein 261584243d Fixed unit tests 2023-05-21 20:51:50 +02:00
Matthias Koefferlein 0400261641 Added testcase for issue-1366 2023-05-20 23:26:20 +02:00
Matthias Koefferlein 331bb5aed4 Fixing a performance issue on hole insertion for polygons with many holes 2023-05-20 23:09:57 +02:00
tcal-x 84db1a44b8 "file.exists?" was deprecated with Ruby 2.2. Use "file.exist?" instead.
https://stackoverflow.com/questions/14301088/difference-between-fileexist-and-fileexists

Signed-off-by: tcal-x <tcal@google.com>
2023-05-19 14:47:59 -07:00
Matthias Köfferlein fe0a3dd20e
Merge pull request #1369 from KLayout/issue-1357
Implemented fix for issue #1357 (RBA/pya binding for QObject#findChil…
2023-05-14 00:01:16 +02:00
Matthias Köfferlein 570d1a36f6
Merge pull request #1368 from KLayout/issue-1345
Fixed issue-1345 (feature request: create a def single/mulitpart path…
2023-05-14 00:00:59 +02:00
Matthias Koefferlein 77ce1d4825 Another fix for Qt4 2023-05-13 21:11:41 +02:00
Matthias Koefferlein 6c7064fa23 Implemented fix for issue #1357 (RBA/pya binding for QObject#findChildren) 2023-05-13 01:37:41 +02:00
Matthias Köfferlein 641d2404d2
Merge pull request #1358 from KLayout/wip2
Wip2
2023-05-12 23:31:26 +02:00
Matthias Koefferlein 0027bba8c6 Fixed LayoutView test after text selection is no longer confined to text origin points 2023-05-11 23:41:21 +02:00
Matthias Koefferlein 3bc14e1e79 Fixed issue-1345 (feature request: create a def single/mulitpart path import option)
The option is called "--lefdef-joined-paths" for strm* buddy tools
and "joined_paths" for pya/RBA.

Wires with multiple segments are combined into long paths when
possible - this fails on anisotropic widths and 45 degree segments.
2023-04-30 14:47:52 +02:00
Matthias Koefferlein ffd47e1341 Fixed issue-1353 (problem with recursive instance iterator) 2023-04-29 23:28:20 +02:00
Matthias Koefferlein d9e0d107b1 Bug fixes, RBA tests for meta info 2023-04-21 23:33:42 +02:00
Matthias Köfferlein d560027790
Merge pull request #1334 from KLayout/issue-1327
Issue #1327 fixed (segfault in pymod finalization code)
2023-04-13 22:55:02 +02:00
Matthias Köfferlein 69097bbf04
Merge pull request #1332 from KLayout/issue-1322
Issue #1322 (Net tracer tech component manipulation methods)
2023-04-13 22:54:29 +02:00
Matthias Köfferlein fc014efe80
Merge pull request #1331 from KLayout/issue-1321
Implemented tilde expansion, internal stream path names are now absol…
2023-04-13 22:54:12 +02:00
Matthias Koefferlein 015263fb0e Trying to fix unit test fails 2023-04-07 17:34:23 +02:00
Matthias Koefferlein 63a4fe8d77 Issue #1327 fixed (segfault in pymod finalization code) 2023-04-07 10:59:30 +02:00
Matthias Koefferlein 30d2992f56 Issue #1322 (Net tracer tech component manipulation methods) 2023-04-07 10:20:17 +02:00
Matthias Koefferlein 19fbc5c144 Implemented tilde expansion, internal stream path names are now absolute, fixed tests 2023-04-07 00:19:10 +02:00
Matthias Koefferlein acd9d6b8c5 Backward compatibility to Qt 5.12.8 and 5.12.11, fixed some test fails for Qt4 2023-03-26 22:47:56 +02:00
Matthias Koefferlein 7d41078e8c Avoid a segfault: an event may kill the event object itself indirectly. 2023-03-26 21:29:06 +02:00
Matthias Koefferlein fa61f96194 GSI: enabling enums as hash keys and int(enum) in Python 2023-03-26 17:52:33 +02:00
Matthias Koefferlein 1ac8ad0739 Testdata added 2023-03-26 14:21:51 +02:00
Matthias Koefferlein 79ad6b3fae Qt binding: Removing ambiguitiy between QLatin1String and const char * 2023-03-26 00:56:01 +01:00
Matthias Koefferlein 494d52b40f Make Ruby LayoutView test robust against display properties of the virtual layout view 2023-03-26 00:18:24 +01:00
Matthias Koefferlein 31aa45dce4 Qt5 binding enhancements
- Based on Qt 5.12.12 now (tested to build on 5.15)
- QImage constructor with binary data
- More classes, specifically QLibraryInfo for Qt version
- QLayout and derivatives take ownership over widgets added
2023-03-25 22:54:54 +01:00
Matthias Koefferlein fd0c60761f Merge branch 'master' into wip 2023-03-24 15:56:48 +01:00
Matthias Koefferlein 02e9f605d9 Implemented .lib for Spice reader - issue #1320 2023-03-24 14:31:49 +01:00
Matthias Koefferlein a39441cdbd Some alignment of Spice reader details with ngspice (not all possible ways of specifying R, L or C elements are supported currently) 2023-03-24 13:29:14 +01:00
Matthias Koefferlein db8f9d5bcb Spice reader enhancements
Basic goal is to align ngspice and KLayout Spice
format comprehension. ".options scale" was implemented
together with a number of other patches.
Consistency has been confirmed with respect to these
features and formula evaluation.
2023-03-12 15:36:50 +01:00
Matthias Koefferlein 6955d7d0c7 Better handling of inputs in deep mode after manipulating the hierarchy of the input layout 2023-03-12 00:26:18 +01:00
Matthias Koefferlein 18ae970671 Fixed Qt bindings in pya module 2023-03-11 01:03:50 +01:00
Matthias Koefferlein 068849a634 Refactoring, primary goal is to centralize the definition of PCellDeclarationHelper in Python 2023-03-10 23:22:30 +01:00
Matthias Koefferlein 9cfc284b8c Synonyms: connect/disconnect for events to get closer to PyQt5 2023-03-06 23:04:55 +01:00
Matthias Koefferlein be0d155848 Fixed issue #1309
Fixed polygon rasterizer.
Reason was the clip edge function that delivered
vertical edges from skew ones due to rounding.
These must not be skipped when exactly on a pixel
boundary as true vertical edges are.
2023-03-04 22:20:06 +01:00
Matthias Köfferlein 2facc75807
Merge pull request #1305 from KLayout/issue-1304
Fixed issue #1304 (terminal order for MOS devices)
2023-03-04 19:32:46 +01:00
Matthias Köfferlein addb7148f6
Merge pull request #1301 from KLayout/wip
Wip
2023-03-04 19:32:06 +01:00
Matthias Koefferlein 983ab9800a Fixed tests 2023-03-03 23:38:25 +01:00
Matthias Koefferlein c94079ddec Fixed pya pymod tests 2023-03-03 22:55:52 +01:00
Matthias Koefferlein 1b13d8b591 Merge branch 'master' into issue-1271 2023-03-03 18:42:53 +01:00
Matthias Koefferlein b78b9e0681 Disabling a test to make Azure pipeline run (next attempt) 2023-03-02 12:36:13 +01:00
Matthias Koefferlein b5627b458c Disabling a test to make Azure pipeline run 2023-03-02 10:08:15 +01:00
Matthias Koefferlein 418d37ca63 Fixing test pya_import tests to execute sequentially - maybe that fixes the Azure build fails with deadlocking unit test runners 2023-03-01 23:45:56 +01:00
Matthias Koefferlein 28883ee383 Updated golden test data 2023-02-28 00:22:34 +01:00
Matthias Koefferlein 4d2168a1ff New test data variants 2023-02-27 23:41:23 +01:00
Matthias Koefferlein a4c9be5536 Updated test data 2023-02-27 22:34:45 +01:00
Matthias Koefferlein 4a37033ba1 New test data 2023-02-27 22:05:20 +01:00
Matthias Koefferlein 1ce221794b More test data updates 2023-02-27 01:08:37 +01:00
Matthias Koefferlein ebcf242a9e Merge branch 'more-spice' into issue-1304 2023-02-27 00:21:20 +01:00
Matthias Koefferlein 69d975c736 Update to test data 2023-02-27 00:19:14 +01:00
Matthias Koefferlein 3ac1385d87 Another testcase for Spice reader with parametric subcircuits, .param statements, bug fixes 2023-02-26 21:31:34 +01:00
Matthias Koefferlein d20e4b2128 Bug fixes, adjusted test data 2023-02-22 15:54:28 +01:00
Matthias Koefferlein be5e16c125 WIP: bug fixing, new test cases 2023-02-22 13:11:30 +01:00
Matthias Koefferlein 432b542f3c Merge branch 'master' into wip 2023-02-19 20:30:49 +01:00
Matthias Köfferlein a04f2940ac
Merge pull request #1298 from KLayout/lefdef-wip
Lefdef wip
2023-02-19 20:29:03 +01:00
Matthias Koefferlein 817bb396f6 PNG support for PixelBuffer taken from Qt also if Qt bindings are off 2023-02-19 20:25:21 +01:00
Matthias Koefferlein 86d2c41f0b Merge remote-tracking branch 'origin' into issue-1249 2023-02-18 09:49:19 +01:00
Matthias Koefferlein 0a15425745 Make pixelBuffer test work (hopefully) 2023-02-18 09:49:03 +01:00
Matthias Koefferlein 4e3c106b27 Merge branch 'master' into issue-1249 2023-02-18 09:44:48 +01:00
Matthias Koefferlein 1e718c3d86 Rectified previous patch 2023-02-18 00:50:18 +01:00
Matthias Koefferlein 3e42106ddf Provide a true compare for pixel buffer test (otherwise, only the object references are compared) 2023-02-18 00:08:29 +01:00
Matthias Koefferlein f6edc9c802 Implemented solution for issue #1249 (persist layer properties in session) 2023-02-17 23:41:36 +01:00
Matthias Koefferlein 68db8fc867 Added missing files 2023-02-17 21:42:59 +01:00
Matthias Koefferlein 66a6832594 Some enhancements to DEF reader based on the 'complete' example. VIAs in FILL und PIN, a variety of syntax fixes. 2023-02-15 22:11:12 +01:00
Thomas Ferreira de Lima 3c9507ab63 added test for issue 1265 (writing and reading pngs) 2023-02-15 11:01:47 -05:00
Matthias Koefferlein 0e60c90514 Bugfix LVS: same_nets with two arguments was not working as described 2023-02-02 00:30:00 +01:00
Matthias Koefferlein 115b89c711 Merge branch 'issue-1259' 2023-01-29 17:18:25 +01:00
Matthias Koefferlein 99825e2e24 Another golden testdata reference 2023-01-27 19:30:19 +01:00
Matthias Koefferlein df442136c9 Added another golden data variant 2023-01-26 21:55:09 +01:00
Matthias Koefferlein cfd21d98bf Merge branch 'issue-1259' 2023-01-26 12:52:23 +01:00
Matthias Koefferlein 7600eac8a0 Fixed issue-1259 2023-01-24 21:14:36 +01:00
Matthias Koefferlein 6da5903639 More robustness in unit tests 2023-01-22 17:58:09 +01:00
Matthias Koefferlein 69a2ac107b One bug fix, made tests more robust and compatible with MSVC 2023-01-22 16:17:13 +01:00
Matthias Koefferlein f924109bcd WIP: implemented some TODOs 2023-01-21 16:35:01 +01:00
Matthias Koefferlein df1efa802b WIP: some bug fixes, unit tests updated 2023-01-21 15:55:05 +01:00
Matthias Koefferlein 1a9edbf6a9 WIP: refactoring - allow properties constraints modes which do not copy properties. In DRC that is default. 2023-01-21 15:13:39 +01:00
Matthias Koefferlein 045585b345 WIP: update golden test data 2023-01-21 14:08:26 +01:00
Matthias Koefferlein 38808fccf7 WIP: DRC properties constraints now need explicit generation of output properties. 2023-01-21 14:04:06 +01:00
Matthias Koefferlein 86cb1d0f8b WIP: updated golden test data 2023-01-21 10:13:18 +01:00
Matthias Koefferlein fe1d520d0c WIP: some bug fixes, tests for deep mode - some refinement needed. 2023-01-21 01:38:25 +01:00
Matthias Koefferlein 6c9d16c221 WIP: added golden test data 2023-01-20 23:45:26 +01:00
Matthias Koefferlein 1a71b01859 WIP: refactoring, added more properties support, bug fixing, added a test for the new DRC features 2023-01-20 23:44:51 +01:00
Matthias Koefferlein 9f27aa9f51 WIP: refactoring, more property support, DRC integration, bug fixes ... 2023-01-20 19:08:21 +01:00
Matthias Koefferlein 7ba3133afc WIP: using net name/circuit name instead of net ID for property value as this is more stable for better regression testing.
Bug fix: re-enabling of trace all nets tests, establishing dummy
names for layers in all cases - otherwise layers do not have a
reference for LayoutToNetlist persistence.
2023-01-20 01:16:30 +01:00
Matthias Koefferlein f329f91300 WIP: bug fixing, test for GSI binding of checks with property constraints 2023-01-19 23:27:31 +01:00
Matthias Koefferlein 4cd6c5e03b WIP: unit tests for GSI boolean with properties binding 2023-01-19 22:50:07 +01:00
Matthias Koefferlein 220c1b714a WIP: support for 'flatten' with properties 2023-01-19 22:20:07 +01:00
Matthias Koefferlein 83aaca4485 WIP: unit tests for GSI binding of Region#net 2023-01-19 22:11:40 +01:00
Matthias Koefferlein 984c001f56 WIP: debugging and unit test for net-aware booleans 2023-01-19 21:15:41 +01:00
Matthias Koefferlein 4edf4ab1f7 WIP: Added support for size with properties 2023-01-18 16:22:36 +01:00
Matthias Koefferlein 71d2d9ef3f WIP: tests for complex DRC ops with properties 2023-01-18 15:46:09 +01:00
Matthias Koefferlein 9f6f0e2d43 [BUGFIX] WIP: property support for DRC functions, bugfix: DRC check against raw (non-merged semantics) second input did not work 2023-01-18 12:34:47 +01:00
Matthias Koefferlein 40267dddb6 WIP: polygons to edges with properties 2023-01-17 19:07:32 +01:00
Matthias Koefferlein 5ff187a56d WIP: fixed unit tests 2023-01-17 12:37:12 +01:00
Matthias Koefferlein dfac3b1b44 WIP: Implemented property support for two-boolean 2023-01-17 11:24:08 +01:00
Matthias Koefferlein 72bb6d4a26 WIP: bug fix for deep region merge property computation - was missing on root connector clusters 2023-01-17 10:21:28 +01:00
Matthias Koefferlein 35fb4ce3db Updated testdata 2023-01-16 16:58:41 +01:00
Matthias Koefferlein 3b4a460581 WIP: Further test updates 2023-01-16 02:29:03 +01:00
Matthias Koefferlein 48b55f142a WIP: flat region tests, partially working 2023-01-16 02:06:21 +01:00
Matthias Koefferlein db870614ab [CONSIDER MERGING] grid check markers are not exactly aligned with vertexes in deep mode 2023-01-16 01:35:08 +01:00
Matthias Koefferlein 765c22e55b WIP: added missing files 2023-01-16 01:01:57 +01:00
Matthias Koefferlein 9f632f29d3 WIP: updated test data 2023-01-14 23:46:48 +01:00
Matthias Koefferlein d79dfec255 Fixed unit tests in non-Qt case 2023-01-12 18:48:43 +01:00
Matthias Koefferlein 500fee3ff6 Fixed issue #1245 by using a smarter implementation for the backward compatibility fallback. Added unit tests and new (old) GSI bindings for that purpose. 2023-01-11 23:31:09 +01:00
Matthias Koefferlein 5952974095 Merge branch 'master' of github.com:KLayout/klayout 2023-01-11 21:26:40 +01:00
Matthias Koefferlein ef6f3f182a Fixed issue #1242 (KLayout 0.28.2 crashes when registering a plugin if a layout exists)
Problem was twofold: first, events are triggered during
construction of the plugin which met an uninitialized
pointer. Second, the clearing of existing plugins failed
because of iterating a vector while destroying it's members
erased member of it.
2023-01-04 21:17:12 +01:00
Matthias Koefferlein 8677b38d69 Merge branch 'master' into wip 2023-01-01 22:28:14 +01:00
Matthias Koefferlein a85dbd3d31 Updating copyright notice to 2023 2023-01-01 22:27:22 +01:00
Matthias Koefferlein ca32b34dff Restored ability to build on Python 2 2022-12-28 23:50:38 +01:00
Matthias Koefferlein 048f7a0bff Fixed unit tests 2022-12-09 19:04:01 +01:00
Matthias Koefferlein a5a3fff1f0 Fixed #1214 (LEF VIA parsing issue) 2022-12-08 22:36:14 +01:00
Matthias Koefferlein 62e76e428b Updated DRC testdata after move supports hierarchy 2022-12-08 20:58:28 +01:00
Matthias Koefferlein 96a66564f9 Fixed test data 2022-12-08 20:51:53 +01:00
Matthias Koefferlein 2c94179589 Fixed #1216 (issue with moved - internal error)
This issue is fixed. In addition the following problems were fixed/found:
* General issue with handling merged state in in-place transform (merge shadow region needs to be updated too)
* moved now is hierarchical (also for edges)
2022-12-08 20:27:42 +01:00
Matthias Koefferlein d81e0ba51e Merge branch 'points-as-db-objects' 2022-12-07 21:59:02 +01:00
Matthias Koefferlein 5a252f2b29 Updated golden test data for fast DRC 2022-12-07 21:58:24 +01:00