Matthias Koefferlein
25b46def17
Disallow zero columns and rows count for AREFs
2021-04-07 23:22:16 +02:00
Matthias Koefferlein
90b131a691
Fixed a warning about open transaction on snap/swap points in ruler properties - undo text is somewhat weak now :(
2021-04-07 23:15:23 +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
d7c79a3d32
Reversed the interpretation of 'good' row/column combination until further clarification.
2021-04-06 22:49:59 +02:00
Matthias Koefferlein
9b7879b2a9
Faster hierarchical edges.
2021-04-06 21:05:02 +02:00
Matthias Koefferlein
9b86ea96d2
Fixed another assertion
2021-04-05 00:30:33 +02:00
Matthias Koefferlein
2c245af13a
Fixed an assertion happining with Qt binding enabled
2021-04-05 00:27:14 +02:00
Matthias Koefferlein
7b9a1ffdee
Made 'rename' blend mode default for buddy scripts
2021-04-04 21:34:43 +02:00
Matthias Koefferlein
ac9aa475ab
Properly handle external classes such as PCellDeclarationHelper in gsi::initialize_expressions
2021-04-04 18:41:35 +02:00
Matthias Koefferlein
85c3128c13
Adding --blend-mode to buddy scripts for mitigating the risk of joining files
2021-04-03 18:26:53 +02:00
Matthias Koefferlein
f9762009c6
Bugfix: don't forget to initialize child classes in gsi expressions.
2021-04-03 18:24:57 +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 Köfferlein
09793e8502
Merge pull request #762 from KLayout/issue-757
...
Issue 757
2021-04-03 15:33:47 +02:00
Matthias Koefferlein
2862cb4ffd
Marked 2.5d as experimental, wording of an error message
2021-04-03 01:39:19 +02:00
Matthias Koefferlein
b4f2bfdd5c
Enabled Qt4 builds hopefully
2021-04-03 01:24:24 +02:00
Matthias Koefferlein
52754ed418
2.5d view and help integration
2021-04-03 00:37:23 +02:00
Matthias Koefferlein
53f2c0e28f
Doc for 2.5d view
2021-04-03 00:17:28 +02:00
Matthias Koefferlein
9c1ef3c6dd
Enhanced 2.5d navigation
2021-04-02 22:58:39 +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
9acf4cd99e
Implemented solution for #757
2021-04-02 00:22:30 +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
729975bae8
Fixed a doc XML integrity issue
2021-03-30 18:23:42 +02:00
Matthias Köfferlein
8cb73c2daa
Merge pull request #759 from KLayout/fill-enhancements
...
Fill enhancements
2021-03-30 12:36:48 +02:00
Matthias Köfferlein
9f26cffa23
Fixed issue #750 ( #752 )
2021-03-30 12:36:29 +02:00
Matthias Köfferlein
93ba3c14ec
Merge pull request #751 from KLayout/drc-enhancements
...
Global transformations and some bug fixes
2021-03-30 12:35:47 +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
3f37b0e5a4
Fill cell box introduced as a concept, added tests, overlapping fill cells supported.
2021-03-29 22:12:47 +02:00
Matthias Koefferlein
127b520899
Updated doc.
2021-03-29 21:00:50 +02:00
Matthias Koefferlein
b725f5fb0f
fill_with_left, implementation + tests
2021-03-29 20:58:16 +02:00
Matthias Koefferlein
f0386b616a
Regenerated documentation
2021-03-29 17:27:16 +02:00
Matthias Koefferlein
311d0e3ca7
Fixed some merge issues.
2021-03-29 15:18:19 +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
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
de4454a0d6
Updated documentation
2021-03-27 23:56:53 +01:00
Matthias Koefferlein
6ceac2c6ba
Updated a test.
2021-03-27 23:14:33 +01:00
Matthias Koefferlein
9f295523e4
explicit net joining - preparations
2021-03-27 21:56:53 +01:00
Matthias Koefferlein
e0eac2147b
Refining the display enhancements for terminals in netlist browser.
2021-03-27 00:44:48 +01:00
Matthias Koefferlein
3ce13f6769
Attempt to get a better picture of mismatching device pins at the presence of device pin swapping
2021-03-26 17:46:10 +01:00
Matthias Koefferlein
a0cab9832f
Fixed probe feature of LVS dialog for flat extraction.
2021-03-26 00:40:18 +01:00
Matthias Koefferlein
cb2d76def6
New test case for LVS
2021-03-26 00:02:01 +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
b8be13e2e6
Fixed a potential crash in the netlist browser
2021-03-23 22:55:30 +01:00
Matthias Koefferlein
fa1719acc3
Avoid a deadlock in the logger system
2021-03-23 22:45:45 +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
536681f5e1
Small, but important bugfix: sometimes, the layout view got stuck in 'disable edits' mode which could only be left by closing the view.
2021-03-16 23:43:04 +01:00
Matthias Koefferlein
9fbc39a827
Fixed a segfault happening when closing a layout tab.
2021-03-16 23:35:24 +01:00
Matthias Koefferlein
3bd63e4b80
Qt4 compatibility
2021-03-15 18:23:34 +01:00
Matthias Koefferlein
d9686c1f77
Added one more LVS test
2021-03-15 17:18:30 +01:00
Matthias Koefferlein
1495d9521c
Tests updated.
2021-03-15 16:51:56 +01:00
Matthias Koefferlein
b8677f650b
Supply event processing from log events also if an abstract progress is used
2021-03-15 16:04:58 +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
af4395e9a8
doc fixes.
2021-03-15 10:42:46 +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 Koefferlein
fea594ff69
Unit tests modified because of interface change for netlist comparer
2021-03-14 23:51:20 +01:00
Matthias Koefferlein
3845658319
Typo fixed.
2021-03-14 20:44:01 +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
19741c9fb2
Bufix: LVS browser crashed on 'unload' and 'unload all'
2021-03-14 19:30:55 +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
34109c6096
Merge pull request #741 from KLayout/new-layout-with-layer
...
Implemented new layout dialog with intial layers
2021-03-14 12:28:11 +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
518145fd3e
Fixed a crash in the netlist browser (pending highlights while netlist has been changed)
2021-03-14 10:01:51 +01:00
Matthias Koefferlein
67a1b3a99f
WIP: fill + DRC, experimental.
2021-03-14 02:40:12 +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
c43cff0e43
UI cleanup.
2021-03-13 18:01:19 +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
3378a9a7ce
'final' progress objects: will prevent child progress objects from showing too.
2021-03-13 10:12:53 +01:00
Matthias Koefferlein
7c4c928632
Sync mode for tiling progress enhanced - with progress now.
2021-03-13 10:12:01 +01:00
Matthias Koefferlein
f323c830d7
Enhancements for sync mode in threaded workers: allows providing progress too.
2021-03-13 10:11:27 +01:00
Matthias Koefferlein
9e474e4cc2
Provide more information for GSI error messages.
2021-03-13 00:15:05 +01:00
Matthias Koefferlein
fd01328659
Fixed Expressions error message for multi-line expressions.
2021-03-12 23:18:23 +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
9e3183250f
Fixed some flaws in the layer list
...
- sometimes, layers which were supposed to be hidden were still shown
(e.g. after paste, "add other layer views" etc.)
- sometimes, layers were only partially hightlighted due to invalid
persistent model indexes.
2021-03-07 22:20:28 +01:00
Matthias Koefferlein
a7c263bc98
Fixed an uninitialized member.
2021-03-07 22:20:18 +01:00
Matthias Koefferlein
175fde2562
Enabled shortcuts for actions in macro editor widget
...
For example, Ctrl+S was captured by the editor rather than forwarded to the
action.
2021-03-07 22:19:23 +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
beefaf40f5
Added test to discover that the issue is already fixed.
2021-03-04 23:21:50 +01:00
Matthias Koefferlein
3a9a7e81fb
Implemented new layout dialog with intial layers
...
Plus small enhancements: the first layer will be selected
initially, so you can starting drawing immediately.
2021-03-04 23:11:54 +01:00
Matthias Koefferlein
0ca3484e98
Fixed #739 (display bug)
2021-03-04 22:00:46 +01:00
Matthias Koefferlein
9cb7c2cc2a
Fixed a build issue without HAVE_QT_XML
2021-03-03 00:15:12 +01:00
Matthias Koefferlein
687059525c
Fine-grained Qt module selection for Qt binding and disabling of view_25d plugin without OpenGL
2021-03-02 23:28:35 +01:00
Matthias Koefferlein
44baeea362
Disable view25d plugin if OpenGL is not enabled.
2021-03-02 22:01:08 +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
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
6f8e981504
Merge branch 'master' into drc-enhancements
2021-02-28 23:31:14 +01:00
Matthias Koefferlein
2a9564856b
Fixed Qt-binding less builds
2021-02-28 23:31:06 +01:00
Matthias Koefferlein
8c6b231ae6
First steps towards differential interaction functions
2021-02-28 23:22:44 +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
77356cd877
More unit test stability
2021-02-27 21:31:32 +01:00
Matthias Koefferlein
be5714607f
Added a build dependency for safer building
2021-02-27 19:08:43 +01:00
Matthias Koefferlein
33ae3b0239
Added a build system option to enable/disable uitools support as some distributions do not support that
2021-02-27 18:03:37 +01:00
Matthias Koefferlein
66199958a5
Stupid typo fixed
2021-02-27 00:02:09 +01:00
Matthias Koefferlein
9350b33bcb
Squashed commit of the following:
...
commit 2a8a2d228d
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Fri Feb 26 23:54:08 2021 +0100
One more fix.
commit 8c4d76505c
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Fri Feb 26 23:03:07 2021 +0100
More patches for uitools-less build for CentOS 8
commit 2ac28292b8
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Fri Feb 26 22:52:27 2021 +0100
First steps for fixing build on CentOS 8 without uitools
2021-02-26 23:59:23 +01:00
Matthias Koefferlein
f993c0397d
A linker issue fixed on Windows.
2021-02-25 23:08:42 +01:00
Matthias Koefferlein
68e1284c93
Fixed #728
2021-02-25 22:03:41 +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
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
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 Köfferlein
9d5636a89d
Merge pull request #729 from KLayout/search-improvements
...
Search improvements
2021-02-25 21:27:25 +01:00
Matthias Köfferlein
c28451ed88
Merge pull request #727 from KLayout/drc-enhancements
...
Drc enhancements
2021-02-25 21:27:06 +01:00
Matthias Koefferlein
f700b3e056
Linker issue solved
2021-02-21 23:18:57 +01:00
Matthias Koefferlein
835133854c
Qt4 compatibility, some enhancement of macro IDE completer
2021-02-21 22:42:52 +01:00
Matthias Koefferlein
9074c918bb
Fixed a linker name clash.
2021-02-21 22:11:33 +01:00
Matthias Koefferlein
fea33b284e
Qt4 compatibility.
2021-02-21 21:55:36 +01:00
Matthias Koefferlein
3db1db831f
Test update after update of LEF/DEF reader.
2021-02-21 21:23:45 +01:00
Matthias Koefferlein
fe2d4eb570
Bugfix: LEF/DEF FILLS options were not active in buddy scripts.
2021-02-21 21:07:13 +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
96e3570c6d
LEF/DEF: preparations for FILLS support, UI rearrangement.
2021-02-21 17:28:58 +01:00
Matthias Koefferlein
2168a72b9d
Technology changed event for CellView
2021-02-21 09:12:13 +01:00
Matthias Koefferlein
b31a64b367
Formulas for 'goto position' dialog.
2021-02-21 08:45:54 +01:00
Matthias Koefferlein
b1fc6008d9
WIP: better progress when reading OASIS irregular repetitions.
2021-02-21 08:36:45 +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