Matthias Koefferlein
71e290b50e
Added test for the last commit
2021-06-13 23:02:53 +02:00
Matthias Koefferlein
d1f38a36b1
Not directly related (initially so): EdgeProcessor can restart now.
2021-06-13 23:02:09 +02:00
Matthias Koefferlein
3b22bc0a42
Fixed the fix: considering the case of non-layout hosted Shapes container too
2021-06-12 23:34:32 +02:00
Matthias Koefferlein
115593575d
Merge branch 'master' of github.com:KLayout/klayout into issue-835
2021-06-12 09:47:31 +02:00
Matthias Koefferlein
6f583b1b21
Fixed #835
2021-06-12 09:45:02 +02:00
Matthias Köfferlein
8bd58be534
Merge pull request #830 from KLayout/issue-824
...
Issue 824
2021-06-12 08:58:00 +02:00
Matthias Koefferlein
43c941004a
Fixed embarrassing typo: Minkowsky -> Minkowski (Hermann Minkowski, 22 June 1864 – 12 January 1909)
2021-06-10 23:33:49 +02:00
Eugene Zelenko
ed27447ce0
Fix misspellings in db.
2021-06-07 18:21:02 -07:00
Matthias Koefferlein
8b528a8a7a
Refactored the compound op node cache for multithreading support
2021-06-07 22:46:15 +02:00
Matthias Koefferlein
02ec262df0
Normalized resistor contact polygons for better test reproducibility.
2021-06-03 23:43:00 +02:00
Matthias Koefferlein
7aaddcf205
Normalize S/D choice on MOS transistor extraction for better test reproducability
2021-06-03 17:32:38 +02:00
Matthias Koefferlein
a762797d58
Typos fixed.
2021-06-01 21:32:24 +02:00
Matthias Koefferlein
ef01bbf81b
Restored merge behavior for DRC 'or' also in deep mode
2021-05-31 18:24:00 +02:00
Matthias Köfferlein
63f4d727e9
Merge pull request #813 from KLayout/wip
...
Wip
2021-05-29 23:59:44 +02:00
Matthias Koefferlein
83685a3715
Fixed a build issue.
2021-05-29 22:06:13 +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
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
fcb966393a
Fixed #806 : first, the internal error gone. Second, the implementation of custom comparers is simplified as the 'equals' method does not need to be implemented.
2021-05-26 22:39:28 +02:00
Matthias Koefferlein
ef22ead019
Fixed a bug in the Spice writer implementation (res3 not considered)
2021-05-26 22:27:42 +02:00
Niko Savola
ff90c476c3
Fix typos systemically in gsiDecl*.cc
2021-05-26 13:18:23 +03:00
Niko Savola
99ef222f50
Fix more typos in gsiDeclDbLayoutToNetlist.cc
...
\\make_incluidelayer -> \\make_includelayer
sqaure -> square
2021-05-26 12:37:24 +03:00
Niko Savola
b27e5de023
Fix typo in gsiDeclDbLayoutToNetlist
...
reprfesenting -> representing
2021-05-26 12:31:46 +03:00
Niko Savola
bc16c4ad31
Fix missing 'to' typo
...
from another cell this cell -> from another cell to this cell
2021-05-26 10:33:07 +03: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
19b28982e7
WIP: updated test data (bugfix: bulk does not have layer properties), Fixed Region::count and Region::hier_count (was counting non-polygons too)
2021-05-25 23:08:38 +02:00
Matthias Koefferlein
3789e38ce3
WIP: avoid one more segfault.
2021-05-25 22:45:19 +02:00
Matthias Koefferlein
0d6ce92d6b
WIP: fixed a potential segfault
2021-05-25 21:41:27 +02:00
Matthias Koefferlein
0452e91e8c
WIP: Some hardening against internal state changes in RecursiveShapeIterator, tests fixed
2021-05-25 21:36:54 +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
58afc47071
WIP: reduced space runtimes (OpenRAM sample) by selective edge processing
2021-05-24 18:27:16 +02:00
Matthias Koefferlein
05b1023fd5
Updated tests.
2021-05-24 16:49:00 +02:00
Matthias Koefferlein
2fc301a0b6
More efficient shape counts on OriginalLayer
2021-05-23 12:21:18 +02:00
Matthias Koefferlein
4bc665cbf3
Mapping deep-mode 'or' (DRC) to 'add' to avoid flat processing.
2021-05-22 22:32:29 +02:00
Matthias Koefferlein
560234cacb
Less noisy output with verbose debug mode
2021-05-22 22:29:57 +02:00
Matthias Koefferlein
6cfe14a418
Typo corrected
2021-05-22 22:29:10 +02:00
Niko Savola
feb5e7eece
Fix documentation typo in gsiDeclDbCell.cc
2021-05-21 14:35:21 +03:00
Matthias Koefferlein
aea8c4d1ad
3-terminal C's and R's for Spice writer too, using different default models for 2- and 3-terminal R and C
2021-05-13 21:13:41 +02:00
Matthias Koefferlein
4eb8f69a22
Spice reader: Support for resistance, capacitance and inductance values within parameters, basic support for 3-terminal resistors, more flexibility in SpiceReaderDelegate.
2021-05-13 20:40:28 +02:00
Matthias Köfferlein
9c5542d3d2
Merge pull request #788 from KLayout/issue-787
...
Issue 787 fixed
2021-05-08 22:26:10 +02:00
Matthias Koefferlein
70864e41af
Implemented Edge#cut_point for GSI (was missing)
2021-05-04 21:12:46 +02:00
Matthias Koefferlein
31cc8f32e2
Fixed #787 - the results of const reference return values need to be copied as the holder object may go out of scope
2021-05-02 23:00:38 +02:00
Matthias Koefferlein
1285868546
Skip private-only tests without private data access
2021-05-01 21:36:52 +02:00
Matthias Koefferlein
7c3c631515
Merge branch 'master' into feedback
2021-04-29 23:53:47 +02:00
Matthias Koefferlein
281681fffb
Limit hier processor instance/instance and instance/cluster cache depth to 20 entries per cell pair to avoid memory explosion
2021-04-28 22:51:00 +02:00
Matthias Koefferlein
855e8a3518
WIP: some enhancements with the effect of reducing instance interaction caching overhead and improving performance. More memory and cache metrics.
2021-04-27 22:27:22 +02:00
Matthias Koefferlein
2f204eaa21
Some refactoring of the instance-to-instance test in hier processor: gives some performance improvement with less memory for cache.
2021-04-26 23:15:27 +02:00
Matthias Koefferlein
6e52e6f0c6
WIP: introducing memory metrics for netlist/l2n
2021-04-26 22:26:31 +02:00
Matthias Koefferlein
7d8825a9fb
Ghost cells are not renamed in blend mode 'rename'
2021-04-24 21:30:03 +02:00
Matthias Köfferlein
f8e7e3b6e1
Merge pull request #770 from KLayout/lvs-enhancement
...
Lvs enhancement
2021-04-14 23:24:30 +02:00
Matthias Koefferlein
6ea04d6c27
Small LVS enhancement: reject backtracking branch if it leads to ambiguous name conflicts
2021-04-13 22:57:08 +02:00
Matthias Koefferlein
a02c2c8eeb
Merge branch 'master' into hierarchical-edges
2021-04-11 22:47:38 +02:00
Matthias Koefferlein
870fd2e0bd
Fixed some valgrind issues.
2021-04-08 23:30:47 +02:00
Matthias Koefferlein
c4e5310c95
Bugfix: holes and hulls are not neccessarily merged
2021-04-08 00:32:03 +02:00
Matthias Koefferlein
217f957d60
Some more safety against accessing deleted user objects (stored point in temporary UserObject or DUserObject gets destroyed on destruction of the holder) - using C++ move semantics (overdue)
2021-04-07 22:16:52 +02:00
Matthias Koefferlein
9b7879b2a9
Faster hierarchical edges.
2021-04-06 21:05:02 +02:00
Matthias Köfferlein
85448966d8
Merge pull request #763 from KLayout/25d-enhancements
...
25d enhancements
2021-04-03 15:33:57 +02:00
Matthias Koefferlein
173ba147b1
Rework for D25 tech management - compilation happens dynamically now.
2021-04-02 18:48:00 +02:00
Matthias Koefferlein
773fcb6b67
z Stack description language enhanced.
2021-04-02 17:27:38 +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
25b978f39f
Doc clarification.
2021-04-01 18:41:37 +02:00
Matthias Koefferlein
e66c8046db
Limited lvs stack depth to 500 to prevent stack overflow.
2021-03-31 23:04:35 +02:00
Matthias Koefferlein
cf51130339
Fixed some build issues that appeared during merge
2021-03-30 23:20:39 +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
8fda92a9c4
Merge branch 'drc-enhancements' into fill-enhancements
2021-03-29 15:07:47 +02:00
Matthias Koefferlein
76982a3206
DRC support for fill, experimental
2021-03-29 13:28:43 +02:00
Matthias Koefferlein
cefc2eeddb
Bug fixes.
2021-03-29 01:05:53 +02:00
Matthias Koefferlein
abd96c8400
Deep mode: avoid flattening by FlatRegion/FlatEdges poisoning
2021-03-28 23:19:14 +02:00
Matthias Koefferlein
6df333a05e
Avoid turning DeepRegions into flat ones as this spoils hierarchical processing.
2021-03-28 22:33:24 +02:00
Matthias Koefferlein
9f295523e4
explicit net joining - preparations
2021-03-27 21:56:53 +01:00
Matthias Koefferlein
a0cab9832f
Fixed probe feature of LVS dialog for flat extraction.
2021-03-26 00:40:18 +01:00
Matthias Koefferlein
8d5ef02c3d
Using unlimited complexity and depth for LVS compare
2021-03-25 23:50:45 +01:00
Matthias Koefferlein
4252085663
Fixed an internal error in netlist compare
...
Problem was that during ambiguity resolution a choice may
be invalidated by further choices. This is taken care by
locking nets against re-mapping.
2021-03-25 01:56:23 +01:00
Matthias Koefferlein
c48be51cb6
Made SPICE netlist elements case insensitive in LVS scripts
2021-03-24 22:11:15 +01:00
Matthias Koefferlein
3777d311af
typos fixed, doc update
2021-03-24 00:07:16 +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
1495d9521c
Tests updated.
2021-03-15 16:51:56 +01:00
Matthias Koefferlein
738e830c8d
Important bug fix for LVS
...
It's very important for LVS to use the same compare delegates
for layout and schematic. Otherwise the sorting of the devices
won't be identical and fake mismatches will occure.
This is achieved in a bit hacky way to imposing the layout
compare delegates to the schematic netlist.
2021-03-15 15:40:02 +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 Koefferlein
fea594ff69
Unit tests modified because of interface change for netlist comparer
2021-03-14 23:51:20 +01:00
Matthias Koefferlein
98c2db34e9
Another bugfix to cover the case of non-sequential pin IDs
2021-03-14 19:51:15 +01:00
Matthias Koefferlein
7bd9e8dc1b
Bugfix: with BJT3 and BJT4 included, the extracted .lvsdb file could not be read back.
2021-03-14 18:40:16 +01:00
Matthias Koefferlein
4549da561b
Better information in LVS report - at least for skipped circuits for now.
2021-03-14 18:21:32 +01:00
Matthias Koefferlein
bb9ae20c32
Rework of the progress reporting scheme: LVS got a log now, the layout is horizontal for multiple progress objects, less flicker and more quiet display, cancel function should work more reliably now.
2021-03-14 16:25:56 +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
c8f4c83c53
Fill tool enhancement (GSI, db): glue box for fill cell array compatibility in tiling processor.
2021-03-13 18:01:43 +01:00
Matthias Koefferlein
1b4eb1d401
Reworked fill_cell GSI integration (using defaults rather than variants, doc fixes)
2021-03-13 10:36:01 +01:00
Matthias Koefferlein
f03f745ed8
Using a 'final' progress in the tiling processor to stop child progress objects from showing.
2021-03-13 10:35:26 +01:00
Matthias Koefferlein
1aa595560e
Some refactoring
2021-03-13 10:34:48 +01:00
Matthias Koefferlein
7c4c928632
Sync mode for tiling progress enhanced - with progress now.
2021-03-13 10:12:01 +01:00
Matthias Koefferlein
f2d106651b
Reworked the fill scheme for better support of skewed fill repetitions.
2021-03-11 21:27:49 +01:00
Matthias Koefferlein
7d53f6d454
WIP.
2021-03-10 00:43:08 +01:00
Matthias Koefferlein
d4f641bff8
WIP.
2021-03-09 23:45:53 +01:00
Matthias Koefferlein
7bd4a692d8
WIP
2021-03-08 20:45:52 +01:00
Matthias Koefferlein
d76fc02244
Fixed a memory corruption issue in db::rasterize
2021-03-07 11:26:54 +01:00
Matthias Koefferlein
6e6ce998aa
Refactoring, preparing script generation.
2021-03-06 19:38:19 +01:00
Matthias Koefferlein
637968cbc4
Centering of bounding box in fill tool - this allows using step vectors alone without a boundary layer
2021-03-06 00:31:05 +01:00
Matthias Koefferlein
07966baf71
First draft of fill dialog with enhancements
2021-03-05 18:20:45 +01:00
Matthias Koefferlein
0d04937c91
Added tests for fill tool
2021-03-05 16:27:57 +01:00
Matthias Koefferlein
dbeee1531e
Matrix2d and Matrix3d generalized for integer coordinates, added transformation methods for polygons, regions, boxes, edges, etc. Fill enhancements basically implemented. Needs testing.
2021-03-05 15:31:40 +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
98eebe25ad
gsi binding of split interaction functions.
2021-03-01 00:25:50 +01:00
Matthias Koefferlein
c5788f3621
Fix: clone() is good :)
2021-03-01 00:09:13 +01:00
Matthias Koefferlein
8c6b231ae6
First steps towards differential interaction functions
2021-02-28 23:22:44 +01:00
Matthias Köfferlein
8b2ecf41df
Fixed issue by providing a compatibility bridge between tl::Stream (abstract paths) and tl::URI ( #734 )
2021-02-25 21:28:48 +01:00
Matthias Köfferlein
82587e70c3
Merge pull request #731 from KLayout/recursive-inst-iterator
...
Recursive inst iterator
2021-02-25 21:27:41 +01:00
Matthias Koefferlein
9074c918bb
Fixed a linker name clash.
2021-02-21 22:11:33 +01:00
Matthias Koefferlein
0f4a10441d
RecursiveInstanceIterator: Doc fixes, tests, instance array iteration.
2021-02-20 22:17:43 +01:00
Matthias Koefferlein
a1bae225e3
Recursive instance iterator, tests
2021-02-20 17:50:32 +01:00
Matthias Koefferlein
ca11f0799a
Recursive instance iterator, selection of target cells.
2021-02-20 01:09:17 +01:00
Matthias Koefferlein
0f47ff68a5
Recursive instance iterator, debugging.
2021-02-20 01:03:05 +01:00
Matthias Koefferlein
6527d29f8f
Recursive instance iterator, debugging.
2021-02-20 00:48:07 +01:00
Matthias Koefferlein
412056afed
Recursive instance iterator, first draft.
2021-02-20 00:40: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
620776fe51
Provide better log output for region
2021-02-07 19:15:47 +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 Köfferlein
4134829304
Issue 718 ( #719 )
...
* WIP: first part of fix - generation of hole cutlines
First problem was that hole cutlines got extended
over the whole length and sometimes lead to coincident
edges which are difficult to resolve for the polygon
cutter.
* Refined solution, fixed #718
- disabled elaborate hole insertion procedure for now as the
performance impact has to be assessed yet and the new scheme
will break many tests
- stricter rejection of ambiguous configurations in the polygon cutter
- fallback is boolean AND now since there is no need to re-invoke the
polygon cutter (we can't do so as we made it more strict).
Performance-wise we replace a merge by an AND step which may even be
faster the output is smaller and the polygon cutter does not need
to be re-invoked.
* Compatibility with other STLs
2021-01-31 19:21:15 +01:00
Matthias Köfferlein
10eee4d895
Fixed #709 . ( #714 )
2021-01-31 19:21:00 +01:00
Matthias Koefferlein
290d393126
Fixed another link issue on Windows
2021-01-27 21:42:43 +01:00
Matthias Koefferlein
1cdcf546f8
Fixed linker issue on Windows.
2021-01-27 12:54:25 +01:00
Matthias Köfferlein
1ba4394c2a
Merge pull request #710 from KLayout/byte-arrays
...
Byte arrays
2021-01-27 12:42:48 +01:00
Matthias Köfferlein
bd41f7222d
Merge pull request #706 from KLayout/spline-as-api
...
Generalized spline interpolation of DXF reader
2021-01-26 23:39:51 +01:00
Matthias Koefferlein
702852a8a9
Merge branch 'master' of github.com:KLayout/klayout into byte-arrays
2021-01-25 08:11:53 +01:00
Matthias Koefferlein
885c52eeeb
Stupid bug fixed
2021-01-25 08:10:47 +01:00
Matthias Koefferlein
199602424a
Merge branch 'master' of github.com:KLayout/klayout into byte-arrays
2021-01-24 23:52:56 +01:00
Matthias Koefferlein
d31f87f053
Some issues with the byte array binding fixed, less ambiguitites with Qt bindings, tests added.
2021-01-24 23:44:40 +01:00
Matthias Koefferlein
245bf93429
Some build fixes to enable basic compilation on CentOS6
2021-01-24 17:37:46 +00:00
Matthias Koefferlein
d1e6845ae4
Replaced std::auto_ptr by std::unique_ptr because the latter is deprecated
2021-01-23 21:55:51 +01:00
Matthias Koefferlein
c8951c10cd
Generalized spline interpolation of DXF reader and provide a script binding (RBA::Utils).
2021-01-23 18:44:36 +01:00
Matthias Koefferlein
63d19bdb4c
More robustness against test variations on different platforms.
2021-01-19 21:49:38 +01:00
Matthias Koefferlein
73485a5061
More robustness against differences on different platforms.
2021-01-19 20:36:25 +01:00
Matthias Koefferlein
11e9f89fc2
Introduced normalization into region/edges/edge pairs/texts tests to get rid of platform dependency because of unordered_set implementation details.
2021-01-19 08:03:42 +01:00
Matthias Koefferlein
3677a36804
Made region tests less susceptible to 'unordered_set' implementation details.
2021-01-19 01:26:20 +01:00
Matthias Koefferlein
c184a8a5fb
Merge branch 'master' of github.com:KLayout/klayout
2021-01-18 21:36:59 +01:00
Matthias Koefferlein
9b275d85a6
More stable hash function (the previous one was too sparse for small coordinates). Test updates for this reason.
2021-01-18 20:26:03 +01:00
Matthias Koefferlein
757543ec48
Fixed a build issue with 64bit coordinates.
2021-01-18 20:25:40 +01:00
Matthias Köfferlein
f32901407c
Fixed Windows build
2021-01-18 12:30:05 +01:00
Matthias Koefferlein
e1312d7a0c
Merge branch 'master' of github.com:KLayout/klayout into complex_drc_ops
2021-01-17 22:45:40 +01:00
Matthias Koefferlein
081c445cd8
Merge branch 'master' into complex_drc_ops
2021-01-17 19:55:28 +01:00
Matthias Koefferlein
e3773be7dc
Updated tests and provide 'lesser' and 'greater' edge pair extraction operator.
2021-01-17 19:55:21 +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
9a55bdc687
Fixed caching implementation of complex DRC ops.
2021-01-16 20:34:15 +01:00
Matthias Koefferlein
c66a19ba42
More consistent progress reporting for complex ops.
2021-01-16 19:01:45 +01:00