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
94e7f0dbd3
Updated test data, fixed DRC/LVS doc.
2021-05-25 23:30:43 +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
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
0a659124f6
Merge branch 'master' of github.com:KLayout/klayout into wip
2021-05-22 17:49:24 +02:00
Matthias Köfferlein
72c225839d
Merge pull request #802 from KLayout/issue-801
...
Implemented #801 : update, added test case
2021-05-21 00:52:22 +02:00
Matthias Koefferlein
eb26b6ed34
Basic implementation of 'resolve skew aref' feature
2021-05-21 00:08:02 +02:00
Matthias Koefferlein
55bdd904cb
Implemented #801 : update, added test case
2021-05-19 22:25:59 +02:00
Matthias Koefferlein
2e4c5a535a
Fixed test fails: infinite recursion due to duplicate alias on -e following -ne
2021-05-19 22:16:47 +02:00
Matthias Koefferlein
ff033893e0
Added missing file.
2021-05-13 21:13:54 +02: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
3f46098d1b
Merge pull request #789 from KLayout/lefdef-macro-layouts-for-gui
...
Lefdef macro layouts for gui
2021-05-08 22:25:56 +02:00
Matthias Koefferlein
0d848d0597
Added LEF macro file list to API and UI
2021-05-04 22:56:03 +02:00
Matthias Koefferlein
70864e41af
Implemented Edge#cut_point for GSI (was missing)
2021-05-04 21:12:46 +02:00
Matthias Koefferlein
7c3c631515
Merge branch 'master' into feedback
2021-04-29 23:53:47 +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
7d8825a9fb
Ghost cells are not renamed in blend mode 'rename'
2021-04-24 21:30:03 +02:00
Matthias Köfferlein
7ef56c28c8
Merge pull request #774 from KLayout/issue-715
...
Fixes #715 (selection box larger than drawn)
2021-04-19 22:29:11 +02:00
Matthias Köfferlein
e6ab8c2483
Issue 771 ( #773 )
...
* Fixed the issue - Byte array variant was not properly converted to Python/Ruby objects.
* Added tests + properly converting byte arrays to byte array variants in Python.
2021-04-19 22:28:27 +02:00
Matthias Koefferlein
6a77c3ae9a
Another update to fix windows tests (pymod with Python 3.8+3.9)
2021-04-18 15:46:55 +02:00
Matthias Koefferlein
af6f11c2b3
Fixes #715 (selection box larger than drawn)
2021-04-18 14:02:26 +02:00
Matthias Koefferlein
de83fb7e8a
Added missing file.
2021-04-18 12:53:44 +02:00
Matthias Koefferlein
b1943c8b4e
Attempt to mitigate the effects of bpo-36085 in Python 3.8+ on Windows - need to add DLL search paths explicitly.
2021-04-18 10:43:34 +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
9f295523e4
explicit net joining - preparations
2021-03-27 21:56:53 +01:00
Matthias Koefferlein
c48be51cb6
Made SPICE netlist elements case insensitive in LVS scripts
2021-03-24 22:11:15 +01:00
Matthias Koefferlein
94ffc0483e
Added missing files
2021-03-22 14:27:30 +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
cf6145d60c
Unit test robustness against OS and compiler variations
2021-03-15 19:07:06 +01:00
Matthias Koefferlein
1495d9521c
Tests updated.
2021-03-15 16:51:56 +01:00
Matthias Koefferlein
c8246d1e66
Adjusted RBA tests
2021-03-15 10:29:32 +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 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
f2d106651b
Reworked the fill scheme for better support of skewed fill repetitions.
2021-03-11 21:27:49 +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
0d04937c91
Added tests for fill tool
2021-03-05 16:27:57 +01:00
Matthias Koefferlein
af5435f869
Added more tests (inline transformation of region etc. with matrix transformations)
2021-03-05 15:39:02 +01:00
Matthias Koefferlein
44e59bc2ff
Added tests for EdgePairs transformation
2021-03-05 15:34:23 +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
6f8e981504
Merge branch 'master' into drc-enhancements
2021-02-28 23:31:14 +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
b353f7db79
Test stability for Windows/32bit
2021-02-28 13:50:33 +01:00
Matthias Koefferlein
77356cd877
More unit test stability
2021-02-27 21:31:32 +01:00
Matthias Köfferlein
b968f2b47f
#730 : providing a new Qt module named QtUiTools for QUiLoader class s… ( #735 )
...
* #730 : providing a new Qt module named QtUiTools for QUiLoader class support.
* Fixed a compile error on Mac
* Added QtUiTools to some more places
* Fixed a linker issue in the QtUiTools Python lib
* On occasion fixed a infinite recursion problem in the debugger
The recursion happened because by mistake I instantiated a
QApplication inside an in-application Python script. This
crashed the debugger due to infinite recursion. This is not
a real use case but to prevent similar issues, a recursion
sentinel was added.
* Removed QCoreApplication#notify from script bindings
Reasoning: "notify" made standalone scripts using QApplication and
QUiLoader virtually impossible.
Problem description:
- When a QApplication object is instantiated, e.g. in Python, the Qt binding
will install reimplementation hooks as the object may be dynamically
extended.
- A notify is virtual this means the *every* "notify" call in the application
is routed through the interpreter.
- For one thing this will slow down the application
- But as "notify" is called a zillion times this has more than this side effect.
- Specifically "notify" is called from within the QWidget constructor to
indicate a new widget. Then, if a QDialog for example is instatiated, it's
base class constructor will call "notify" when the object isn't ready yet.
- This has another severe side effect: as the object isn't ready yet, it gets
registered in the Python space with the wrong class and QDialog is not visible
as such.
To mitigate these problems, the most efficient solution is to disable "notify"
in general. There is hardly any use case in a script environment (in C++,
apart from hacking the only reasonable use case is exception handling, but
this does not apply to scripts). For providing the call functionality of
"notify" you should better use "postEvent" or "sendEvent" anyway.
So farewell QCoreApplication.notify ...
* Fixed python test for QtUiTools module
* Fixed UiTools test on Qt4 - QUiLoader needs an application object
Co-authored-by: Kazunari Sekigawa <kazunari.sekigawa@gmail.com>
2021-02-25 21:29:21 +01:00
Matthias Köfferlein
483f67307c
Merge pull request #732 from KLayout/lefdef-enhancements
...
Lefdef enhancements
2021-02-25 21:28:02 +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
3db1db831f
Test update after update of LEF/DEF reader.
2021-02-21 21:23:45 +01:00
Matthias Koefferlein
eda1992a7d
Added VIA size selectors for LEF/DEF .map files.
2021-02-21 21:00:55 +01:00
Matthias Koefferlein
898dbf07e9
Implemented FILLS support for LEF/DEF
2021-02-21 18:27:25 +01:00
Matthias Koefferlein
0f4a10441d
RecursiveInstanceIterator: Doc fixes, tests, instance array iteration.
2021-02-20 22:17:43 +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 Koefferlein
a9fa5d73f9
Introducing 'with_holes' and 'without_holes' in DRC and RBA::Region.
2021-02-08 20:59:17 +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
bde58da2a1
Fixed key binding unit test for multiple passes.
2021-02-01 08:30:24 +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 Köfferlein
97ed4cf0f2
Merge pull request #712 from KLayout/gsi-fixes
...
Some enhancements to script API
2021-01-31 19:20:35 +01:00
Matthias Koefferlein
3ea78bf96f
Yet another test suite Python compatibility fix.
2021-01-31 18:16:46 +00:00
Matthias Koefferlein
f263f5c44c
Compatibility with older Ruby and Python versions in unit tests.
2021-01-31 17:14:21 +00:00
Matthias Koefferlein
cdb62cc111
Merge branch 'master' into gsi-fixes
2021-01-27 12:46:34 +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
c7113b8c72
Added methods to manipulate key bindings and menu visibility through scripts (MainWindow#set_key_bindings, MainWindow#get_key_bindings, MainWindow#set_menu_items_hidden ...)
2021-01-26 23:10:26 +01:00
Matthias Koefferlein
bd9afaf865
Fixed pymod tests.
2021-01-25 21:53:32 +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
5aac018503
Mapping QByteArray (and std::vector<char>) to Python 'bytes' now.
2021-01-24 17:36:40 +01:00
Matthias Koefferlein
ad904d3fa1
Updated testdata with new variant because of unordered set fluctuation.
2021-01-23 22:31:17 +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
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
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
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
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
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