Commit Graph

274 Commits

Author SHA1 Message Date
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 Köfferlein 3ab442bfc0
Fixed issue #1594 (#1596)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:36:44 +01:00
Matthias Koefferlein d248bfddf3 Updating copyright to new year 2024-01-01 17:06:23 +01:00
Matthias Koefferlein 877646d959 Debugging sized operator for generic DRC, new tests 2023-11-18 13:40:50 +01:00
Matthias Koefferlein 10b1f984a3 Enabling DRC engine also without Qt 2023-11-11 18:41:56 +01:00
Matthias Köfferlein 041fb53d04
Merge pull request #1518 from KLayout/git-for-packages
Git for packages
2023-11-07 21:36:01 +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 b56220d36d [consider merging] Functional ut_runner binary also with -without-qt 2023-10-28 23:48:56 +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 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 e6c9872ea2 Bugfix: re-run of include-expanded DRC/LVS wasn't working
Reworked include-expansion scheme for DRC/LVS such that
include expansion is done by the interpreter, hence is
also available for re-running the script from the
marker/netlist browser.

This also affects the D25 implementation.
2023-08-25 22:49:54 +02:00
Matthias Koefferlein 304800e4c5 Maybe fixing issue-1465 2023-08-25 20:33:54 +02:00
Matthias Koefferlein 2eca865bd8 Added tests for last change 2023-08-02 23:56:51 +02:00
Matthias Koefferlein cfc84252ab DRC/LVS: Fixed a typo + allowing 'report' also for cases without default layout (only 'layout' specs) 2023-08-02 23:47:45 +02:00
Matthias Koefferlein bf95e51332 Resolve include-coded lines for DRC/LVS logs in verbose mode 2023-08-01 22:06:46 +02:00
Matthias Koefferlein 3736b59156 it's -> its 2023-07-30 14:46:58 +02:00
Matthias Koefferlein 6a8d18ed05 Doc update 2023-06-26 14:19:29 +02:00
Matthias Koefferlein 2d5c67f74f Allowing DRC decks with only layout inputs (no default input) 2023-06-01 20:28:17 +02:00
Matthias Koefferlein c3bda162cb DRC: Added 'write' method to output channels, enabling GC in profile mode to get a more realistic memory usage picture 2023-05-29 01:44:57 +02:00
Matthias Koefferlein c28fd425db DRC bugfix 2023-05-28 23:33:32 +02:00
Matthias Koefferlein 7f3950f582 Fixed DRC profile feature 2023-05-28 23:21:14 +02:00
Matthias Koefferlein 2e33cf1442 Added unit tests for new features 2023-05-28 23:14:07 +02:00
Matthias Koefferlein 78dbabcde1 DRC enhancements: bug fixes 2023-05-28 23:02:16 +02:00
Matthias Koefferlein 2882fa42ee DRC: support multiple outputs through 'new_report', 'new_target' 2023-05-28 21:37:47 +02:00
Matthias Koefferlein 2fdbd9f4ea WIP: profile feature 2023-05-28 00:49:12 +02:00
Matthias Koefferlein df9a5e4125 WIP: profile feature in DRC and LVS 2023-05-28 00:13:02 +02: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 500fa5b62d Avoid loooong error messages in DRC and LVS by bypassing the engine's inspect implementation which emits a lot of internal members 2023-01-25 20:42:30 +01:00
Matthias Koefferlein dea1ca6451 WIP: Doc updates, doc bug fixes 2023-01-21 21:37:40 +01:00
Matthias Koefferlein ed7ed4158c WIP: bug fix 2023-01-21 17:39:35 +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 38808fccf7 WIP: DRC properties constraints now need explicit generation of output properties. 2023-01-21 14:04:06 +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 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 a85dbd3d31 Updating copyright notice to 2023 2023-01-01 22:27:22 +01:00
Matthias Koefferlein 43089f31e4 Doc updates 2022-12-09 23:53:41 +01:00
Matthias Koefferlein 9607594020 Doc updates 2022-12-09 23:33:31 +01:00
Matthias Koefferlein 3e9d66ea6d Doc fixes 2022-12-09 23:21:09 +01:00
Matthias Koefferlein 88e960b7cf Regenerating doc. 2022-12-09 22:31:13 +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 d76eef10af GSI enabling of Edges#in_and_out, Region#in_and_out and corresponding DRC feature 2022-11-27 15:59:18 +01:00
Matthias Köfferlein 1f2e8b4012
Merge pull request #1193 from KLayout/issue-1189
Issue 1189 High memory footprint for DRC deck
2022-11-26 19:55:40 +01:00
Matthias Koefferlein 5057b0a626 Merge branch 'issue-1190' 2022-11-25 07:51:34 +01:00
Matthias Koefferlein 53d6e8d3cb DSS now keeps layouts (avoids excessive cell mapping), frequent GC in DRC tests for heavy GC load testing 2022-11-24 20:41:19 +01:00
Matthias Koefferlein e04875b4e0 Fixed a problem with object lifetime and tiling processor input found after GC became active. Added a documentation hint. 2022-11-23 01:03:36 +01:00
Matthias Koefferlein 7431ec6f43 Solved an ownership issue in DRC which popped up after universal DRC nodes got deleted. 2022-11-23 00:36:08 +01:00