Commit Graph

4672 Commits

Author SHA1 Message Date
Matthias Koefferlein 4ed64fdfa1 GSI binding for tech specific grids 2024-02-16 15:19:32 +01:00
Matthias Koefferlein 1094fd2dd8 Merge branch 'master' into tech-specific-grids 2024-02-16 15:02:52 +01:00
Matthias Köfferlein 859a09bbeb First proposal for feature (#1626)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-15 13:34:26 +01:00
Matthias Köfferlein 0270c5dc19 Issue 1623 (#1624)
* Fixing issue #1623 (Package installation with '-y' from command line does not work for URL or file)

* Another bugfix: package installation with -y from file structure did not work as 'grain.xml' is not added to grain URL

---------

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 16:59:15 +01:00
Matthias Köfferlein b799391ec9
Issue 1623 (#1624)
* Fixing issue #1623 (Package installation with '-y' from command line does not work for URL or file)

* Another bugfix: package installation with -y from file structure did not work as 'grain.xml' is not added to grain URL

---------

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 16:58:09 +01:00
Matthias Koefferlein 1e7bd5b765 Updating Pythong stubs and doc. 2024-02-12 11:36:28 +01:00
Matthias Köfferlein 1eefbf35ad Maybe fixing issue #1619 (crash on Fedora-39 upon initialization) (#1622)
* Maybe fixing issue #1619 (crash on Fedora-39 upon initialization)

* Python 3.6 compatibility

---------

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 08:41:46 +01:00
Matthias Köfferlein 9a94b5f535 Maybe fixing issue #1602 (#1621)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 08:41:40 +01:00
Matthias Köfferlein 0c02976cdd 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:41:35 +01:00
Matthias Köfferlein cc7622b6b4
Maybe fixing issue #1619 (crash on Fedora-39 upon initialization) (#1622)
* Maybe fixing issue #1619 (crash on Fedora-39 upon initialization)

* Python 3.6 compatibility

---------

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 08:40:39 +01:00
Matthias Köfferlein a4ab59ba6f
Maybe fixing issue #1602 (#1621)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 08:40:23 +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 4a89304152 Merge branch 'master' into wip2 2024-02-11 14:23:47 +01:00
Matthias Koefferlein 2ba48998fd Ported a test framework fix from master branch 2024-02-11 13:58:40 +01:00
Matthias Koefferlein da3e7ab4f7 [consider merging] Removed some debug nonsense 2024-02-11 13:05:57 +01:00
Matthias Koefferlein db7b8d19a8 [consider merging] Removed some debug nonsense 2024-02-11 13:05:37 +01:00
Matthias Köfferlein 26cb2be83e 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:39:28 +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 4dc5981288 Fixed issue #1592 (DXF reader issue) (#1595)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:38:02 +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 386b5677f2 Fixed issue #1594 (#1596)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:36:56 +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 bae0870015 Fixed issue #1603 (weird layout of parameters) (#1612)
Also fixed a problem with icons that did not get hidden when visibility was changed.
This fix needed some rework of the layout scheme of PCell parameter pages.

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:36:01 +01:00
Matthias Köfferlein 8d4da8b374
Fixed issue #1603 (weird layout of parameters) (#1612)
Also fixed a problem with icons that did not get hidden when visibility was changed.
This fix needed some rework of the layout scheme of PCell parameter pages.

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:35:36 +01:00
Matthias Köfferlein 51bad461a1 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: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 5712c8a85c 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:33:27 +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 3d9b665263 [consider merging] bugfix issue #1616 - typo in DRC doc 2024-02-11 10:29:22 +01:00
Matthias Koefferlein 5d74a5e8c6 [consider merging] OASIS Reader: error on duplicate CELLNAMEs 2024-02-11 10:29:18 +01:00
Matthias Koefferlein 58032a5d5a [consider merging] cross-hair cursor should not use selection default line width and styles (halo etc.) 2024-02-11 10:29:15 +01:00
Matthias Koefferlein a0dd7db96e [consider merging] Fixed rendering of color selector buttons on high-DPI screens 2024-02-11 10:29:12 +01:00
Matthias Köfferlein 787d9b481a Fixed issue #1610: leaking reference in Python debugger (#1618)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:29:05 +01:00
Matthias Köfferlein 2be4066856
Fixed issue #1610: leaking reference in Python debugger (#1618)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:27:53 +01:00
Matthias Koefferlein 1e1aa02251 [consider merging] bugfix issue #1616 - typo in DRC doc 2024-02-10 18:48:44 +01:00
Matthias Koefferlein babf799016 [consider merging] OASIS Reader: error on duplicate CELLNAMEs 2024-02-10 18:45:56 +01:00
Matthias Koefferlein aef8161c82 [consider merging] cross-hair cursor should not use selection default line width and styles (halo etc.) 2024-02-05 21:22:47 +01:00
Antony Lee 65e41aa270 Fix tabbing order in "Editor Options / Instance / Array Instance" UI.
Currently, in the Array Instance sub-UI that appears when inserting a new
array instance, trying to use the "tab" key to move through the entry
widgets results in going through them in a strange order (column step x,
column step y, row step y, row step x, dimension columns, dimension
rows).  This patch declares the correct tabbing order for the widgets.
2024-02-04 15:58:37 +01:00
Matthias Koefferlein dd9d2bfddd First proposal for feature 2024-02-03 22:42:21 +01:00
Matthias Koefferlein 1e51cf6901 Fixing Windows installation without path initialization file 2024-01-30 20:26:22 +01:00
Matthias Koefferlein 7a91a4fd42 [consider merging] Fixed rendering of color selector buttons on high-DPI screens 2024-01-30 00:11:30 +01:00
Matthias Koefferlein c4fee2cbc4 Fixed a linker issue 2024-01-28 23:51:37 +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 1dbb3917c8 Edge-measure rulers too. 2024-01-28 19:02:51 +01:00
Matthias Koefferlein 9184bef6f8 Transient mode for auto-measure ruler 2024-01-28 18:25:02 +01:00
Matthias Koefferlein c1394eadef Disabled assignment and copy for operators and filter objects 2024-01-28 16:14:53 +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 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 2dca4158f2 Some refactoring. 2024-01-26 10:30:03 +01:00
Matthias Koefferlein 0b77ef996b Removed unneccessary code 2024-01-25 23:27:39 +01:00
Matthias Koefferlein b34f539fe1 Generic filter for polygons 2024-01-25 23:10:12 +01:00
Matthias Koefferlein 4b7c117cfd Trying to fix one more unit test 2024-01-25 20:20:31 +01:00
Matthias Koefferlein 4f9effab7e Trying to fix Python 3.6 builds + tests 2024-01-25 13:35:23 +01:00
Matthias Koefferlein 01deb480bf Merge remote-tracking branch 'mine/fix-win-python' 2024-01-24 00:33:34 +01:00
klayoutmatthias ef4cbb045b On Windows, Python needs to have a proper PYTHONHOME, otherwise a warning is issued 2024-01-24 00:30:15 +01:00
Matthias Koefferlein 6ad1f3f73f Fixed a numerical issue leading to an infinite loop on some compilers 2024-01-23 16:31:46 +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 f26fac58fd Implementation of fix for issue #1586
- the "to_dtrans" now behaves as expected
- the conversion constructors have been generalized by adding a 'dbu' argument
- the conversion constructors now are favoured instead of the to_xxx functions
- some of the to_xxx functions are ill-named and are deprecated
2024-01-05 23:24:50 +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 ec7cf786d4 Initial tip dialogs should now appear on same screen than application 2024-01-04 17:02:18 +01:00
Matthias Koefferlein d9f41c1585 Now fixing unit tests for 32bit coordinates :( 2024-01-04 16:43:27 +01:00
Matthias Koefferlein 5e096bd433 Fixing unit tests for 64 bit coordinates 2024-01-04 00:33:21 +01:00
Matthias Koefferlein 38de2d685f Fixed 64bit coordinate mode: numerical stability for DRC and LVS enabling. Main problem is representation of the 'world' box which does not transform properly when going through double. 2024-01-03 01:57:27 +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 7d74c265e5 Fixing issue #1539 (Misleading description in 'Flatten Cell') 2024-01-01 17:01:50 +01:00
Matthias Koefferlein c09f84919a Skip one test if no private test data 2023-12-29 23:21:08 +01:00
Matthias Koefferlein 36f531685c Fixed a test fail when private test data is not available 2023-12-29 23:18:07 +01:00
Matthias Koefferlein f335ab69af More compatibility with Ruby <2.7 2023-12-29 23:00:06 +01:00
Matthias Koefferlein b37002cf7f Compatibility with Ruby 2.0 2023-12-28 23:39:07 +01:00
Matthias Koefferlein 0b64241e13 Generalizing implementation for more Ruby versions. 2023-12-28 22:42:49 +01:00
Matthias Koefferlein 775c331bae Fixing an unit test 2023-12-28 22:33:47 +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 11fbad0104 eliminating some unnamed arguments 2023-12-28 21:35:14 +01:00
Matthias Koefferlein 61d99f9920 Keyword arguments: Doc updates 2023-12-28 20:44:34 +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 f685fe3adf WIP: keyword arguments for expressions 2023-12-28 01:03:21 +01:00
Matthias Koefferlein 4a4db5ea6e [consider merging] Avoids a segfault
This happens when an expression returns a class
object and that is converted to a string.
2023-12-28 00:55:14 +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 b128ffc70b Avoid macro IDE events during update of the recent properties list (that is a problem when script errors are present) 2023-12-23 21:44:06 +01:00
Matthias Koefferlein 2db378b872 Fixed a merge issue 2023-12-23 18:28:56 +01:00
Matthias Koefferlein 92d04d2e15 Fixed some merge issues 2023-12-23 18:25:17 +01:00
Matthias Koefferlein d1695b88af Merge branch 'wip' 2023-12-23 18:05:54 +01:00
Matthias Köfferlein 2c59d4190f
Merge pull request #1570 from KLayout/issue-1569
Implemented solution for issue #1569
2023-12-16 20:29:16 +01:00
Matthias Koefferlein b39f28fcad Removed a duplicate line 2023-12-14 23:16:16 +01:00
Matthias Koefferlein 2a5b019730 Bonus track: 'visibility follows selection' 2023-12-14 23:11:16 +01:00
Matthias Köfferlein 0c0f52ae28
Merge pull request #1568 from KLayout/issue-1565
Issue 1565
2023-12-14 22:17:23 +01:00
Matthias Koefferlein 7bdb1c6cd1 Implemented solution for issue #1569 2023-12-12 23:16:32 +01:00
Matthias Koefferlein 46d868ef95 Fixed issue #1566 (Cannot shrink Marker Browser window) 2023-12-12 00:02:41 +01:00
Matthias Koefferlein 9525cfd1cd Fixed #1565 (quit() raises an error in KLayout Python Console) 2023-12-11 23:55:57 +01:00
Matthias Koefferlein 16766a21f9 Updating python stubs 2023-12-08 22:07:22 +01:00
Matthias Köfferlein f757a0a944
Merge pull request #1564 from KLayout/issue-1563
Issue 1563
2023-12-08 17:44:29 +01:00