Matthias Koefferlein
ffffe7327c
Preparing for merge with master
2024-03-09 01:10:34 +01:00
Matthias Koefferlein
28e96ee0c3
Added not_... versions of edge modes
2024-03-07 22:29:33 +01:00
Matthias Koefferlein
ab5f215417
DRC doc
2024-03-07 22:08:45 +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
f7411b52d2
Fixed a typo in DRC doc of 'corners'
2024-02-21 22:20:20 +01:00
Matthias Koefferlein
890b389102
Merge branch 'wip2'
2024-02-18 22:27:17 +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 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
1e1aa02251
[consider merging] bugfix issue #1616 - typo in DRC doc
2024-02-10 18:48:44 +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
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
Matthias Koefferlein
6e2310186b
Added tests
2022-11-21 23:33:28 +01:00
Matthias Koefferlein
30ab1a13ca
Added tests, documentation, doc bug fixes for angle-class edge selectors
2022-11-12 18:16:57 +01:00
Matthias Koefferlein
2341170065
First tests
2022-11-12 00:29:50 +01:00
Matthias Koefferlein
b02d3b24a8
WIP: first draft of angle-class selectors for edges and edge pairs for simplifying edge orientation checks
2022-11-11 23:46:45 +01:00
Matthias Koefferlein
f67b28c52a
Supporting LayerInfo objects in fill pattern generation, doc updates
2022-11-04 23:45:10 +01:00
Matthias Koefferlein
4a854bfa5e
[CONSIDER MERGING] Clarification and typo fixed in DRC doc.
2022-09-04 09:55:38 +02:00
Matthias Koefferlein
c720e2d3eb
New DRC features:
...
* inside, not_inside, outside, not_outside (edge/edge, edge/polygon)
* related select_*
* split_inside, split_outside (edge/edge, edge/polygon)
* andnot (edge/edge, edge/polygon)
* inside_outside_part (edge/polygon)
2022-08-31 23:38:23 +02:00
Matthias Koefferlein
81b605c197
DRC implementation + doc update
2022-08-31 22:39:05 +02:00
Matthias Koefferlein
526f1aeacc
[Consider merging] provide an option to produce antenna DRC debug output
2022-08-11 01:02:45 +02:00
Matthias Koefferlein
1d88e65689
[Consider merging] Fixed file content of test data - .oas is OASIS, .gds is GDSII
2022-08-10 21:48:00 +02:00
Matthias Koefferlein
75d686a63f
Changing default "is_merged" status for Edges and Region to false.
...
This was a problem with universal DRC which does not specifically
set the merged status. Furthermore, the default for DeepRegion and
DeepEdges was "false" already and now is aligned.
2022-07-04 00:52:55 +02:00
Matthias Koefferlein
1edaf2b6b4
WIP: working on further consolidation of non-Qt case
2022-05-28 22:49:40 +02:00
Matthias Koefferlein
8e21dab345
Reworked lym::MacroCollection for not using Qt (too much)
2022-05-28 21:21:58 +02:00
Matthias Koefferlein
ca3d840cb2
Alternative implementation for resources for the non-Qt case.
2022-05-28 00:33:08 +02:00
Matthias Koefferlein
b22c7091ae
Skip resources in non-Qt case
2022-05-27 20:26:47 +02:00
Matthias Köfferlein
f8bd4dafaf
Pdf documentation ( #1052 )
...
* Some doc fixes as preparation for PDF generation
* Some doc bug fixes and enhancements for PDF manual generation
* Fixed a number of invalid references found during PDF generation
* Enable PCellDeclarationHelper doc for help system
* Fixed doc text
* Fixed some doc issues with invalid links etc.
2022-04-03 20:51:29 +02:00
Matthias Köfferlein
e9c5782c51
Issue 1011 ( #1027 ) - DRC violation on texts in deep mode
...
* Fixed issue-1011 by using single-point polygons for texts in deep mode. Tests need fixing.
* Updated tests (text become a single point)
* Added test for issue-1011
2022-03-15 21:13:57 +01:00
Matthias Koefferlein
64406522fe
WIP: basic debugging, functionality.
2022-03-05 19:42:57 +01:00
Matthias Koefferlein
30f774f055
WIP: dynamic definition of macro categories (currently: drc, lvs)
2022-02-19 17:57:41 +01:00
Matthias Koefferlein
10456516db
Updated copyright to 2022, preparations for 0.27.6 (was delayed due to code signing certificate issues)
2022-01-04 21:20:04 +01:00
Matthias Koefferlein
029b7b9410
Fixed generic DRC checks with == operations - this was sometimes not capturing the relevant cases.
2021-12-26 21:23:58 +01:00
Matthias Koefferlein
4a44329e38
Enabling 'enclosed' as a (sometimes) more efficient way of implementing an enclosing check.
2021-11-08 23:18:01 +01:00
Matthias Koefferlein
2fd9401013
Fixed some doc problems
2021-11-07 23:30:15 +01:00
Matthias Koefferlein
29384bf3f3
Convenience: simple version of DRC layer.with_holes and layer.without_holes
2021-09-20 21:36:46 +02:00
Matthias Koefferlein
7a37a6b7ed
Implemented extent(cell_filter) for DRC, added Layout#cells with name filter
2021-07-21 18:31:51 +02:00
Matthias Koefferlein
4e54715d64
Merge branch 'wip-lvs'
2021-07-06 23:40:44 +02:00
Matthias Köfferlein
e78d0d81ae
Merge pull request #849 from KLayout/lvs-blackbox
...
Lvs blackbox
2021-07-06 23:38:21 +02:00
Matthias Koefferlein
e34fc8967a
Some enhancements
...
* Device#net_for_terminal with terminal name
* Spice writer now dumps all parameters for resistors and caps (also secondary)
* Enabled Spice writer delegate in LVS (spice_format(...))
* Device class factories for built-in device extractors
2021-07-05 22:22:13 +02:00
Matthias Koefferlein
ce61145f1c
More control over primary/secondary flag of parameters in device extraction
...
- Spice reader will set primary flag for all (known) parameters
read from a Spice netlist
- "extract_devices" will return the device class object
- primary/secondary flag can be set on device class objects
through "enable_devices"
2021-07-04 17:05:17 +02:00
Matthias Koefferlein
24afd571f0
LVS: can be used anywhere now: tolerance and join_symmetric_nets
2021-06-28 18:56:07 +02:00
Matthias Koefferlein
881e0010d5
Implemented with(out)_angle, with(out)_area on edge pairs (DRC, GSI). Deprecated 'with(out)_angle' on polygon layers (DRC) as this is now redundant with 'corners'
2021-06-27 14:18:04 +02:00
Matthias Koefferlein
b02a4a3bfa
Propsed solution for #824 : introduce a new internal purpose: LEFLabel which maps label for LEF pins
2021-06-08 22:16:35 +02:00
Matthias Koefferlein
5f6b3710b5
Doc fixed.
2021-06-01 20:59:25 +02:00
Matthias Koefferlein
ef01bbf81b
Restored merge behavior for DRC 'or' also in deep mode
2021-05-31 18:24:00 +02:00
Matthias Koefferlein
5ceeafc0ff
Implemented #808 (Feature suggestion: DRC to report edges attached to corners as edge pairs). Solution is available for DRC layers and universal DRC expressions.
2021-05-29 17:57:38 +02:00
Matthias Koefferlein
fd1e206c56
Provide a solution for #809 (density goes outside the area)
2021-05-29 10:16:30 +02:00
Matthias Koefferlein
e57d573a42
Tests, so bug fixes, some refactoring
2021-05-29 09:43:12 +02:00