Matthias Koefferlein
bad3232415
Trying to fix a linker problem.
2021-07-07 08:03:07 +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
720057e071
Added a #include which was missing
2021-07-06 21:16:57 +02:00
Matthias Koefferlein
8f65ab099f
Fixed DeviceClass assignment operator
2021-07-06 07:56:27 +02:00
Matthias Koefferlein
4e0d8d92ef
Updated doc, reverted netlist writer to write all parameters - it will only write primary parameters for R, L and C
2021-07-05 22:45:40 +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
ba35ac9bfe
Doc update, some tests
2021-07-05 21:06:02 +02:00
Matthias Koefferlein
c62592ede1
Added test for device class factory.
2021-07-05 19:55:55 +02:00
Matthias Koefferlein
4303e1ab73
Revert change of making spice parameters primary - will create problems in swappable parameters such as AD and AS
2021-07-04 19:58:15 +02:00
Matthias Koefferlein
ae6f77f45f
Serialization of custom device classes
2021-07-04 19:14:37 +02:00
Matthias Koefferlein
3220bdf60d
Added device class templates for CapWithBulk and ResWithBulk
2021-07-04 19:14:11 +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
1a0b05e663
Updated test data
2021-07-02 23:38:38 +02:00
Matthias Koefferlein
79c552b300
Fixed #858 (+ line continuation after blanks in Spice reader)
2021-07-02 23:31:54 +02:00
Matthias Koefferlein
fd5efe9f92
Fixed #854
2021-07-02 00:46:22 +02:00
Matthias Koefferlein
6f63fa09bf
Fixed #856
2021-07-02 00:44:17 +02:00
Matthias Koefferlein
3d6119f2a6
Updated tests, sloppy 'same_nets' in non-must-match mode
2021-06-29 08:43:28 +02:00
Matthias Koefferlein
ab70c42c68
Some enhancements for strong matching of nets
...
* same_nets! method for strong matching
* same_nets and same_nets! except glob pattern to circuits and nets
* both observe case sensitivity
* helper functions for case sensitivity Netlist#is_case_sensitive?, Netlist#case_sensitive=
* Netlist#nets_by_name to get nets from pattern
2021-06-28 22:33:46 +02:00
Matthias Koefferlein
72dc94197e
New method: Circuit#nets_by_name
2021-06-28 20:29:40 +02:00
Matthias Koefferlein
e0ccb4f980
Fixed a typo
2021-06-28 18:57:09 +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
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
d65148ed0b
Fixed #846
2021-06-27 17:29:41 +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
5251520876
Added more filters for edge pairs: with_area, with_internal_angle. Added tests
2021-06-21 23:44:48 +02:00
Matthias Koefferlein
6e7c9192d4
Implemented #818
2021-06-20 21:45:51 +02:00
Matthias Koefferlein
2bbf6b6998
Merge branch 'clipped-25d-view'
2021-06-20 21:02:40 +02:00
Matthias Koefferlein
5fb2f024dc
Fixed some typos
2021-06-19 23:12:59 +02:00
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
Matthias Koefferlein
80e033c618
Fixed shielded implementation for DRC
2021-01-16 18:09:26 +01:00
Matthias Koefferlein
ed73046c13
Allow flatten for non-editable layouts too
2021-01-16 18:08:23 +01:00
Matthias Koefferlein
f0ad373248
Build errors fixed.
2021-01-16 10:31:08 +01:00
Matthias Koefferlein
3732e0428e
Build errors fixed.
2021-01-16 10:12:48 +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
80996a77fb
New *_sum quantifiers, doc enhancements, bug fixing
2021-01-14 00:21:21 +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
dce22fee37
New region filters (square, area ratio, relative height)
2021-01-13 01:08:42 +01:00
Matthias Koefferlein
ae29c75326
WIP: documentation, local merging of polygon for interact, covering ..
2021-01-12 01:08:12 +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
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
ddf36290fa
Corner detection feature: tests, bug fixes, enhancements (inclusive/exclusive angle constraints)
2021-01-09 23:10:17 +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
736fe874eb
Fixed an issue in the DRC doc generation (needs explicit doc for enum defaults)
2021-01-06 02:31:56 +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
6dd190e3af
More compound DRC operations (join, merge, count filter)
2021-01-04 21:34:12 +01:00
Matthias Koefferlein
f3d8fb4a43
WIP: refactoring of DRC Ruby code
2021-01-03 19:03:30 +01:00
Matthias Koefferlein
815b81ce59
WIP: Introduced DRC negative options in GSI
2021-01-02 21:10:05 +01:00
Matthias Koefferlein
82a70bdde0
WIP: negative output of DRC functions.
2021-01-02 20:33:16 +01:00
Matthias Koefferlein
98792c55de
WIP: attempt to implement negative edge output on width and space
2021-01-02 19:34:46 +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
dd84e64446
Fixed an issue with the OASIS reader (unused cells popped up as dummy top levels)
...
This happens when OASIS declares a cell name without actually using it.
The intended behavior is to drop such cells.
2020-12-30 23:37:01 +01:00
Matthias Koefferlein
cdcac6f5d3
WIP: copy-on-write for FlatRegion and FlatEdges too
2020-12-27 19:19:09 +01:00
Matthias Koefferlein
cc58d7d8ee
WIP: performance improvement: copy-on-write for flat edge pairs
2020-12-27 18:45:10 +01:00
Matthias Koefferlein
4ec00fb129
Fixed an issue with wrapping new objects into tl::Variants which are returned directly. For these objects, ownership needs to be transferred to the script.
2020-12-27 17:09:06 +01:00
Matthias Koefferlein
1026d197cb
WIP: Some optimization of check functions
2020-12-27 01:05:55 +01:00
Matthias Koefferlein
3f8113e404
WIP: Updated some test, debugging
2020-12-26 23:55:50 +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
9b4f65bab4
Typo fixed
2020-12-26 17:18:23 +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
80509c64e5
WIP: generalization of EdgePair/Edge/Polgyon processors, chained operations in compound ops.
2020-12-25 18:03:57 +01:00
Matthias Koefferlein
19508f96e9
WIP: debugging
2020-12-25 16:27:24 +01:00
Matthias Koefferlein
4974a81af6
WIP: debugging
2020-12-25 15:00:52 +01:00
Matthias Koefferlein
46a4178010
More elaborate handling of selection changed events in LayoutView (avoids dummy events) and some more GSI methods for manipulating or checking selections.
2020-12-24 17:57:01 +01:00
Matthias Koefferlein
45a8f7aa20
Merge branch 'master' into complex_drc_ops
2020-12-20 23:50:54 +01:00
Matthias Koefferlein
1c6ffb4086
Fixed unit tests.
2020-12-20 21:45:55 +01:00
Matthias Koefferlein
db19e92083
Fixed some merge issues.
2020-12-20 20:53:43 +01:00
Matthias Koefferlein
9290bb7154
Fixed a merge conflict
2020-12-20 19:27:54 +01:00
Matthias Koefferlein
cfe38aab42
Merge branch 'lefdef'
2020-12-20 19:26:51 +01:00
Matthias Koefferlein
866ac7ec76
Merge branch 'issue-691'
2020-12-20 19:25:31 +01:00
Matthias Koefferlein
5a828b4c8f
WIP: code cleanup
2020-12-20 17:57:34 +01:00
Matthias Koefferlein
ee47a1e087
Fixed the manager's 'cancel' implementation: with this, redo of a cancelled operation isn't possible any more
2020-12-20 00:42:17 +01:00
Matthias Koefferlein
4b8577a89b
Temporary compatibility with lefdef branch - remove when this branch is merged.
2020-12-20 00:35:23 +01:00
Matthias Koefferlein
b6f710a9fe
WIP: Fixed DXF reader
2020-12-19 23:37:37 +01:00
Matthias Koefferlein
9688da9ffd
WIP: test for multimapping in LEF/DEF
2020-12-19 21:28:22 +01:00
Matthias Koefferlein
2b61b48164
WIP: multi-mapping for named layer readers, bugfix for GDS/OASIS
2020-12-19 18:25:53 +01:00
Matthias Koefferlein
02f96f022a
WIP: added brackets for clarity in mapping expressions.
2020-12-19 16:37:58 +01:00
Matthias Koefferlein
a1eb8c121b
WIP: implementation for GDS2 and OASIS, added tests.
2020-12-19 15:36:03 +01:00
Matthias Koefferlein
f86c13689b
WIP: some refactoring to simplify multi-mapping implementation
2020-12-19 13:21:33 +01:00
Matthias Koefferlein
3fbfb20727
WIP: shorter mapping strings.
2020-12-19 00:56:45 +01:00
Matthias Koefferlein
0fddf7f389
WIP: text edit feature for layer mapping edit widget.
2020-12-16 23:52:58 +01:00
Matthias Koefferlein
91de370901
WIP: bugfix, RBA tests.
2020-12-16 23:02:01 +01:00
Matthias Koefferlein
3e249b0b54
WIP: More tests for layer multi-mapping
2020-12-15 23:51:01 +01:00
Matthias Koefferlein
1f635015ce
WIP: backward compatible implementation of multi-map capability of layer mapping.
2020-12-15 23:05:34 +01:00
Matthias Koefferlein
7852568284
WIP
2020-12-15 18:42:43 +01:00
Matthias Koefferlein
1106a52688
WIP: first draft of implementation
2020-12-14 23:55:04 +01:00
Matthias Koefferlein
11bf413cb8
Fixed the manager's 'cancel' implementation: with this, redo of a cancelled operation isn't possible any more
2020-12-13 22:13:51 +01:00
Matthias Koefferlein
92d81c5844
WIP: cold proxies are written to GDS2 and OASIS too. This means we keep the library references even if we load and save with the wrong libraries or technology.
2020-12-13 22:09:21 +01:00
Matthias Koefferlein
86e7fa56f0
WIP: undo/redo for applying a technology.
2020-12-13 22:02:19 +01:00
Matthias Koefferlein
740f550964
WIP: handling the case of entirely lost libraries.
2020-12-13 19:54:23 +01:00
Matthias Koefferlein
ab36a660fb
WIP: cold references - keep reference information while libraries are not there or cells are missing.
2020-12-13 19:11:12 +01:00
Matthias Koefferlein
fcf4fd74f6
WIP: bugfixing.
2020-12-13 14:13:59 +01:00
Matthias Koefferlein
78695f9c23
WIP: new technology management scheme, libraries can be tech specific, update of technology in layout updates library references
2020-12-13 12:13:21 +01:00
Matthias Koefferlein
fd066127ff
Merge branch 'master' into complex_drc_ops
2020-12-08 23:34:07 +01:00
Matthias Koefferlein
57a7671640
Fixed enclosing feature, added tests + DRC impl., DRC doc.
2020-12-08 22:44:33 +01:00
Matthias Koefferlein
1b26f48b13
WIP: some bug fixes
2020-12-08 00:39:07 +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
a833dd57fe
Implemented rectangle and opposite filters for DRC functions.
2020-12-06 18:25:57 +01:00
Matthias Koefferlein
153289b5d8
WIP: rectangle error pattern filter implemented.
2020-12-06 16:33:10 +01:00
Matthias Koefferlein
6c4d1f4ef3
WIP: bugfix and tests for opposite filter for DRC
2020-12-06 10:56:56 +01:00
Matthias Koefferlein
574660174e
WIP: 'not_opposite' and 'rect_filter'
2020-12-06 09:06:16 +01:00
Matthias Koefferlein
347a33024d
Added a disclaimer note for the compound DRC feature.
2020-12-05 18:19:51 +01:00
Matthias Koefferlein
6ac766d68f
More complete compound DRC operations.
2020-12-05 18:18:27 +01:00
Matthias Koefferlein
44aef92160
Bugfixed GSI binding of compound DRC operation nodes.
2020-12-05 17:11:01 +01:00
Matthias Koefferlein
44fd6bff11
Refactoring: bulk options structure for DRC functions. Will be easer to enhance
2020-12-05 14:14:28 +01:00
Matthias Koefferlein
f14a4c6220
WIP: made compile.
2020-12-02 00:13:41 +01:00
Matthias Koefferlein
9305861102
Bugfix (consider porting): undo triggered
...
Transaction::cancel was sometimes triggering an undo:
when the current transaction was empty, "commit" did just
remove it which made the subsequent undo act on the
*previous* transaction.
2020-12-01 23:00:11 +01:00
Matthias Köfferlein
511e30ef45
Fixed #646 (crash on delete of library) ( #685 )
...
* Fixed a compiler warning
* Fixed #646 (crash on PCell Library "delete")
The issue was mainly caused by a "cleanup" call on
the library. Cleanup is supposed to remove excess
top level PCell variants. For libraries this is not
possible, as the library does not know which variants
are used and which are not.
In addition, some hardening against segfaults in
case of defect layouts has been applied.
2020-11-27 18:36:56 +01:00
Matthias Koefferlein
db6b3d280e
Merge branch 'master' into complex_drc_ops
2020-11-22 09:31:15 +01:00
Matthias Koefferlein
0e596e67ce
WIP: compound operations.
2020-11-17 23:19:45 +01:00
Matthias Koefferlein
8175306423
WIP: compound operations.
2020-11-16 23:21:58 +01:00
Matthias Koefferlein
5c1efe151e
WIP: fixed a segfault in the unit test.
2020-11-15 18:24:45 +01:00
Matthias Köfferlein
248168ea67
Merge pull request #677 from KLayout/issue-666
...
Issue 666
2020-11-14 20:55:28 +01:00
Matthias Köfferlein
94b71cbf76
Merge pull request #642 from KLayout/2.5d-view-devel
...
2.5d view devel
2020-11-13 02:06:41 +01:00
Thomas Ferreira de Lima
16aba12a84
Adding clarification on GDS properties in cell, instance, shape and layout.
2020-11-13 01:33:55 +01:00
Matthias Koefferlein
5988c92f05
Trying to save some (potentially expensive) layout updates on 'overwrite' cell name conflict resolution.
2020-11-13 01:19:18 +01:00
Matthias Koefferlein
4f0b9118c3
Added test for the collect modes, bugfixed the new modes.
2020-11-13 00:31:56 +01:00
Matthias Koefferlein
f61aac6b1b
Doc: resolve references to child classes too.
2020-11-12 10:22:22 +01:00
Matthias Koefferlein
888b0936f7
Updated test golden data (order of cells only)
2020-11-03 23:11:07 +01:00
Matthias Koefferlein
2ef3290f65
WIP: updated some golden data (only sequence of cells), restored old error messages, proper reporting of cell names in OASIS error messages
2020-11-03 21:18:47 +01:00
Matthias Koefferlein
a92ebd0e17
WIP: cell name conflict resolution modes, bugfixed first implementation
2020-11-03 00:13:55 +01:00
Matthias Koefferlein
85869c329d
BUGFIX: db::Shapes::insert(db::Shapes) wasn't working correctly!
2020-11-03 00:13:28 +01:00
Matthias Koefferlein
eb3600d620
WIP: First implementation. Needs testing.
2020-11-02 01:23:27 +01:00
Matthias Koefferlein
50ee44b6e2
Addressed issue #663 by internal merging of the intruders.
2020-10-28 23:01:54 +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
591d4a5c37
Fixed #652 (M scaling not working sometimes for Spice), provided test… ( #653 )
...
* Fixed #652 (M scaling not working sometimes for Spice), provided testcases
* One more patch (bugfix, Spice reader)
2020-10-10 23:16:02 +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 Köfferlein
52f54ab39e
Fixed #648 (join_nets should work on global nets too) ( #655 )
2020-10-10 23:15:36 +02:00
Matthias Koefferlein
f21dfb4a1c
WIP: further code.
2020-10-09 23:15:02 +02:00
Matthias Koefferlein
18e63d352f
WIP: complex DRC operations ...
2020-10-06 23:51:35 +02:00
Matthias Koefferlein
8e4fd2f679
WIP: complex DRC operations.
2020-10-04 21:46:06 +02:00
Matthias Koefferlein
de97e2cde7
WIP: some bug fixes
2020-10-02 01:00:05 +02:00
Matthias Koefferlein
12a7ea4cd3
WIP: a small bugfix introduced with the latest refactoring
2020-10-01 23:15:53 +02:00