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
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
5e04ea6156
Clarification of negative edge output for two-layer DRC's.
2021-05-26 01:12:35 +02:00
Matthias Koefferlein
660b723678
Updated test data because of non-merging hierarchical 'or'
2021-05-26 00:35:32 +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
94e7f0dbd3
Updated test data, fixed DRC/LVS doc.
2021-05-25 23:30:43 +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
47e110115f
Updated documentation
2021-05-22 22:32:56 +02:00
Matthias Köfferlein
85eee4d6cc
Merge pull request #803 from KLayout/wip
...
Wip
2021-05-21 00:52:36 +02:00
Matthias Koefferlein
55bdd904cb
Implemented #801 : update, added test case
2021-05-19 22:25:59 +02:00
Matthias Koefferlein
f7fa6d8289
Added process_event for DRC log - makes progress log more useful.
2021-05-15 18:04:41 +02:00
Matthias Koefferlein
1285868546
Skip private-only tests without private data access
2021-05-01 21:36:52 +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
729975bae8
Fixed a doc XML integrity issue
2021-03-30 18:23:42 +02:00
Matthias Koefferlein
6971048d28
Changed default for fill pitch (equal to cell's bbox w/h). Updated doc.
2021-03-29 22:57:20 +02:00
Matthias Koefferlein
47a845884d
Added tests
2021-03-29 22:44:39 +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
1608fa7d0e
Bug fixes and tests for fill DRC feature.
2021-03-29 15:00:31 +02:00
Matthias Koefferlein
d862970d47
Added doc for DRC fill.
2021-03-29 13:56:34 +02:00
Matthias Koefferlein
76982a3206
DRC support for fill, experimental
2021-03-29 13:28:43 +02:00
Matthias Koefferlein
6ceac2c6ba
Updated a test.
2021-03-27 23:14:33 +01: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
a8f3df7aa5
Refactoring of the interpreter scheme with the goal to provide a functional cleanup. This is required if someone stops inside the debugger. Without a proper cleanup the application becomes dysfunctional.
2021-03-15 10:17:25 +01:00
Matthias Koefferlein
f2b1661647
Merge branch 'drc-enhancements', remote-tracking branch 'origin' into lvs-debug
2021-03-14 23:52:03 +01:00
Matthias Köfferlein
184f2bee50
Smooth bug ( #740 )
...
* Smoothing function: provide ability to keep horizontal/vertical lines (important for cut lines)
* Introducting API compatibility macros for generic plugins.
2021-03-14 12:27:36 +01:00
Matthias Koefferlein
67a1b3a99f
WIP: fill + DRC, experimental.
2021-03-14 02:40:12 +01:00
Matthias Koefferlein
a904aabcce
Fixed DRC logging.
2021-03-01 22:35:04 +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
570c79e446
gsi binding, DRC binding of split_... region functions.
2021-03-01 00:47:00 +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
a9fa5d73f9
Introducing 'with_holes' and 'without_holes' in DRC and RBA::Region.
2021-02-08 20:59:17 +01:00
Matthias Koefferlein
94e6f0f7a6
Logging progress for DRC, introducing 'abstract progress' concept
2021-02-07 23:41:53 +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
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
Matthias Koefferlein
d5f18ca1c1
Spelling fixed.
2021-01-16 11:13:17 +01:00
Matthias Koefferlein
4460c294b0
Some bug fixes, doc update, test updates.
2021-01-16 00:32:06 +01:00
Matthias Koefferlein
111b49f0ef
Updated DRC documentation
2021-01-15 19:01:32 +01:00
Matthias Koefferlein
bbd511bc8b
Added some tests for 'switch', small bug fix.
2021-01-15 17:32:39 +01:00
Matthias Koefferlein
ec88362eca
Doc updates
2021-01-15 00:56:17 +01:00
Matthias Koefferlein
8051bef9ac
Doc update, fixed DRC's 'switch' function
2021-01-15 00:31:26 +01:00
Matthias Koefferlein
80996a77fb
New *_sum quantifiers, doc enhancements, bug fixing
2021-01-14 00:21:21 +01:00
Matthias Koefferlein
80d0229b7c
More intuitive DRC specification of 'projection_limits' with 'projecting' and a condition
2021-01-13 15:58:55 +01:00
Matthias Koefferlein
c5859cd957
Tests for new DRC features (square, new attiribute tests)
2021-01-13 13:35:37 +01:00
Matthias Koefferlein
a8f08bffac
WIP: new ratio filters, squares for DRC
2021-01-13 02:12:33 +01:00
Matthias Koefferlein
ae29c75326
WIP: documentation, local merging of polygon for interact, covering ..
2021-01-12 01:08:12 +01:00
Matthias Koefferlein
f3f196cfb3
Doc update, implemented != for DRC operations.
2021-01-10 21:36:58 +01:00
Matthias Koefferlein
0a7ca69da2
Some refactoring (angle check), angle check and length check for universal DRC, tests, bug fixes.
2021-01-10 19:54:16 +01:00
Matthias Koefferlein
158ea196ec
WIP: more tests, bug fixes, new feature: deep_reject_odd_polygons, odd_polygons check disabled in deep mode
2021-01-10 18:46:01 +01:00
Matthias Koefferlein
c24568b510
Added more tests, debugging.
2021-01-10 09:02:41 +01:00
Matthias Koefferlein
168b41c119
WIP: new tests for complex DRC ops.
2021-01-09 23:38:53 +01:00
Matthias Koefferlein
858c78729f
More tests for complex DRC
2021-01-09 23:23:50 +01:00
Matthias Koefferlein
ddf36290fa
Corner detection feature: tests, bug fixes, enhancements (inclusive/exclusive angle constraints)
2021-01-09 23:10:17 +01:00
Matthias Koefferlein
bc63f98622
WIP: more tests on complex DRC ops
2021-01-09 18:40:32 +01:00
Matthias Koefferlein
6f93ff616f
More tests, bug fixes.
2021-01-09 17:50:39 +01:00
Matthias Koefferlein
b15e7f2b9f
WIP: proper integration of complex DRC ops in DRC framework
2021-01-09 16:37:16 +01:00
Matthias Koefferlein
7093dfd0eb
WIP: bug fixes, more tests for complex DRC
2021-01-09 15:56:55 +01:00
Matthias Koefferlein
d1868a4b23
WIP: some development, bugfixing on DRC implementation - mainly about correct opposite filter operation
2021-01-06 23:39:51 +01:00
Matthias Koefferlein
9c95bed67e
Generic DRC: new tests, bug fixes.
2021-01-06 11:59:47 +01:00
Matthias Koefferlein
0d9ee8a70d
First test for generic DRC feature
2021-01-06 09:52:24 +01:00
Matthias Koefferlein
c160f7f43f
Documentation updates
2021-01-06 02:20:36 +01:00
Matthias Koefferlein
37d62f97e1
WIP: More documentation for complex DRC ops
2021-01-06 01:27:02 +01:00
Matthias Koefferlein
7d4310d343
Updated copyright to 2021
2021-01-05 22:57:48 +01:00
Matthias Koefferlein
9812ff7901
WIP: a new concept for complex DRC - 'foreign' subjects
2021-01-05 22:49:30 +01:00
Matthias Koefferlein
ee082f65a0
WIP: documentation
2021-01-04 01:14:39 +01:00
Matthias Koefferlein
7f1d91f529
WIP: typo fixed
2021-01-03 23:32:24 +01:00
Matthias Koefferlein
d273c2514d
WIP: DRC complex ops, implementation, doc, refactoring ...
2021-01-03 19:33:14 +01:00
Matthias Koefferlein
f3d8fb4a43
WIP: refactoring of DRC Ruby code
2021-01-03 19:03:30 +01:00
Matthias Koefferlein
57a7671640
Fixed enclosing feature, added tests + DRC impl., DRC doc.
2020-12-08 22:44:33 +01:00
Matthias Koefferlein
0670e83d77
WIP: bug fixes, renamed "enclosing" to "covering" in Region/DRC.
...
Reasoning: "enclosing" was reserved for the DRC function.
2020-12-07 23:55:52 +01:00
Matthias Koefferlein
5934bd529f
WIP: DRC 'enclosing' feature
2020-12-07 22:48:03 +01:00
Matthias Koefferlein
ca388150bb
Added tests for opposite and rect filter.
2020-12-06 19:03:44 +01:00
Matthias Koefferlein
a833dd57fe
Implemented rectangle and opposite filters for DRC functions.
2020-12-06 18:25:57 +01:00
Matthias Koefferlein
db6b3d280e
Merge branch 'master' into complex_drc_ops
2020-11-22 09:31:15 +01:00
Matthias Koefferlein
95cec10105
Preparation for merge with master, fixed comments
2020-11-22 09:28:27 +01:00
Matthias Koefferlein
c71d884e7e
More elaborate DRC logging (number of results, timing, memory)
2020-10-26 21:19:27 +01:00
Matthias Köfferlein
051a8bdc77
Fixed #651 (DRC "select" feature issues) ( #654 )
...
* WIP: added test case, fixed dup problem and '-' shortcut
* WIP: updated DRC doc and could not resist the temptation to fix 'it's' vs. 'its'
* Deep mode also working with select now. Updated tests.
2020-10-10 23:15:51 +02:00