Commit Graph

183 Commits

Author SHA1 Message Date
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
Matthias Koefferlein 785bc0b6e5 Build error fixed, test cases updated. 2021-01-16 10:09:07 +01:00
Matthias Koefferlein 4460c294b0 Some bug fixes, doc update, test updates. 2021-01-16 00:32:06 +01:00
Matthias Koefferlein bbd511bc8b Added some tests for 'switch', small bug fix. 2021-01-15 17:32:39 +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 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 04e11eea31 Test enhancement. 2021-01-10 20:19:02 +01:00
Matthias Koefferlein 383f72eb09 Added missing files, tests for angle and length (universal DRC), some clarifications and bug fixes. 2021-01-10 20:18:06 +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 e21f14b79d Added more tests, debugging. 2021-01-10 09:03:39 +01:00
Matthias Koefferlein c24568b510 Added more tests, debugging. 2021-01-10 09:02:41 +01:00
Matthias Koefferlein f57dd8e81a WIP: more tests 2021-01-09 23:47:49 +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 cda5fdfe6f Added missing files. 2021-01-09 23:10:51 +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 7093dfd0eb WIP: bug fixes, more tests for complex DRC 2021-01-09 15:56:55 +01:00
Matthias Koefferlein f993e4c31b WIP: clarification on shielding: in two-layer checks, the second layer shields, but not the first one. 2021-01-07 00:01:47 +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 9812ff7901 WIP: a new concept for complex DRC - 'foreign' subjects 2021-01-05 22:49:30 +01:00
Matthias Koefferlein 6dd190e3af More compound DRC operations (join, merge, count filter) 2021-01-04 21:34:12 +01:00
Matthias Koefferlein 70ccc50b39 WIP: some refactoring to make functions available for DRC compound operations and to simplify binding 2021-01-01 23:20:11 +01:00
Matthias Koefferlein dcaa0d0ea5 WIP: deep mode and complex DRC ops, debugging 2020-12-26 21:11:22 +01:00
Matthias Koefferlein 493024734d WIP: more tests enabled for deep mode 2020-12-26 20:48:11 +01:00
Matthias Koefferlein 1bb04c711c WIP: more tests enabled for deep mode too. 2020-12-26 19:55:42 +01:00
Matthias Koefferlein afc9fc9c7a WIP: Bugfixed deep processor (multi-input mode and input layer index), added tests 2020-12-26 19:43:51 +01:00
Matthias Koefferlein dc80ed77b1 WIP: region/edge booleans, more tests, debugging 2020-12-26 17:48:53 +01:00
Matthias Koefferlein 953bee4790 WIP: more tests, debugging 2020-12-26 17:17:43 +01:00
Matthias Koefferlein 8d6dd23850 WIP: more tests, debugging 2020-12-26 17:06:44 +01:00
Matthias Koefferlein cc6ad01529 WIP: more tests, debugging 2020-12-26 16:04:35 +01:00
Matthias Koefferlein 00a7021a30 WIP: more tests, debugging. 2020-12-26 15:41:20 +01:00
Matthias Koefferlein 3707fae3c2 WIP: more tests, debugging 2020-12-26 14:58:07 +01:00
Matthias Koefferlein 9c6e0129d9 WIP: debugging, test case for compound booleans 2020-12-26 00:06:49 +01:00
Matthias Koefferlein 4974a81af6 WIP: debugging 2020-12-25 15:00:52 +01:00
Matthias Koefferlein 57a7671640 Fixed enclosing feature, added tests + DRC impl., DRC doc. 2020-12-08 22:44:33 +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 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 f1c7e2e8e1 Refactoring of the containers (Edges, Region, EdgePairs, Texts): size -> count, added hier_count. Added SRegion for shape iterator as generic polygonizable things 2020-10-11 17:51:54 +02: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
Matthias Koefferlein bc98336d2a Added DRC test for interact with count 2020-09-22 19:19:26 +02:00
Matthias Koefferlein 3043418f8a Made shielding an option for some DRC features. 2020-09-16 23:44:44 +02:00
Matthias Koefferlein e75333ea41 DRC enhancements: max_vertex_count, max_area_ratio and forget 2020-09-15 00:12:55 +02:00
Matthias Koefferlein 823807641b Added anonot method to DRC, provide tests. 2020-06-14 18:49:21 +02:00
Matthias Köfferlein 2d0a9418f9
Implemented #579 (perimeter_only mode for antenna check) (#582)
* WIP: added basic feature and tests.

* WIP: provide tests are GSI binding of new antenna check

* Fixed issue #579 (perimeter_only mode for antenna check)

* Updated DRC doc for 'perimeter_only'
2020-06-05 10:55:07 +02:00
Matthias Koefferlein 2dee855d1d Added test for deep Text extents 2020-05-31 02:29:54 +02:00
Matthias Koefferlein cd485efc14 Fixed unit tests, reverted one unintended change 2020-05-31 02:26:25 +02:00
Matthias Koefferlein 759f07ee4d Implemented solution for #570 (deep Edges::extents)
While doing this, it was discovered that the problem also
persists for EdgePairs and Texts.

In order to provide a more generic solution, some refactoring
was applied.
2020-05-31 01:55:05 +02:00
Matthias Köfferlein 6601d472bf
Implemented #570 (perimeter included in antenna check) (#572)
* First implementation of the perimeter factor for antenna check, unit tests.

* Bugfix and unit tests for GSI binding of new antenna check version.

* DRC integration of perimeter-enabled antenna check.

* Enhanced DRC doc for antenna rule
2020-05-30 21:45:48 +02:00
Matthias Koefferlein 0f42ebe385 Updated DRC doc, added more tests. 2020-05-23 22:54:50 +02:00
Matthias Koefferlein f410c91339 Updated documentation 2020-05-23 21:14:01 +02:00
Matthias Koefferlein ba9a05640c Bugfixed tiled mode with text input, DRC tests added and test data updated. 2020-05-23 19:03:42 +02:00
Matthias Koefferlein 81750ed3d8 Tiling processor enabling for text input/output, updated tests. 2020-05-23 16:23:40 +02:00
Matthias Koefferlein 5135d76367 Updated test data. 2020-05-23 13:31:26 +02:00
Matthias Koefferlein 6f7cca81fb Updated test data 2020-05-23 13:19:52 +02:00
Matthias Koefferlein 5795ec8b07 Fixed DRC texts methods, added tests. 2020-05-20 23:56:35 +02:00
Matthias Köfferlein 8dae4161e1
Fixed #548 (shield issue on space) (#549) 2020-04-30 22:03:16 +02:00
Matthias Koefferlein eeadfcea7b Fixed #476 2020-01-23 17:56:20 +01:00
Matthias Koefferlein 772b309d05 Fixed #406: finally added tests for DRC feature. 2019-11-19 21:34:11 +01:00