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 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
ea039bf4bb
Added missing files
2023-12-05 21:33:08 +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
5c5c11fd93
Added new test data variant
2023-11-11 10:19:29 +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
75e3c3131f
Fixed issue #1485 (Incorrectly set output cell name if using DRC::cell)
2023-10-01 18:32:36 +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
2eca865bd8
Added tests for last change
2023-08-02 23:56:51 +02:00
Matthias Koefferlein
2e33cf1442
Added unit tests for new features
2023-05-28 23:14:07 +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
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
69a2ac107b
One bug fix, made tests more robust and compatible with MSVC
2023-01-22 16:17:13 +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
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
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
5a252f2b29
Updated golden test data for fast DRC
2022-12-07 21:58:24 +01:00
Matthias Koefferlein
512662f3e4
Updated golden test data
2022-12-01 21:24:00 +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 Koefferlein
c83984b348
Golden data split for angle class check (drcSimpleTest_56)
...
Reason: the projection check of two 45 deg edges sometimes renders additional
results as there is a little projection from neighboring edges. These
rounding effects are different on different platforms.
2022-11-25 23:54:15 +01:00
Matthias Koefferlein
5057b0a626
Merge branch 'issue-1190'
2022-11-25 07:51:34 +01:00
Matthias Koefferlein
6e2310186b
Added tests
2022-11-21 23:33:28 +01:00
Matthias Koefferlein
d8f91733a7
Updated two DRC tests after performance enhancement
...
The performance enhancement targets towards not merging shapes
before width/space check. This means that with an overlapping
input, more DRC violation markers are created and markers appear in
different places in the hierarchy. However, the geometry stays the same.
2022-11-19 00:08:27 +01:00
Matthias Koefferlein
4467089f2a
More test data
2022-11-12 00:32:15 +01:00
Matthias Koefferlein
2341170065
First tests
2022-11-12 00:29:50 +01:00
Matthias Koefferlein
5b710fa3a4
More stable result of antenna debug output text placement
2022-11-06 19:02:35 +01:00
Matthias Koefferlein
c25223db36
Updated golden test data
2022-11-04 23:49:23 +01:00
Matthias Koefferlein
f67b28c52a
Supporting LayerInfo objects in fill pattern generation, doc updates
2022-11-04 23:45:10 +01:00
Matthias Koefferlein
d47cbeb231
[consider merging] Bugfix: generation of texts for antenna results
2022-11-02 23:07:55 +01:00
Matthias Koefferlein
d9b61fe679
Updated golden test data
2022-10-18 21:32:35 +02:00
Matthias Koefferlein
dbd8d7ad1c
Removed unused (and broken) files
2022-09-07 23:19:35 +02:00
Matthias Koefferlein
199198de87
Test data update
2022-09-01 00:06:26 +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
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 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
92f6f2fb67
New tests
2021-12-26 21:20:58 +01:00
Matthias Koefferlein
7ca01cdae9
Updated test data
2021-11-11 23:05:28 +01:00
Matthias Koefferlein
ac1167278e
Updated tests with 'enclosed' rule
2021-11-09 00:32:23 +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
2b447854f9
Enhanced matching of blackbox/pin ambiguities
...
Previously: matching of blackbox pins was enforced
by using pin names for passive nets in the compare.
Problem: no match was achieved when pins are not
named or not named consistently.
In this case, it's desirable to treat them as
ambiguous.
The new solution is to let the ambiguity resolver handle
that using an extended definition of the net names:
it will take the pin name into account if an unnamed net
is attached to a pin.
In addition, net ambiguities are projected to pin
equivalence now. This also will propagate symmetry
through nested blocks (dbNetlistCompareTests:20_BusLikeConnections).
2021-07-08 23:54:20 +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
c24c0933bf
Bugfix: blackbox mode/abstract pins
...
Abstract pins are created when pins are not attached to any or only to passive nets
(passive nets are those without device terminals or subcircuit pins).
1. Such pins were treated swappable. Now named pins will not be treated
swappable but are mapped by name. This enables blackbox models where
the pins are labelled and must correspond to schematic pins.
2. A bug was present which lead to incorrect handling of abstract
nets in net compare.
2021-06-27 22:56:28 +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
15c97123b5
Changed test data to OASIS for better compression
2021-06-07 23:03:26 +02:00
Matthias Koefferlein
bfc534fa45
Fixed #826 - added test
2021-06-07 23:01:05 +02:00
Matthias Koefferlein
378a3b9045
Updated test data
2021-05-31 18:47:52 +02:00
Matthias Koefferlein
eeaab8a417
Bugfix: Region#flatten and Edges#flatten did not update the merged cache to flat and Region#flatten did not produce PolygonRefs
2021-05-29 19:28:56 +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
c8548709bb
Implemented edge pair filters, DRC: with(out)_angle, with(out)_length and with(out)_distance
2021-05-28 23:46:52 +02:00
Matthias Koefferlein
2e63628ddd
Fixed #805 - introducing layer.count and layout.hier_count for DRC
2021-05-26 22:11:47 +02:00
Matthias Koefferlein
660b723678
Updated test data because of non-merging hierarchical 'or'
2021-05-26 00:35:32 +02:00
Matthias Koefferlein
224c1b614b
Added missing file.
2021-05-26 00:28:08 +02:00
Matthias Koefferlein
6ad8ec5662
Bugfix: whole edge output for fragmented second input. No way to fix that for the compound ops. Restrict negative output for two-layer checks on first layer for the same reason.
2021-05-26 00:27:13 +02:00
Matthias Koefferlein
1c8442f485
Fixed #807 - now supporting incremental connect and clear_connections in DRC/LVS
2021-05-24 21:56:57 +02:00
Matthias Koefferlein
05b1023fd5
Updated tests.
2021-05-24 16:49:00 +02:00
Matthias Koefferlein
55bdd904cb
Implemented #801 : update, added test case
2021-05-19 22:25:59 +02:00
Matthias Koefferlein
9b7879b2a9
Faster hierarchical edges.
2021-04-06 21:05:02 +02:00
Matthias Koefferlein
892f940166
Fill feature: enhancements and debugging
...
- added "multi_origin" mode for repeated fill
- enhanced fill coverage by better separation of islands in auto-origin mode
2021-04-01 23:29:45 +02:00
Matthias Koefferlein
94556c1448
Merge branch 'master' into lvs-enhancements
2021-03-30 18:56:27 +02:00
Matthias Koefferlein
47a845884d
Added tests
2021-03-29 22:44:39 +02:00
Matthias Koefferlein
3f37b0e5a4
Fill cell box introduced as a concept, added tests, overlapping fill cells supported.
2021-03-29 22:12:47 +02:00
Matthias Koefferlein
74d3251ff7
Updated test data
2021-03-29 21:03:21 +02:00
Matthias Koefferlein
b725f5fb0f
fill_with_left, implementation + tests
2021-03-29 20:58:16 +02:00
Matthias Koefferlein
8fda92a9c4
Merge branch 'drc-enhancements' into fill-enhancements
2021-03-29 15:07:47 +02:00
Matthias Koefferlein
dc3fa096d3
Renamed DRC tests to reduce merge conflicts.
2021-03-29 15:03:37 +02:00
Matthias Koefferlein
cefc2eeddb
Bug fixes.
2021-03-29 01:05:53 +02:00
Matthias Koefferlein
1ae109f90d
DRC: deep mode region input does not flatten the layout on clip
2021-03-21 23:54:13 +01:00
Matthias Koefferlein
866ee9bd81
DRC: tiling mode with global transformation, debug + tested
2021-03-21 23:27:42 +01:00
Matthias Koefferlein
afdc50d05a
Global transformations for DRC and RecursiveShapeIterator
2021-03-21 23:09:09 +01:00
Matthias Koefferlein
cf6145d60c
Unit test robustness against OS and compiler variations
2021-03-15 19:07:06 +01:00
Matthias Koefferlein
e639c30570
split_* operations in DRC (interacting/non_interacting in one step), doc, tests.
2021-03-01 21:04:57 +01:00
Matthias Koefferlein
aad393d7c9
DRC density check: updated doc, added tile_count option
2021-02-28 18:46:14 +01:00
Matthias Koefferlein
cfc86ad62f
Implemented density check: 'with_density', 'without_density'
2021-02-28 18:21:05 +01:00
Matthias Koefferlein
b3685c6722
Implemented with_holes for generic DRC too
2021-02-08 21:29:41 +01:00
Matthias Koefferlein
1c8eca50bf
Added test case files.
2021-02-08 20:59:48 +01:00
Matthias Köfferlein
e31d7afb64
Reduce risk of DRC polygon split artefacts in deep mode ( #722 )
...
* Fixed a segfault with simple 'klayout -v'
* is_halfmanhattan polygon predicate, confine polygon splitting to halfmanhattan
Splitting any-angle polygons for area reduction in the
deep processor creates a risk of introducing grid-snap
artefacts. Hence we avoid this.
2021-02-05 23:28:04 +01:00
Matthias Koefferlein
618e1134c4
More robustness against test variations on different platforms.
2021-01-19 22:23:02 +01:00
Matthias Koefferlein
63d19bdb4c
More robustness against test variations on different platforms.
2021-01-19 21:49:38 +01:00
Matthias Koefferlein
66ea75e643
Fixed unbounded ranges compatibility for Ruby < 2.7
2021-01-19 21:16:03 +01:00
Matthias Koefferlein
73485a5061
More robustness against differences on different platforms.
2021-01-19 20:36:25 +01:00
Matthias Koefferlein
abcac4896b
Updated test data
2021-01-17 19:31:47 +01:00
Matthias Koefferlein
9cf0a9e659
Major enhancements for DRC feature (universal DRC)
...
Main issue: universal DRC scheme and rectangle filtering/opposite filtering/shielding.
The space function required some enhancements to accomodate symmetric interactions.
Now there are symmetric edge pairs. Space initially runs twofold (primary to foreign)
but produces symmetric edge pairs. These are filtered later unless converted before.
2021-01-17 19:26:22 +01:00
Matthias Koefferlein
fd90e66ee1
WIP (shielding, various bug fixes)
2021-01-17 14:38:44 +01:00