Matthias Koefferlein
4389196000
Change layer now also acts on the transient selection if nothing else is selected.
2020-08-03 21:50:55 +02:00
Matthias Koefferlein
5bd73bb8bf
'tap' now changes the current layer while editing and also initiates polygons, paths and boxes.
2020-08-03 20:20:25 +02:00
Matthias Koefferlein
1887fd715a
First new implementation of "tap" and some enhancements/bugfixes/refactoring
...
- Layer icons can be obtained now
- Icon dimension is arbitrary
- Scaling icons for layer list
- More robust event handling in case of pop-up menus
(selector)
- "Tap" will noe pop up a menu with all layers below the cursor.
When selected, the current layer is switched.
2020-08-03 10:34:16 +02:00
Matthias Koefferlein
f810eae7a0
New feature: repeat selection
...
1. "Select Next Item" will repeat the selection on the last single-click location
or select the current transient selected (essentially like a single click)
This feature is by default bound to "Space"
2. "Select Next Item too" will do the same, but add to the selection
This feature is by default bound to "Shift+Space"
2020-08-02 17:41:22 +02:00
Matthias Koefferlein
374c8d2c4d
Some refactoring: pulled out the layout functionality from the layout view and put into a plugin.
2020-08-02 17:34:07 +02:00
Matthias Koefferlein
471fefe79d
Merge branch 'master' into lefdef-enhancments
2020-08-02 14:27:00 +02:00
Matthias Koefferlein
0caf468ad9
via cell name prefix wasn't persisted
2020-08-02 12:10:04 +02:00
Matthias Koefferlein
23ec53e1b2
Abbreviated LEF/DEF layer names for map files.
2020-08-02 12:01:28 +02:00
Matthias Koefferlein
84573a21ce
Skip END LIBRARY, so LEF files can be cat together
2020-08-02 11:31:37 +02:00
Matthias Koefferlein
404799bdfd
Bugfixed map file reader for mask case, added test
2020-08-02 00:56:55 +02:00
Matthias Koefferlein
440b2b122b
Fixed test cases - main reason is the different assignment of layer numbers, mainly for the auxiliary layers such as OUTLINE
2020-08-02 00:09:20 +02:00
Matthias Koefferlein
79d3676257
And one more ...
2020-07-31 07:55:16 +02:00
Matthias Koefferlein
cdcde2469a
And another compiler specific fix ...
2020-07-31 07:52:12 +02:00
Matthias Koefferlein
a7aa99e5e2
Yet another compiler specific fix
2020-07-31 07:51:23 +02:00
Matthias Koefferlein
c81e462b60
Another compiler specific fix
2020-07-31 07:48:34 +02:00
Matthias Koefferlein
37544e5e23
Merge branch 'master' into lefdef-enhancments
2020-07-31 00:58:24 +02:00
Matthias Koefferlein
f2b678cb7b
Fixed master builds on Qt 4
2020-07-31 00:15:38 +02:00
Matthias Koefferlein
7d2715401f
Fixed compile issue with some gcc's
2020-07-30 23:59:08 +02:00
Matthias Koefferlein
f4e75aaa74
WIP: reworked layer mapping scheme, needs fixing
2020-07-30 23:53:34 +02:00
Matthias Koefferlein
d069dde98e
WIP: first test case for mask support - needs testing.
2020-07-27 23:13:15 +02:00
Matthias Koefferlein
5c7862d8cd
Bugfix, update of golden data.
2020-07-25 23:28:38 +02:00
Matthias Koefferlein
974ce6c960
unused vias are not generated anymore - golden layouts updated.
2020-07-25 23:23:57 +02:00
Matthias Koefferlein
a9719ad78e
WIP: bug fixing.
2020-07-25 22:54:25 +02:00
Matthias Koefferlein
dbe5e19017
First implementation of masks for vias. Needs debugging.
2020-07-25 22:15:09 +02:00
Matthias Koefferlein
0d52da77ee
WIP: first version of reading with MASK
2020-07-18 22:59:02 +02:00
Matthias Koefferlein
b9c49f0603
Mask specific suffixes, datatypes for LEF/DEF reader.
2020-07-18 22:28:14 +02:00
Matthias Koefferlein
f17e3d50f0
Added doc link and manual page for layer specifications.
2020-07-18 18:46:42 +02:00
Matthias Koefferlein
de12c6247c
Removed confusing LEF import option - there is only import LEF macros or don't
2020-07-18 18:08:50 +02:00
Matthias Koefferlein
89745fd0de
Merge branch 'master' into lefdef-enhancments
2020-07-18 09:21:16 +02:00
Matthias Koefferlein
4d4c7aee78
Fixed a unit test.
2020-07-17 23:59:37 +02:00
Matthias Koefferlein
3dff7549f2
Implemented #588 : Netlist browser enhancements
...
1. The netlist browser now got events for
selection and probe events
2. The netlist browser was overhauled to support
"infinite depth" views
3. Ambiguities are not shown as errors now
4. New classes for support netlist object
selections and the netlist browser.
Multiple selections for netlist browser.
2020-07-16 22:53:59 +02:00
Matthias Koefferlein
c8a4d25b51
WIP: enabling selection_changed event
2020-07-15 00:35:38 +02:00
Matthias Koefferlein
f8c2afaad8
Using NetlistObjectPath for probe_event.
2020-07-15 00:10:42 +02:00
Matthias Koefferlein
be5f03b1f4
Netlist browser: Paths for probing, cell contexts for highlighting, probe_net with initial circuit (not just top one)
2020-07-14 23:06:26 +02:00
Matthias Koefferlein
a10d56e6b6
WIP: netlist browser - net object paths, single + pairs, tests
2020-07-13 22:11:10 +02:00
Matthias Koefferlein
2762daf14f
WIP: fixed tests, fixed an assertion with null nets
2020-07-12 22:32:01 +02:00
Matthias Koefferlein
f54c03f4ca
WIP: fixed some segfaults.
2020-07-12 21:33:02 +02:00
Matthias Koefferlein
dcdf9a8ec1
WIP: paths for tree model too
2020-07-12 21:06:03 +02:00
Matthias Koefferlein
27d1f2fac1
WIP: same sorting of subcircuit connections and circuit pins.
2020-07-12 10:32:46 +02:00
Matthias Koefferlein
8bb7342147
WIP: less nodes.
2020-07-12 10:15:21 +02:00
Matthias Koefferlein
98f808d585
WIP: connections of subcircuits are separate node now, pins and terminals show up as nets.
2020-07-12 09:28:42 +02:00
Matthias Koefferlein
f00f5c76b8
WIP: netlist browser tree, highlights etc.
2020-07-12 01:22:22 +02:00
Matthias Koefferlein
62ed7b9def
Fixed tests.
2020-07-11 19:07:28 +02:00
Matthias Koefferlein
f9fa3d3aa3
WIP: some safety
2020-07-11 14:41:42 +02:00
Matthias Koefferlein
74b87d536e
Fixed unit tests partially.
2020-07-11 14:31:56 +02:00
Matthias Koefferlein
fde90c66e1
Better handling of pin swapping in netlist browser
2020-07-11 13:21:23 +02:00
Matthias Koefferlein
aaa8352a40
Enhancements for netlist tree view - deep hierarchy, no 'failing' terminals on ambiguous device terminals
2020-07-11 00:54:26 +02:00
Matthias Koefferlein
6021a66c40
New node hierarchy for netlist browser.
2020-07-09 00:55:38 +02:00
Matthias Koefferlein
6aff74c844
Merge branch 'master' into issue-588
2020-07-08 23:29:27 +02:00
Matthias Köfferlein
25e3a1a4a7
Merge pull request #608 from KLayout/more-checked-netlist-operations
...
Checked add/remove methods for Netlist objects - to avoid script mist…
2020-07-07 12:52:15 -07:00
Matthias Köfferlein
c1e627b176
Merge pull request #606 from KLayout/debug-basic_rba-crash
...
Fix candidate for MacOS rba:basic crash
2020-07-07 12:52:00 -07:00
Matthias Koefferlein
0dbebdca91
Fixed test.
2020-07-07 21:39:24 +02:00
Matthias Koefferlein
ad00b4a9bf
Merge remote-tracking branch 'remotes/origin/master' into add-testcase
2020-07-07 21:22:28 +02:00
Matthias Koefferlein
848fd3e1bb
Added testcase
2020-07-07 21:21:33 +02:00
Matthias Köfferlein
de9e180f3c
Fixed #609 (internal error on netlist extract) ( #610 )
...
Reason was: when caching instance-to-instance interactions,
the array descriptions need to be normalized too.
2020-07-07 18:24:06 +02:00
Matthias Koefferlein
8adeaaf938
Checked add/remove methods for Netlist objects - to avoid script mistakes.
2020-07-05 19:02:43 +02:00
Matthias Köfferlein
5dce0d8384
Implemented #603 (Coordinates for adjust origin) ( #604 )
2020-07-05 18:42:08 +02:00
Matthias Köfferlein
54cca8912b
Implemented #586 (issues with duplicate cell names) ( #605 )
...
As discussed in the ticket, the implementation will
check for unique cell names upon *writing* of a layout
file.
2020-07-05 18:41:44 +02:00
Matthias Koefferlein
beec19951d
Candidate for fix.
2020-07-05 14:09:23 +02:00
Matthias Köfferlein
6365ddfe82
Fixed #591 (two topics for macro editor) ( #595 )
...
* Fixed #591 (crash on Macro/Add Location)
The main reason was that the QSortFilterProxyModel is very sensitive
to the order of signals it receives from the proxy model.
In this case, dataChanged() must not be send between layoutAboutToBeChanged()
and layoutChanged(). This happened implicitly during load() of a macro while
scanning the freshly added folder.
* Fixed another part of #591 : ability to disable template selection pop-up in macro editor. Tied to the tip window now - if this is dismissed, no template selection dialog will be shown.
2020-07-03 23:41:52 +02:00
Matthias Köfferlein
4db20b3b48
Fixed #596 (crash on library _destroy) ( #597 )
2020-07-03 23:41:20 +02:00
Matthias Köfferlein
dcd0476efc
Implemented issue #598 (Cell#transform) ( #600 )
2020-07-03 23:41:09 +02:00
Matthias Köfferlein
4bd2672134
Fixed #592 (layer mapping issue) ( #601 )
2020-07-03 23:40:55 +02:00
Matthias Köfferlein
b413cb9d74
Netlist compare: Ambiguity resolution through name matching now default (can be turned off) ( #594 )
...
* WIP: some refactoring
* WIP: some refactoring
* Netlist compare: introducing ambiguity resolution by net names
By default now net names are used for resolving ambiguities.
If net names match, they will be used to associate nets if the
choice is ambiguous. This is usually much faster and more reliable
than trying to resolve ambiguities through topology analysis.
This feature can be disabled using "consider_net_names(false)" in
the LVS script.
* Some refactoring, Jenkinsfile modified for better test coverage
2020-06-29 20:47:57 +02:00
Matthias Köfferlein
e744eb32d1
Merge pull request #580 from KLayout/drawing-performance2
...
Drawing performance2
2020-06-28 16:14:48 +02:00
Matthias Koefferlein
43ceeecf6e
Golden test data for Ubuntu 20 and Windows, pipe output stream for Windows.
2020-06-27 09:50:55 +02:00
Matthias Koefferlein
c517aa4ff7
Cherry-picked MacOS fixes into master
2020-06-27 01:47:35 +02:00
Matthias Koefferlein
69fe4a5edf
Provide a new option -o for unit test runner which sends the log to a file. This way we don't capture qWarning in the XML JUnit logs.
2020-06-27 00:25:56 +02:00
Matthias Koefferlein
b91e2324d0
Netlist compare enhancement
...
This enhancement targets towards a better resolution
of ambiguities. The enhancement is to utilize knowledge
about device and subcircuit equivalences to avoid stale
branches of the ambiguity resolution tree.
So far following these branches could lead to a
contradictions which render an ambiguitiy resolution
choice useless.
One effect of this change is enhanced reproducibility
of the matching log because some pointers are not
involved anymore.
2020-06-26 17:01:03 +02:00
Matthias Koefferlein
613c95e9a3
WIP: enhanced netlist model
2020-06-18 23:50:50 +02:00
Matthias Koefferlein
649b234644
WIP: enhanced netlist model
2020-06-18 23:46:50 +02:00
Matthias Koefferlein
f4495274ab
WIP: refactoring for more comfortable net browser
2020-06-17 23:20:43 +02:00
Matthias Koefferlein
03bf0a557e
WIP: refactoring for more comfortable net browser
2020-06-17 23:14:20 +02:00
Matthias Koefferlein
fd5c659ea6
WIP: refactoring for more comfortable net browser
2020-06-16 23:13:52 +02:00
Matthias Koefferlein
e37e3f6793
Fixed doc flaw: child classes were not properly cross-referenced as return values or arguments. Need qualified names.
2020-06-15 01:37:03 +02:00
Matthias Koefferlein
23e9932c87
Consistent naming of events: on_...
2020-06-15 01:29:05 +02:00
Matthias Koefferlein
fc75bf72f8
Avoid a segfault when the owner of a callable went out of scope and got deleted (pya): null weak pointer happens
2020-06-15 01:28:49 +02:00
Matthias Koefferlein
3f1c3cf209
Extended NetlistCrossReference class so we can easily obtain the other_... objects.
2020-06-15 01:27:33 +02:00
Matthias Koefferlein
84a9853435
Maybe fixed a potential segfault (0-1 as row index)
2020-06-15 01:26:49 +02:00
Matthias Koefferlein
61c9c12414
WIP+Bugfix
...
1. Bugfix: avoid an internal error because in set_db highlight()
was called before setup_trees(). Error was:
Internal error: ../../../src/laybasic/laybasic/layNetlistBrowserPage.cc:387 model != 0 was not true in LayoutView::show_l2ndb
2. Provide GSI binding for lay::NetlistBrowserDialog
2020-06-14 23:31:44 +02:00
Matthias Koefferlein
880b9904cf
WIP Netlist probing will deliver an instantiation path now.
2020-06-14 22:04:16 +02:00
Matthias Koefferlein
b0b275f106
Updated DRC doc.
2020-06-14 18:51:56 +02:00
Matthias Koefferlein
823807641b
Added anonot method to DRC, provide tests.
2020-06-14 18:49:21 +02:00
Matthias Koefferlein
d141c0895d
Added tests for Region's andnot.
2020-06-14 18:12:17 +02:00
Matthias Koefferlein
966c351958
Merge branch 'master' into drc-enhancements
2020-06-14 17:55:17 +02:00
Matthias Koefferlein
3637b15a74
Generalization of code for twobool local operation
2020-06-14 17:06:53 +02:00
Matthias Koefferlein
41fe04bbc8
WIP: twobool local processor
2020-06-14 17:00:54 +02:00
Matthias Koefferlein
041abe3e89
Added a testcase for two-boolean edge processor.
2020-06-14 16:50:34 +02:00
Matthias Koefferlein
ad22ade9ae
WIP: preparations finished, testing required.
2020-06-14 16:06:28 +02:00
Matthias Koefferlein
5aa301bcc6
WIP: more preparations
2020-06-14 15:57:23 +02:00
Matthias Koefferlein
1bdf18a51b
WIP: more preparations
2020-06-14 14:53:46 +02:00
Matthias Koefferlein
688425c31d
WIP: preparations for multi-output edge processor.
2020-06-14 14:16:15 +02:00
Matthias Koefferlein
4390a80dda
Added test cases for multiple-outputs local processors.
2020-06-13 23:57:40 +02:00
Matthias Koefferlein
0a10635363
Fixed memory statistics for array (wasn't taking the right statistics for irregular arrays)
2020-06-13 19:55:33 +02:00
Matthias Koefferlein
d462a442a8
LEF/DEF reader
...
More consistently ignore the settings from the "Rule based layer mapping".
So if a map file is given, the map file statements shall not be overridden
by rules from the rule-based mapping tab.
2020-06-13 15:39:41 +02:00
Matthias Koefferlein
96caa646f5
WIP: preparations for multi-input/multi-output local processor.
2020-06-07 18:04:30 +02:00
Matthias Koefferlein
b72f819d57
Fixed a potential segfault.
2020-06-06 10:25:20 +02:00
Matthias Koefferlein
689b3c5af9
Merge branch 'issue-374' into drc-enhancements
2020-06-05 14:07:01 +02:00
Matthias Koefferlein
5992a9b509
Merge branch 'master' into lefdef-enhancments
2020-06-05 14:05:13 +02:00
Matthias Köfferlein
95111f8aa8
Implemented #522 (skip // lines in RVE reader) ( #583 )
2020-06-05 12:11:02 +02:00
Matthias Köfferlein
852f5c438b
Implemented #560 (multiple technologies on libraries) ( #576 )
...
* First implementation.
* PORT BACK: fixed a few flaws (fixed-width side panel ..)
1. On "save as" the filename displayed in the cell view selection box
was not updated
2. The width of the library and cellview panel could not be reduced
below the width of the combo boxes in the headers. So the
panels might have become pretty wide without being able to reduce
them.
* Implemented #560 (multiple techs on libraries)
2020-06-05 10:58:53 +02:00
Matthias Köfferlein
8db1e3577f
Fixed issue #578 (CIF writer issue with arbitrary angle) ( #581 )
...
* Fixed isse #578 (CIF writer issue with arbitrary angle)
* Added missing files.
2020-06-05 10:57:14 +02:00
Matthias Köfferlein
2d0a9418f9
Implemented #579 (perimeter_only mode for antenna check) ( #582 )
...
* WIP: added basic feature and tests.
* WIP: provide tests are GSI binding of new antenna check
* Fixed issue #579 (perimeter_only mode for antenna check)
* Updated DRC doc for 'perimeter_only'
2020-06-05 10:55:07 +02:00
Matthias Koefferlein
339a2a6fd7
Maybe fixed a performance issue (layout object needs to be locked)
2020-06-05 00:34:07 +02:00
Matthias Koefferlein
233574598b
Support for LEF via definition properties (syntax wise, not semantics wise)
2020-06-04 17:55:06 +02:00
Matthias Koefferlein
8b0ab115ed
Memory footprint optimization for quad tree
2020-06-04 15:38:53 +02:00
Matthias Koefferlein
adfd653213
WIP: refactoring - include fuzzy compare in array, don't put into GSI method impl.
2020-06-04 13:01:11 +02:00
Matthias Koefferlein
999c065262
Introducing iterated arrays for instances
...
Iterated instances are created for OASIS files
using irregular repetitions in viewer mode.
Reason: this way, the same drawing optimization
than for iterated shape arrays can be applied.
As this is a new API feature, some adjustments
had to be made to incorporate them into the
code.
2020-06-04 12:17:34 +02:00
Matthias Koefferlein
9c4648a5b5
WIP: some bug fixing and enhancements.
2020-06-02 23:59:09 +02:00
Matthias Koefferlein
cdf4d08fd3
WIP
...
* Maybe fixed a performance issue on box-trees: the iterator wasn't
going down to the very bottom of the tree on initialization
* Added array quad skipping in display of shape arrays
2020-06-01 23:28:04 +02:00
Matthias Koefferlein
4aa1364e4b
Fixed DEF reader, updated golden test data.
2020-06-01 15:04:25 +02:00
Matthias Koefferlein
d7af7fc5c0
Merge branch 'lefdef-enhancments'
2020-06-01 13:37:45 +02:00
Matthias Köfferlein
0c0d247c23
Merge pull request #574 from KLayout/issue-558
...
Fixed #558 ("extents" wasn't deep-enabled for Edges, Texts and EdgePairs)
2020-06-01 00:21:46 +02:00
Matthias Koefferlein
82c6a5bc6b
WIP: fixed more gcc-9 warnings.
2020-05-31 21:50:10 +02:00
Matthias Koefferlein
a9c0616aa0
WIP: more changes
2020-05-31 10:37:30 +02:00
Matthias Koefferlein
759f07ee4d
Implemented solution for #570 (deep Edges::extents)
...
While doing this, it was discovered that the problem also
persists for EdgePairs and Texts.
In order to provide a more generic solution, some refactoring
was applied.
2020-05-31 01:55:05 +02:00
Matthias Köfferlein
6601d472bf
Implemented #570 (perimeter included in antenna check) ( #572 )
...
* First implementation of the perimeter factor for antenna check, unit tests.
* Bugfix and unit tests for GSI binding of new antenna check version.
* DRC integration of perimeter-enabled antenna check.
* Enhanced DRC doc for antenna rule
2020-05-30 21:45:48 +02:00
Matthias Koefferlein
bea3e29421
Merge branch 'master' of https://github.com/KLayout/klayout
2020-05-28 00:44:49 +02:00
Matthias Koefferlein
e94b40cab9
Fixed Windows build (linker error)
2020-05-28 00:44:27 +02:00
Matthias Köfferlein
3246e0d36f
Fixed #565 (SPICE global nets must not produce pins if not present) ( #567 )
...
* Fixed #565 (SPICE global nets must not produce pins if not present)
* Fixed unit tests.
2020-05-26 23:47:59 +02:00
Matthias Köfferlein
ba46ffb276
Merge pull request #563 from KLayout/issue-487
...
Fix #487 (True text object support for DRC/LVS)
2020-05-26 22:44:53 +02:00
Matthias Köfferlein
a046457cc5
Fixed bug #568 (CIF writer issue with small rotation angles) ( #569 )
...
* Fixed bug #568 (CIF writer issue with small rotation angles)
* Fixed the reader bug too which created the rounding issue.
2020-05-25 22:10:06 +02:00
Matthias Koefferlein
29a5b4c519
Bugfix: wrong type cast of size_t to unsigned int
2020-05-24 09:44:25 +02:00
Matthias Koefferlein
0f42ebe385
Updated DRC doc, added more tests.
2020-05-23 22:54:50 +02:00
Matthias Koefferlein
5ba3d220e9
Made unit tests a little more consistent.
2020-05-23 22:30:54 +02:00
Matthias Koefferlein
ee53869cbd
Connect_implicit test with labels.
2020-05-23 21:21:30 +02:00
Matthias Koefferlein
f410c91339
Updated documentation
2020-05-23 21:14:01 +02:00
Matthias Koefferlein
ba9a05640c
Bugfixed tiled mode with text input, DRC tests added and test data updated.
2020-05-23 19:03:42 +02:00
Matthias Koefferlein
6fc72b2a39
WIP: doc update
2020-05-23 16:24:05 +02:00
Matthias Koefferlein
81750ed3d8
Tiling processor enabling for text input/output, updated tests.
2020-05-23 16:23:40 +02:00
Matthias Koefferlein
daf8e5f8fc
Bugfix: Region::pull_interacting(edges) wasn't working properly.
2020-05-23 13:19:46 +02:00
Matthias Koefferlein
b84a9df2da
Persisting texts now for .l2n format
2020-05-22 00:58:46 +02:00
Matthias Koefferlein
c682cc85d0
Generalized concept of region, texts etc. into 'shape collections'. Fixed LVS and DRC tests.
2020-05-21 23:59:30 +02:00
Matthias Koefferlein
5795ec8b07
Fixed DRC texts methods, added tests.
2020-05-20 23:56:35 +02:00
Matthias Koefferlein
854320d52d
Debugging: proper assignment of net names through labels.
2020-05-20 23:27:06 +02:00
Matthias Koefferlein
e9af72ee28
Tests for texts as net names, fixed Shapes test (order of texts)
2020-05-20 01:05:19 +02:00
Matthias Koefferlein
cd0b86b1dc
WIP: fixed tests.
2020-05-20 00:31:26 +02:00
Matthias Koefferlein
4c13bb96a0
WIP: refactoring - texts for net extractor.
2020-05-20 00:21:06 +02:00
Matthias Koefferlein
371009ba80
Fixed small typos in LVS doc text.
2020-05-18 21:08:59 +02:00
Matthias Koefferlein
ad0cd2f10c
pull_interacting and interacting/not_interacting for region/text combinations in DRC.
2020-05-16 00:18:54 +02:00
Matthias Koefferlein
7dab87b881
Added tests, Region#pull_interacting with texts
2020-05-15 23:48:21 +02:00
Matthias Koefferlein
878a494abb
AND and NOT for texts vs. region, DRC generalization.
2020-05-15 22:24:18 +02:00
Matthias Koefferlein
8a2742d436
Small doc updates
2020-05-13 22:39:25 +02:00
Matthias Koefferlein
58ca9b8730
Some bug fixes, added tests
2020-05-13 21:56:49 +02:00
Matthias Koefferlein
831acb2c40
Bugfixes, tests for flat interact between region and texts.
2020-05-13 18:25:43 +02:00
Matthias Koefferlein
16d6c75b0e
Fixed build, added tests for filter in deep texts object.
2020-05-13 17:58:00 +02:00
Matthias Koefferlein
4e7d0a81b8
'interact' between regions and texts.
2020-05-13 17:29:10 +02:00
Matthias Koefferlein
08026e8b35
Bugfix: in-place filter not working for region, edges. Implemented hierarchical filter for texts. Added Ruby tests for Texts.
2020-05-12 23:01:54 +02:00
Matthias Koefferlein
c1b1ce6951
Provide unit test for DeepTexts.
2020-05-12 21:43:11 +02:00
Matthias Koefferlein
4fbb6286ac
Fixed unit tests.
2020-05-12 21:16:12 +02:00
Matthias Koefferlein
8b083a8330
Added unit tests for db::Texts, renamed db unit test files so debugging is possible
2020-05-12 21:09:21 +02:00
Matthias Koefferlein
a9cd9ac122
First implementation of texts collection.
2020-05-12 20:44:39 +02:00
Matthias Köfferlein
3f8090b3fd
Fixed #547 (better error messages on some Shape methods, fixed doc). ( #550 )
2020-05-11 19:24:44 +02:00
Matthias Köfferlein
296ec5aebf
Fixed #554 : using 64bit coordinates for RVE reader ( #555 )
2020-05-11 19:24:29 +02:00
Matthias Koefferlein
21173c5f96
Attempt to fix MSVC builds
2020-05-03 10:13:12 +02:00
Matthias Koefferlein
dbfe904cc6
Fixed some build errors.
2020-05-03 10:06:06 +02:00
Matthias Koefferlein
476a2b3f09
WIP: preparations for an extended width/space concept
2020-05-02 15:29:19 +02:00
Matthias Köfferlein
9f4ccaaedc
Issue #535 (Image handling enhancements) ( #551 )
...
* Menu item to hide or show all images
* Images: asymmetric color nodes.
* Added RBA::image::from_s for reading image back from string. Added tests.
* Added image file reader test (RBA)
* Added lyimg format for image file persistence.
* Small fix of unit tests.
* Added GSI binding for new image features and tests.
* Save and load for .lyimg formats in image properties dialog.
2020-05-02 13:45:20 +02:00
Matthias Koefferlein
5fd60e0d49
Planning LEF/DEF enhancements for 0.27 now as this is a too big change.
2020-05-02 13:22:04 +02:00
Matthias Koefferlein
99ec635e5a
Start LEF browser in tech base dir in the context of a technology
2020-05-02 13:19:26 +02:00
Matthias Koefferlein
fd63d1017f
Added tests for LEF/DEF mapfile, fixed a few bugs.
2020-05-02 09:30:17 +02:00
Matthias Koefferlein
97022a3a87
Layer mapping scheme enhancements, UI enhancements
...
* A map file can now be specified and should be read relative
to the technology
* Giving a map file will disable the pattern-based mapping
* UI enhanced accordingly
* Added UI option to configure macro resolution mode
* Bugfix: LEF files have not been read relative to the tech
* Bugfix: Some options where not persistent
2020-05-02 00:14:06 +02:00
Matthias Koefferlein
0e68b910fa
Merge branch 'master' into lefdef-enhancments
2020-05-01 16:00:58 +02:00
Matthias Koefferlein
751340c963
LEF/DEF: Fixed placement of FOREIGN cell
2020-05-01 15:16:08 +02:00
Matthias Köfferlein
86739794a0
Merge pull request #543 from KLayout/fix-missing-python-alternative-doc
...
Fixed problem of missing exec_ documentation
2020-04-30 22:06:55 +02:00
Matthias Köfferlein
cb3833f563
Merge pull request #546 from KLayout/sonarqube-fixes
...
Sonarqube fixes
2020-04-30 22:06:38 +02:00
Matthias Köfferlein
8dae4161e1
Fixed #548 (shield issue on space) ( #549 )
2020-04-30 22:03:16 +02:00
Matthias Koefferlein
f6b2eea0a7
Build fixed.
2020-04-26 17:08:52 +02:00
Matthias Köfferlein
9b0362d03d
Fixed #544 (ignore duplicate global nets in SPICE reader) ( #545 )
2020-04-26 16:54:13 +02:00
Matthias Köfferlein
93a072903c
Fixed #539 (internal error on circuit flatten) ( #542 )
...
Previously, circuits which connected two pins through
a net could not be flattened. This capability now has
been added.
2020-04-26 16:53:50 +02:00
Matthias Koefferlein
3d3bdb001f
Some patches for sonarqube
2020-04-26 10:25:46 +02:00
Matthias Koefferlein
15567d3d27
Some small fixes to make clang-analyze happy.
2020-04-26 09:33:10 +02:00
Matthias Koefferlein
c6b5d2f8d2
DXF reader code change suggested by clang-analyze
2020-04-26 08:42:50 +02:00
Matthias Koefferlein
73f2f23505
Adjusted unit tests for latest fix.
2020-04-26 01:05:07 +02:00
Matthias Koefferlein
88330587a3
Fixed build errors.
2020-04-26 00:26:09 +02:00
Matthias Koefferlein
fffae4134c
Fixed a Sonarqube issue.
2020-04-25 23:37:43 +02:00
Matthias Koefferlein
3a7d9d0b0f
Fixed copyright/license topic.
2020-04-25 23:30:48 +02:00
Matthias Koefferlein
5bedd3cd04
Removed tab characters from sources.
2020-04-25 23:27:29 +02:00
Matthias Koefferlein
1a30fdf4b7
Exceptions must not be strings in Python
2020-04-25 23:25:53 +02:00
Matthias Koefferlein
45c7b97549
Fixed an issue in the strmxor implementation (output_cell wasn't initialized)
2020-04-25 23:23:40 +02:00
Matthias Koefferlein
0bc965dde9
Fixed a layout diff bug (compare of paths)
2020-04-25 23:20:01 +02:00
Matthias Koefferlein
849e97b88a
Fixed a wrong computation of image memory footprint
2020-04-25 23:13:46 +02:00
Matthias Koefferlein
fe2e642e66
Fixed a 'value never read' issue.
2020-04-25 23:10:46 +02:00
Matthias Koefferlein
f1fa81bead
Fixed a 'value never read' issue.
2020-04-25 23:09:41 +02:00
Matthias Koefferlein
8050a54bc8
Fixed a potential null derference issue.
2020-04-25 23:06:41 +02:00
Matthias Koefferlein
4c6d61bed1
Fixed 'at most one statement is allowed per line' for tl_assert macro
2020-04-25 22:59:45 +02:00
Matthias Koefferlein
061e5d7286
Added LEF reading timer (LEF next to DEF)
2020-04-25 22:05:01 +02:00
Matthias Koefferlein
c602871e0e
Implemented Stefan's solution #3 for FOREIGN != MACRO in LEF
2020-04-25 21:08:11 +02:00
Matthias Koefferlein
4c6f1475b1
Made rba:layLayoutView test functional without qtbindings enabled.
2020-04-25 19:45:02 +02:00
Matthias Koefferlein
f6140055d6
Modified reader scheme for FOREIGNCELL
2020-04-24 23:21:27 +02:00
Matthias Koefferlein
7574a41d09
Fixed problem of missing exec_ documentation
2020-04-22 08:07:22 +02:00
Matthias Koefferlein
c7de542070
Some more refactoring of DEF layer mapping
2020-04-19 20:14:12 +02:00
Matthias Koefferlein
71906a5681
WIP: some further refactoring of the layer mapping scheme.
2020-04-19 19:12:03 +02:00
Matthias Koefferlein
040af426dc
WIP: refactoring of map file reading.
2020-04-19 16:54:41 +02:00
Matthias Koefferlein
e51f15b116
New layer flavors: special nets, LEF pins.
2020-04-19 14:38:14 +02:00
Matthias Koefferlein
9825245e0c
Implemented LEF MACRO FOREIGN
2020-04-19 12:16:55 +02:00
Matthias Koefferlein
d93ef3ff97
Timing reports for stream writers too, reporting file names for reader and writer timing.
2020-04-19 10:39:27 +02:00
Matthias Koefferlein
73521bc0dc
Bugfix: 'Delete Layer' was mapped incorrectly to 'Edit Layer Specification'
2020-04-18 22:59:06 +02:00
Matthias Koefferlein
0066381b40
Provide a LayoutView constructor even without Qt bindings enabled
2020-04-18 22:56:34 +02:00
Matthias Koefferlein
9a7f0a9c2a
Fixed a LEF/DEF reader bug (was '+ RECT' or '+ POLYGON' in SPECIALNETS)
2020-04-18 18:48:25 +02:00
Matthias Koefferlein
70d8334f8c
Merge branch 'lefdef-enhancments' of https://github.com/KLayout/klayout into lefdef-enhancments
2020-04-18 18:00:54 +02:00
Matthias Koefferlein
54cf57c772
LEF/DEF enhancements (via cellname suffix configurable, group separation disabled by default)
...
Two new reader options:
1.) via cell name prefix (default is "VIA_"). This name is put in front of the via name to form the cell cell name
2.) group separation disabled by default. Groups are not put into individual parent cells by default.
2020-04-18 17:58:50 +02:00
Matthias Koefferlein
d117e024f0
Removed TODO markers
2020-04-18 00:38:25 +02:00
Matthias Koefferlein
2cdcf621d8
D25 tech component editor: line numbers shown, more syntax variants
2020-04-18 00:37:15 +02:00
Matthias Koefferlein
07ecaac598
Enhancements.
2020-04-18 00:17:17 +02:00
Matthias Koefferlein
747184beef
Using background color as configured.
2020-04-17 23:46:02 +02:00
Matthias Koefferlein
1604c089dc
Link between tech comp and 2.5d view
2020-04-17 19:02:13 +02:00
Matthias Koefferlein
ca2b0cd96a
Added tests for tech component, syntax highlighter fixed.
2020-04-17 16:24:56 +02:00
Matthias Koefferlein
b2216ec372
WIP: tech component + editor.
2020-04-17 11:15:50 +02:00
Matthias Koefferlein
7884446da1
Orientation cube, some refinement.
2020-04-17 00:25:21 +02:00
Matthias Koefferlein
f954afab7a
Added missing files.
2020-04-16 23:14:48 +02:00
Matthias Koefferlein
f9aa89a0b3
WIP: bugfixes, refactoring.
2020-04-16 23:14:22 +02:00
Matthias Koefferlein
921af52643
DEF reader bugfix: wasn't reading SPECIALNETS + ROUTED + RECT
2020-04-14 23:15:08 +02:00
Matthias Koefferlein
61714090e3
Maybe fixed performance issue: usually it's not a good idea to iterate the layout's hierarchy while deleting something from it.
2020-04-14 22:48:18 +02:00
Matthias Koefferlein
2ec712b104
Implementation starts to make sense. TODO: major refactoring, a lot of utility functions like fit, ...
2020-04-13 22:18:52 +02:00
Matthias Koefferlein
9c00568301
WIP: compass, navigation, bug fixes.
2020-04-13 21:34:32 +02:00
Matthias Koefferlein
fd2749895c
WIP: foreground light, enhanced navigation ...
2020-04-13 18:13:17 +02:00
Matthias Koefferlein
194a2747e6
WIP: better hit point detection
2020-04-12 19:15:11 +02:00
Matthias Koefferlein
75b1b4dc54
WIP.
2020-04-12 18:38:39 +02:00
Matthias Koefferlein
55e79ef78f
WIP.
2020-04-12 16:56:30 +02:00
Matthias Koefferlein
d37608dac1
WIP.
2020-04-12 10:32:23 +02:00
Matthias Koefferlein
7077bac647
WIP.
2020-04-11 22:46:35 +02:00
Matthias Koefferlein
56d406aaad
WIP
2020-04-11 12:02:30 +02:00
Matthias Koefferlein
b5a51f15d0
WIP
2020-04-11 11:21:59 +02:00
Matthias Koefferlein
731dfffe1e
WIP
2020-04-11 11:21:36 +02:00
Matthias Koefferlein
7472bd4955
WIP: experiments on OpenGL view.
2020-04-10 22:40:53 +02:00
Matthias Koefferlein
a4c2cd34cf
Fixed some bugs.
2020-04-06 23:55:30 +02:00
Matthias Koefferlein
b7eb150f03
Fixed some bugs.
2020-04-06 23:52:51 +02:00
Matthias Koefferlein
1e2601d154
Fixed some build errors
2020-04-06 23:22:24 +02:00
Matthias Koefferlein
c4e5367b8a
First setup.
2020-04-06 23:22:24 +02:00
Matthias Koefferlein
9c62bb015f
Include BLOCKAGE in map file LEF/DEF, becoming case insensitive for purpose
2020-04-05 23:56:43 +02:00
Matthias Koefferlein
3ada29d606
Some bugfixes for LEF/DEF reader for special nets (extension handling)
2020-04-05 23:49:19 +02:00
Matthias Koefferlein
df7c530013
Bugfix for the net reader of DEF - wasn't properly reading diagonal parts.
2020-04-05 22:56:04 +02:00
Matthias Koefferlein
cd801206bc
Some refactoring - DEF scanner more modular (5)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
4757ad5044
Some refactoring - DEF scanner more modular (4)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
dea3743d59
Some refactoring - DEF scanner more modular (3)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
9df6d29761
Some refactoring - DEF scanner more modular (2)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
99af144d98
Some refactoring - DEF scanner more modular
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
f11a3a0dd5
Bugfix: MINWIDTH ... WRONGDIRECTION wasn't considering DIRECTION VERTICAL
...
Added/updated some tests, some refactoring.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
4a24b727d5
Tried to implement MINWIDTH .. WRONGDIRECTION in LEF58_MINWIDTH property
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
bcaf28c94c
Bugfix LEF/DEF reader: via needs to change the layer also if it's inside a DEF. Added more test cases.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
2c60338ae8
Added DO .. BY .. STEP to vias in SPECIALNETS in DEF reader, added one more private testcase
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
0ae97279d8
Added optional MASK specification to VIA's RECT and POLYGON elements
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
fd0b07f0cd
MERGE: strmxor could not identify layers when one has a name and the other does not (but both have numbers)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
8796b65ddb
DEF reader patched: after via continue with the new metal layer with the width given by the rule.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
ee3ee5bd8e
Another update of the map file reader for LEF/DEF
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
dd63b727f8
Another update of the map file reader for LEF/DEF
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
67a1c0ba25
Updated implementation of mapping file reader for LEF/DEF.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
e15d99e4da
LEF reader fix: determine routing layers for vias without VIARULE from involved layers
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
d328901799
DEF reader fix: TAPER has to disable NONDEFAULTRULE for the segment
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
44503facea
Attempt to auto-import .map files for LEF/DEF reader. Probably needs adjustment.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
df11ff9b85
Merge branch 'master' of https://github.com/KLayout/klayout
2020-04-05 20:20:28 +02:00
Matthias Koefferlein
0abd5d5d96
Fixed some minor compiler warnings.
2020-04-05 18:30:08 +02:00
Matthias Koefferlein
27109312cf
Avoid a runtime warning for missing QWidget binding without Qt bindings compiled in
2020-04-05 18:29:55 +02:00
Matthias Köfferlein
c93db59e37
Fixed #524 (failed query leaves layout in invalid state) ( #528 )
2020-04-05 15:11:37 +02:00
Matthias Köfferlein
865076588b
Fixed issue #530 (events are mentioned as getters two times) ( #531 )
2020-04-05 15:11:18 +02:00
Matthias Köfferlein
2b3a53b285
Implemented #521 (enhanced API for ObjectInstPath) ( #532 )
2020-04-05 15:11:03 +02:00
Matthias Koefferlein
d1f1cf3031
Fixed a refactoring damage: the application mode indicator did not follow programmatic changes.
2020-04-05 14:01:44 +02:00
Matthias Koefferlein
14b6d58a09
Bugfix: paste was always paste_interactive
2020-04-05 13:23:22 +02:00
Matthias Koefferlein
cc6b23bffd
MERGE: fixed a typo in the undo title.
2020-04-01 23:40:00 +02:00
Matthias Koefferlein
c640347570
MERGE: added Spice reader testcase for resistors with model names.
2020-04-01 23:19:21 +02:00
Matthias Koefferlein
8c91dd520d
MERGE: Enhanced DRC and LVS documentation somewhat
2020-04-01 22:45:50 +02:00
Matthias Koefferlein
c021d60d41
Updated unit test
2020-03-29 09:23:13 +02:00
Matthias Koefferlein
86a3150aba
Fixed .pro files
2020-03-29 09:03:02 +02:00
Matthias Koefferlein
115f2edfd6
Removed unused entry from .pro file - made some build crash.
2020-03-28 23:10:02 +01:00
Matthias Koefferlein
99d3610a6a
Implemented #527 (wildcard layer mapping targets)
...
commit d77702cd86066f3a97d740a95923fa598c2ff07b
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Sat Mar 28 21:28:39 2020 +0100
Wildcard expansion feature on layer mapping
Finished feature, added doc and test.
The solution is to use placeholder indexes for the
layer mapping which are substituted by the real
layers when they are encountered.
commit af60b5f18acfe3c5e2f1d4e6bc6ee752a246dc0d
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Sat Mar 28 19:11:32 2020 +0100
Preparations for new feature: introduce relative and wildcard target layer specs
2020-03-28 22:49:57 +01:00
Matthias Koefferlein
53f69ea90d
Fixed a segfault in the unit tests (related to future branch)
2020-03-28 22:49:06 +01:00
Matthias Koefferlein
666cdeadc5
MERGE: documentation enhancements for LVS/DRC
2020-03-28 12:29:53 +01:00
Matthias Koefferlein
a47932a79e
Added one more testcase for join_symmetric_nets
2020-03-28 09:49:41 +01:00
Matthias Koefferlein
9afcec25bc
Fixed #526 - Make scripe debugging more reliable
...
Problem: the debugger was printing an object's value as string.
The effect is that for big objects "to_s" will deliver huge strings
(e.g. polygons, netlists ...). "inspect" is better (already used
for Python), but it's aliased to "to_s" in Python and Ruby.
Huge strings will stall the debugger.
The solution is to stop this aliasing (Ruby 2.x doesn't do it
itself anymore) and use "inspect" consistently for Python and
Ruby.
Details can still be printed in the console.
2020-03-26 22:50:12 +01:00
Matthias Koefferlein
b6ba51e563
Provide timing information for Spice reader/writer
2020-03-26 17:33:18 +01:00
Matthias Koefferlein
04aa005247
Fixed #525 - report true source line in DRC and LVS verbose mode
2020-03-26 17:20:15 +01:00
Matthias Koefferlein
8afd907abb
Fixed builds
2020-03-15 23:27:24 +01:00
Matthias Koefferlein
c10ccccdf7
Merge branch 'app-refactoring' into doc-args
2020-03-15 21:32:39 +01:00
Matthias Koefferlein
8275e47334
More @args removed.
2020-03-14 22:44:43 +01:00
Matthias Koefferlein
daba9d78be
More @args removed.
2020-03-14 22:26:21 +01:00
Matthias Koefferlein
53c81cc572
Got rid of most of the @args
2020-03-14 21:50:47 +01:00
Matthias Koefferlein
c6b48acc76
Some small enhancements
...
LVS: max_branch_complexity was wrong and missing from doc.
Updated test cases so MSVC 2017 builds should pass.
Windows build.bat updated so debug builds can be made.
2020-03-04 21:48:00 +01:00
Matthias Köfferlein
ef4c9313ab
Fixed a severe bug in join_symmetric_nets
2020-03-03 22:24:03 +01:00
Matthias Köfferlein
7a60f5957b
Enable Qt-less build of unit tests on Windows in debug mode and without iterator assertions
2020-03-03 22:19:31 +01:00
Matthias Koefferlein
6721cb9c5b
Merge branch 'issue-482-update'
2020-03-02 18:57:40 +01:00
Matthias Köfferlein
91226230aa
Merge pull request #518 from KLayout/issue-517
...
Fixed #517 (VIARULE issue in DEF reader)
2020-03-02 18:56:55 +01:00
Matthias Koefferlein
8d665bd456
Fixed a minor segfault (DXF reader while having log level verbose), updated Changelog
2020-03-02 18:56:29 +01:00
Matthias Koefferlein
04ae4d5d28
Updated fix (wasn't correctly representing some via pattern)
2020-03-02 00:20:15 +01:00
Matthias Koefferlein
cec1910bf0
Added tests.
2020-03-02 00:13:44 +01:00
Matthias Koefferlein
c9955d39a6
Fixed issue-517
2020-03-02 00:09:41 +01:00
Matthias Koefferlein
a5a4ae511d
Some more tests, a (unlikely) segfault fixed
2020-02-28 23:19:27 +01:00
Matthias Köfferlein
82686b307c
Merge pull request #515 from KLayout/issue-471
...
Implemented #471 (leaner way to specify compare tolerances)
2020-02-27 18:46:15 +01:00
Matthias Köfferlein
56868eda85
Merge pull request #514 from KLayout/issue-482
...
Implemented #482 (split gate option aka join_symmetric_nets)
2020-02-27 18:46:02 +01:00
Matthias Köfferlein
d824956a4f
Merge pull request #510 from KLayout/issue-486
...
Fixed #486 ('save as' feature for macros)
2020-02-27 18:45:50 +01:00
Matthias Koefferlein
78050b1e5f
Implemented #471 : Updated doc.
2020-02-27 17:30:23 +01:00
Matthias Koefferlein
02e38a2cd1
Merge branch 'issue-482' into issue-471
2020-02-27 15:49:35 +01:00
Matthias Koefferlein
d315f84cab
Attempt to fix Windows build error.
2020-02-27 15:46:34 +01:00
Matthias Koefferlein
8b73dffcfe
Implementation done. Added tests.
2020-02-27 15:40:06 +01:00
Matthias Koefferlein
4cfe6ba2b9
Implemented #482 : updated documentation.
2020-02-27 14:34:16 +01:00
Matthias Koefferlein
75e936bd64
Added one more test case.
2020-02-27 13:46:52 +01:00
Matthias Koefferlein
76f5e19ed8
Enhanced LVS with 'join_symmetric_nets'. Updated doc. Added test.
2020-02-27 13:35:36 +01:00
Matthias Koefferlein
3b31109367
Added GSI binding for join_symmetric_nets, added method to get circuits by name pattern.
2020-02-27 12:17:35 +01:00
Matthias Koefferlein
25d1a65b21
Small enhancement: unit tests work also with verbosity >0 now.
2020-02-27 01:29:10 +01:00
Matthias Koefferlein
a46cd305c6
WIP: bug fix for symmetry detection (should consider different pins to break symmetry). Added tests.
2020-02-27 00:52:06 +01:00
Matthias Koefferlein
b35429291e
WIP: join_nets implemented, join_symmetric_nets: enhanced detection of symmetric nets.
2020-02-27 00:52:03 +01:00
Matthias Koefferlein
08af8d85c4
WIP: first algorithm - is capable of deriving the 'resistor cube' symmetry.
2020-02-27 00:52:00 +01:00
Matthias Koefferlein
58de38739a
WIP: some refactoring, debugging output for netlist compare
...
Abstraction: a central getenv() feature to wrap all the system-specific things
Netlist compare debug and options can be enabled through environment variables:
KLAYOUT_NETLIST_COMPARE_DEBUG_NETCOMPARE=1: print netlist compare debug info
KLAYOUT_NETLIST_COMPARE_DEBUG_NETGRAPH=1: print net grapg
KLAYOUT_NETLIST_COMPARE_CASE_SENSITIVE=1: make netlist compare case sensitive
2020-02-27 00:51:55 +01:00
Matthias Koefferlein
7d7c9aecc6
Fixed #486 ('save as' feature for macros)
2020-02-23 14:10:26 +01:00
Matthias Koefferlein
2564b11da3
Fixed #478 (shapes method can't be used in queries)
2020-02-23 13:36:20 +01:00
Matthias Koefferlein
d01759aa60
Implemented #500 (limit number of shapes in net tracer)
2020-02-23 11:02:15 +01:00
Matthias Köfferlein
1992fc762a
Issue #489 (Pin names as shape properties) ( #507 )
...
* Fixed #489 (LEF/DEF reader provides pin names as properties)
* Removed vi swap file
* #489 fixed (LEF pins also get properties, added tests)
2020-02-23 00:29:12 +01:00
Matthias Köfferlein
946af71f2f
Fixed issue #473 (fast accessors to image pixel and mask data through… ( #503 )
...
* Fixed issue #473 (fast accessors to image pixel and mask data through arrays)
* Updated Jenkinsfile to not publish a PR build
* Updated Jenkinsfile to not publish a PR build
2020-02-21 18:38:08 +01:00
Matthias Köfferlein
7c89192ad8
Fixed #502 (issues with AbsoluteProgress) ( #504 )
...
* Fixed #502 (issues with AbsoluteProgress)
* Updated Jenkinsfile to not publish a PR build
2020-02-21 18:37:50 +01:00
Matthias Köfferlein
69e7704430
Issue 501 ( #505 )
...
* Fixed #501 (more Qt ownership management) - this commit contains some more changes because I had to regenerate the Qt binding sources.
* Fixed #501 (Qt object ownership transfer) - repairs, added tests
* Updated Jenkinsfile to not publish a PR build
* Update Jenkinsfile - exclude PR's from build
2020-02-21 18:25:22 +01:00
Matthias Koefferlein
9142479585
Fixed a segfault.
2020-02-19 09:51:55 +01:00
Matthias Koefferlein
8a95b2e6f7
WIP: wording.
2020-02-19 09:22:04 +01:00
Matthias Koefferlein
4782450170
WIP: args notation.
2020-02-19 09:13:25 +01:00
Matthias Koefferlein
7913e7cf82
Added unit tests.
2020-02-19 01:06:39 +01:00
Matthias Köfferlein
161068c70a
Merge pull request #492 from KLayout/issue-491
...
Issue #491 fixed (maybe)
2020-02-16 10:15:53 +01:00
Matthias Koefferlein
5853fecf37
Two bugs fixed: tech selection did not happen, enable all/disable all did not work
2020-02-13 00:53:20 +01:00
Matthias Koefferlein
0059d1bf24
Basic refactoring: Action -> Action*
2020-02-13 00:16:37 +01:00
Matthias Koefferlein
c801df7f7b
WIP: fixed assertion in klayout_main test.
2020-02-11 00:39:19 +01:00
Matthias Koefferlein
ad775413f3
WIP: refactoring - fixed a segfault.
2020-02-10 23:13:35 +01:00
Matthias Koefferlein
9cb81ce807
WIP: further refactoring.
2020-02-10 00:38:48 +01:00
Matthias Koefferlein
45b6a72bee
WIP: further refactoring.
2020-02-10 00:07:41 +01:00
Matthias Koefferlein
e8a875ccb5
WIP: further refactoring.
2020-02-09 01:35:44 +01:00
Matthias Koefferlein
a44535e009
WIP: further refactoring.
2020-02-08 23:01:42 +01:00
Matthias Koefferlein
85789a386b
WIP: further refactoring.
2020-02-08 22:15:09 +01:00
Matthias Koefferlein
64a09e07f9
WIP: refactoring ongoing.
2020-02-08 00:02:49 +01:00
Matthias Koefferlein
a14e90f367
WIP: refactoring ongoing - starts looking good :)
2020-02-07 23:52:32 +01:00
Matthias Koefferlein
a2d4b02238
WIP: refactoring ongoing.
2020-02-07 19:05:45 +01:00
Matthias Koefferlein
24ad1b2d26
WIP: refactoring ongoing.
2020-02-07 18:46:35 +01:00
Matthias Koefferlein
4210198179
WIP: refactoring ongoing.
2020-02-07 17:33:53 +01:00
Matthias Koefferlein
ce25d51763
WIP: refactoring ongoing.
2020-02-07 01:41:03 +01:00
Matthias Koefferlein
b604624123
WIP: refactoring ongoing.
2020-02-07 01:32:05 +01:00
Matthias Koefferlein
68472e6e14
WIP: refactoring ongoing.
2020-02-07 01:27:24 +01:00
Matthias Koefferlein
fa1b98c933
WIP: refactoring ongoing.
2020-02-07 01:11:23 +01:00
Matthias Koefferlein
674d4b45ad
WIP: refactoring ongoing.
2020-02-07 01:00:46 +01:00
Matthias Koefferlein
d6589f1d0e
WIP: refactoring ongoing.
2020-02-07 00:41:37 +01:00
Matthias Koefferlein
4f03710f65
WIP: target will be version 0.27.
2020-02-05 00:02:12 +01:00
Matthias Koefferlein
b2e6085ba1
WIP: not quite further ...
2020-02-04 23:54:29 +01:00
Matthias Koefferlein
22b3a5face
WIP: refactoring - at least some local context menus for detached views
2020-02-04 21:33:27 +01:00
Matthias Koefferlein
0f69c24e79
WIP: avoids a segfault because of missing manager
2020-02-04 20:50:46 +01:00
Matthias Koefferlein
f6a6acd20e
WIP: new LayoutView features for pya/RBA.
2020-02-04 00:33:07 +01:00
Matthias Koefferlein
961a36a7ad
Issue #491 fixed (maybe)
2020-02-03 22:38:45 +01:00
Matthias Köfferlein
aba55148db
Merge pull request #483 from KLayout/issue-481
...
Fixed issue #481 (duplicate DRC markers)
2020-01-28 23:48:33 +01:00
Matthias Köfferlein
607cdbd71b
Merge pull request #484 from KLayout/issue-476
...
Issue 476
2020-01-28 23:48:21 +01:00
Matthias Koefferlein
de5f092d37
Merge branch 'master' of https://github.com/KLayout/klayout
2020-01-28 23:46:42 +01:00
Matthias Koefferlein
cc37ecfd17
Fixed titles of file dialogs.
2020-01-28 23:45:40 +01:00
Matthias Koefferlein
21397283f3
Fixed #477
2020-01-23 18:38:41 +01:00
Matthias Koefferlein
eeadfcea7b
Fixed #476
2020-01-23 17:56:20 +01:00
Matthias Koefferlein
b1716fc8c4
Fixed issue #481
2020-01-23 17:26:12 +01:00
Matthias Koefferlein
925b7c2f33
Removed incorrect regexp substitution.
2020-01-23 17:22:58 +01:00
Matthias Koefferlein
fb0d06602e
Attempt to fix the issue
...
In additon, some actions like display of the netlist
browser are suppressed until "final" is true for
"_finish".
TODO: Layout#get_info should never segfault.
2020-01-12 23:41:03 +01:00
Matthias Köfferlein
80b0eae937
Merge pull request #469 from KLayout/issue-464
...
Fixed #464 (problems building a layer node tree with 'add_child')
2020-01-05 01:03:29 +01:00
Matthias Köfferlein
db1d05282d
Merge pull request #467 from KLayout/issue-466
...
Issue 466
2020-01-05 01:03:10 +01:00
Matthias Köfferlein
6a996b6f5b
Merge pull request #465 from KLayout/issue-462
...
Implemented #462 (Generalize MOS transistor extraction to other gate …
2020-01-05 01:02:54 +01:00
Matthias Köfferlein
b012e90def
Merge pull request #470 from KLayout/issue-463
...
Issue 463
2020-01-05 01:02:32 +01:00
Matthias Koefferlein
b8c82c4f8b
Updated copyright notice to 2020
2020-01-05 00:59:43 +01:00
Matthias Koefferlein
cea5dbc0b4
Fixed #463 (Can't configure color of third-level layer groups)
2020-01-05 00:51:06 +01:00
Matthias Koefferlein
811560094a
Updated tests.
2020-01-04 21:19:06 +01:00
Matthias Koefferlein
0285a5195c
Fixed #464 (problems building a layer node tree with 'add_child')
...
The reason was a synchronization issue.
Actually "LayerPropertiesNodeRef" is not a reference, but
a mirror copy of the LayerPropertiesNode the reference points
to. Changes to the original must be synchronized into the
reference and back.
This concept is a tribute to the original implementation and
the node reference was a convenience add-on to the iterator-
based API.
Better solution in general is to replace the LayerPropertiesNodeRef
concept with a real reference.
2020-01-04 19:39:09 +01:00
Matthias Koefferlein
09f97aa286
Fixed #466 (Segfault when accessing a wrong layer tab)
2020-01-04 12:33:14 +01:00
Matthias Koefferlein
833edf53b2
Implemented #462 (Generalize MOS transistor extraction to other gate figures)
2020-01-02 22:20:45 +01:00
Matthias Koefferlein
c4636cebdb
Fixed #458 (Array instance net tracing bug)
2019-12-23 20:38:17 +01:00
Matthias Koefferlein
85c033db64
Small doc fixes
2019-12-21 18:00:02 +01:00
Matthias Köfferlein
a4e87e5b4a
Merge pull request #454 from KLayout/dvb
...
Dvb
2019-12-18 18:09:39 +01:00
Matthias Köfferlein
e2e761b999
Merge pull request #455 from KLayout/issue-453
...
Fixed #453 (Crash when using 'inverse' feature of TEXT PCell)
2019-12-18 18:09:26 +01:00
Matthias Koefferlein
a314d3d8c5
Fixed #453 (Crash when using 'inverse' feature of TEXT PCell)
2019-12-18 18:05:09 +01:00
Matthias Koefferlein
d9236a398f
Multiple progress bars enabled.
2019-12-18 02:19:15 +01:00
Matthias Koefferlein
297f37a63a
Huge performance improvement for a specific array element interaction. Reason: duplicate cluster interactions spoiled performance.
2019-12-18 01:10:16 +01:00
Matthias Koefferlein
fcba0018ba
Enhanced progress estimation of box scanner - no progress jumping back and forth.
2019-12-17 22:38:17 +01:00
Matthias Koefferlein
a9bd037b58
Some code cleanup with performance impact
2019-12-17 22:23:43 +01:00
Matthias Koefferlein
fb2611632d
Some performance improvement of net extractor.
2019-12-17 21:16:29 +01:00
Matthias Koefferlein
f174e5b83d
Updated documentation
2019-12-17 20:29:37 +01:00
Matthias Koefferlein
d0e6efa484
Implemented #444 (double-height standard-cell support).
2019-12-17 00:12:36 +01:00
Matthias Koefferlein
12c040aa6c
Merge branch 'issue-448' into dvb
2019-12-15 20:51:35 +01:00
Matthias Koefferlein
c9d528dc88
Fixed #447 - CentOS 6 build fixed.
2019-12-15 15:46:15 +01:00
Matthias Koefferlein
fccd78a222
Fixed #448 and updated test data
2019-12-15 10:37:51 +01:00
Matthias Koefferlein
782f6fe601
BUGFIX: the L2N and LVSDB writer was writing too much
...
Sometimes, shapes from child cells were propagated into
parent cells in the L2N and LVSDB output.
Because of this fix, many testdata files have to be updated.
2019-12-15 01:29:56 +01:00
Matthias Koefferlein
87e658acf0
WIP: finalized refactoring.
2019-12-15 00:48:11 +01:00
Matthias Koefferlein
da1ac3661f
WIP: bugfix of refactoriung, update test data.
2019-12-15 00:16:47 +01:00
Matthias Koefferlein
1e5d02b1bc
WIP: refactoring of cell instance interactions for net extraction.
2019-12-14 18:58:22 +01:00
Matthias Koefferlein
1f5ec9d3e9
Bugfix: don't mess with the hier cluster structure while determining the interactions ...
2019-12-12 00:20:15 +01:00
Matthias Koefferlein
e11aaf4ac2
WIP: Continued rework.
2019-12-11 23:35:19 +01:00
Matthias Koefferlein
fee5472845
WIP: further refactoring.
2019-12-11 01:28:56 +01:00
Matthias Koefferlein
406bc226bb
WIP: refactoring
2019-12-11 00:39:46 +01:00
Matthias Koefferlein
75cb21bbd1
WIP: refactoring, first steps.
2019-12-10 23:55:14 +01:00
Matthias Koefferlein
4acc4b96e2
First attempt to fix the issue
...
Problem was caching which did not take into account the array nature
of instances.
This fix also moves the cache one level below so it is effective also
when instance tree traversal happens. This might speed up things too.
Needs testing.
2019-12-09 21:37:07 +01:00
Matthias Koefferlein
91b7d6a2df
Fixed compatibility issue of MAG reader on Windows
2019-12-08 22:06:47 +01:00
Matthias Koefferlein
bbb8e1f430
Merge branch 'master' of https://github.com/KLayout/klayout
2019-12-08 20:25:54 +01:00
Matthias Koefferlein
8916dd12a9
Small bugfix for MAG writer + tests.
2019-12-08 20:25:25 +01:00
Matthias Koefferlein
76c42f2959
Magic file writer fixes for Windows - file path handling wasn't right for windows paths with drives.
2019-12-08 19:58:58 +01:00
Matthias Köfferlein
054869ec9a
Merge pull request #446 from KLayout/issue-445
...
Fixed #445 (cryptic message on 'merge shapes' with instances selected)
2019-12-08 09:14:48 +01:00
Matthias Köfferlein
ed407f1e93
Merge pull request #443 from KLayout/issue-438
...
Fixed #438 (error on redefinition of subcircuit in SPICE)
2019-12-08 09:14:05 +01:00
Matthias Köfferlein
61c50a59ec
Merge pull request #442 from KLayout/issue-440
...
Fixed #440 (issue with LayoutView#each_annotation_selected)
2019-12-08 09:13:48 +01:00
Matthias Köfferlein
c1ece152c5
Merge pull request #441 from KLayout/issue-439
...
Issue 439 (plain-text macro is marked "modified" on windows)
2019-12-08 09:13:31 +01:00
Matthias Koefferlein
63cc73b569
Fixed #445 (cryptic message when instances are selected and 'merge shapes' is used)
2019-12-08 08:43:08 +01:00
Matthias Koefferlein
3b9beb0d49
Fixed #438 (error on redefinition of subcircuit in SPICE)
2019-12-07 23:39:39 +01:00
Matthias Koefferlein
c214021618
Fixed #440 (issue with LayoutView#each_annotation_selected)
2019-12-07 21:51:10 +01:00
Matthias Koefferlein
9ef90aa135
Fixed #439 (CRLF issue with plain-text macros)
2019-12-07 19:14:21 +01:00
Matthias Koefferlein
a430b4df83
Supply 'read_all' capability of text stream with CRLF replacement.
2019-12-07 19:08:35 +01:00
Matthias Koefferlein
2402adc45d
Open to silence instance copy mode dialog
...
By using "don't ask again" the instance copy mode
dialog won't come up again. The mode can be reverted
back to "ask" in the editor options.
2019-12-05 01:09:48 +01:00
Matthias Koefferlein
717470a389
Enhancement of the "interactive" (infix) modes
...
1.) Copy & Cut will now take the selection from
the transient selection if no real selection is present
2.) Hence, Copy & Cut are always enabled
3.) The same if true for duplicate
4.) Move interactive will also act immediately on the transient
selection.
2019-12-05 00:36:46 +01:00
Matthias Köfferlein
2fa545d80b
Merge pull request #435 from KLayout/issue-429
...
Issue 429
2019-12-02 21:15:05 +01:00
Matthias Köfferlein
e061a0a932
Merge pull request #433 from KLayout/wip
...
Some enhancements
2019-12-02 21:14:35 +01:00
Matthias Köfferlein
8f8c393309
Merge pull request #432 from KLayout/issue-425
...
Issue 425
2019-12-02 21:13:14 +01:00
Matthias Köfferlein
e7ddf3b64f
Merge pull request #431 from KLayout/issue-426
...
Implemented #426 (feature request: group techs)
2019-12-02 21:12:40 +01:00
Matthias Köfferlein
ebb19879e9
Merge pull request #430 from KLayout/issue-428
...
Issue 428
2019-12-02 21:12:22 +01:00
Matthias Koefferlein
904bbf15a1
Refinement of tech management and MAG reading
...
- The MAG reader now has access to the details of the proposed
technology (set in KLayout), specifically inside library paths
($(tech_name), $(tech_dir)). This allows setting the MAG reader
path relative to the technology path.
- If no specific technology is set before MAG files are read and
the technology listed there is found in KLayout, KLayout will
attach the layout to this technology.
2019-12-01 18:19:55 +01:00
Matthias Koefferlein
baffb940d1
Implemented #429 : final touches to doc and tests for RBA/pya API.
2019-12-01 16:41:27 +01:00
Matthias Koefferlein
152dc87682
Implemented a dummy arrangement of cells when the MAG output file isn't corresponding to a existing cell - useful for obtaining a cell overview
2019-12-01 10:13:11 +01:00
Matthias Koefferlein
c49bc17e6a
CIF writer: only layer names should be forced to upper case. Cell names don't need this.
2019-11-30 22:53:29 +01:00
Matthias Koefferlein
9eb09c3a5d
Enhancements to implementation
...
- OASIS layers are turned into pure layer name (not lxdy_name) for
MAG output
- Boxes of instances had been incorrect
- consistent naming of cell files in presence of special chars
2019-11-30 22:30:28 +01:00
Matthias Koefferlein
f8743e7411
Added PearlRiver die Magic files as test case.
2019-11-30 21:16:31 +01:00
Matthias Koefferlein
6003727561
Added strm2mag tool and support for Magic options
2019-11-30 20:54:15 +01:00
Matthias Koefferlein
f16a5085c5
WIP: some implementation refinement
...
- MAG writer output name does not need to match a cell name
(this file is not written in this case, but the path and extension
are taken from it). A warning is issued in this case.
- Strings for layer and cell names are normalized (special chars, UTF8)
- Cell duplicates won't be produced but existing cells are reused.
This enables "incremental reads".
2019-11-30 19:04:54 +01:00
Matthias Koefferlein
c6ede46fd0
WIP: substantial changes
...
- force lower-case layer names to allow CIF/MAG loop (CIF needs
upper-case layer names, MAG doesn't)
- reverted CIF reader to standard
- new options for writer: tech, "zero timestamp".
- file name MUST be consistent with one cell name.
Reason: it's not possible to derive the initial
cell from the given options, so without the file name
being consistent, we can't know what to write there.
Basically the file name rather supplies the path.
2019-11-30 00:09:44 +01:00
Matthias Koefferlein
9fb73a3928
A small enhancement for CIF / less ignorant reader
...
The change is to allow lower-case cell and layer names when they
are separated from the command with a blank. So
"Layername XZY;": "L" is the command, "ayername" is ignored
BUT:
"L xyz;": "xyz" is not part of the command, but the layername.
Same for "DS".
This is a deviation from the "standard", but a useful one. Otherwise
case sensitivity cannot be maintained anymore in a CIF/Magic loop.
2019-11-29 01:15:06 +01:00
Matthias Koefferlein
0796b20c2d
Added a first test for Magic reader/writer
2019-11-29 01:14:41 +01:00
Matthias Koefferlein
3f9dd59593
WIP: MAG reader now is compliant with writer (and Magic I hope)
2019-11-29 00:25:28 +01:00
Matthias Koefferlein
3283219b0f
WIP: writer functionality debugged and enhanced (triangles, correct arrays etc.)
2019-11-28 23:58:19 +01:00
Matthias Koefferlein
cef868d774
WIP: ongoing development.
2019-11-28 01:03:25 +01:00
Matthias Koefferlein
11e3209d4a
WIP: removed traces of CIF copy
2019-11-28 00:45:47 +01:00
Matthias Koefferlein
4ac5801cc7
WIP: Implementation draft of MAG file writer.
2019-11-28 00:20:30 +01:00
Matthias Koefferlein
5c217b90b5
WIP: starting MAG writer.
2019-11-27 22:33:50 +01:00
Matthias Koefferlein
a980332c76
Fixed MAG reader (rlabels)
2019-11-26 23:38:23 +01:00
Matthias Koefferlein
6399f4693a
Bugfixed MAG reader.
2019-11-26 23:03:55 +01:00
Matthias Koefferlein
814b8df516
DRC enhancement: allow @+ to create a new layout for output.
2019-11-26 23:03:44 +01:00
Matthias Koefferlein
211524a0c0
WIP: reader starts becoming functional.
2019-11-26 01:03:24 +01:00
Matthias Koefferlein
aece8b299f
WIP: generalized code.
2019-11-25 19:54:24 +01:00
Matthias Koefferlein
2acb66182a
WIP: basic framework
2019-11-25 00:07:56 +01:00
Matthias Koefferlein
a8cace399e
Added some private tests to LVS tests for better coverage.
2019-11-24 18:25:56 +01:00
Matthias Koefferlein
0f1dc1d191
Refine pin mismatch handling so that only 'not used' nets will make a pin match against null.
2019-11-24 16:40:45 +01:00
Matthias Koefferlein
afacf7c0b5
WIP: fixed a segfault in the netlist browser.
2019-11-24 01:28:07 +01:00
Matthias Koefferlein
20976d7521
Avoid an error message on startup when Python/Ruby isn't enabled.
2019-11-24 00:36:46 +01:00
Matthias Koefferlein
64bb01d80d
Dropped attempt to remove dummy nodes from spice reader netlist as this wasn't effective anyway.
2019-11-24 00:23:19 +01:00
Matthias Koefferlein
ed00503d41
Fixed Spice reader: must not use Netlist::purge_nets to remove dummy nets. Updated golden test data.
2019-11-23 23:36:52 +01:00
Matthias Koefferlein
aa28aa807a
Unit tests fixed and a bugfix in the netlist compare
...
One unit test was failing because the netlist compare did not
properly consider dropped pins:
* A severe bug ("g1" should be "g2")
* Incomplete detection of dropped pins upwards in the hierarchy
The general pin and net mapping scheme has been enhanced so that
net mapping to "0" is valid (this will happen in case of dropped
pins) and this condition is used to detect pins without match
requirement.
2019-11-23 22:04:25 +01:00
Matthias Koefferlein
1309aa59cb
Merge branch 'master' into issue-425
2019-11-23 01:55:28 +01:00
Matthias Koefferlein
7de90ae595
Merge branch 'issue-417'
2019-11-23 01:46:38 +01:00
Matthias Koefferlein
79f4f8bc57
Update unit test for issue-417 branch.
2019-11-23 01:45:56 +01:00
Matthias Koefferlein
d5506a176a
WIP: first implementation - needs testing.
2019-11-23 01:20:22 +01:00
Matthias Koefferlein
2757b22da6
Resolved conflicts for issue-419 merge
2019-11-22 23:34:03 +01:00
Matthias Koefferlein
4fe5a96596
Implemented #426 (feature request: group techs)
...
The tech group is a new XML tag "<group>...</group>".
This tag is editable in the tech "general" page as "Group".
If non-empty, a submenu will be created in the tech selector
menu for all techs with the same group.
2019-11-22 23:23:11 +01:00
Matthias Köfferlein
a792cf4c1e
Merge pull request #424 from KLayout/issue-407
...
Issue 407
2019-11-22 23:12:44 +01:00
Matthias Köfferlein
c5dc7c9fa8
Merge pull request #423 from KLayout/issue-415
...
Fixed #415 (text mode for XML reader and stream writer to avoid macro format confusion)
2019-11-22 23:12:31 +01:00
Matthias Köfferlein
ac7e17ffcb
Merge pull request #422 from KLayout/issue-406
...
Issue 406
2019-11-22 23:12:16 +01:00
Matthias Köfferlein
9200e5037d
Merge pull request #421 from KLayout/issue-417
...
Fixed #417 : look up the net in the parent hierarchy of the net shape …
2019-11-22 23:11:59 +01:00
Matthias Köfferlein
c8cf8122b6
Merge pull request #414 from KLayout/issue-411
...
Issue 411
2019-11-22 23:11:24 +01:00
Matthias Köfferlein
319c73e6c0
Merge pull request #413 from KLayout/issue-408
...
Fixed issue #408 (internal error after EdgePairs#polygon)
2019-11-22 23:11:05 +01:00
Matthias Köfferlein
967e8dc5b1
Merge pull request #412 from KLayout/issue_410
...
Fixed issue #410
2019-11-22 23:10:52 +01:00
Matthias Köfferlein
b6869e4deb
Merge pull request #409 from KLayout/netlist_properties
...
Netlist properties
2019-11-22 23:10:39 +01:00
Matthias Koefferlein
e4596e4971
Fixed #428 (hide edit buttons for user properties in viewer mode)
2019-11-22 22:40:01 +01:00
Matthias Koefferlein
d37a744322
Build issue fixed on Windows.
2019-11-21 22:03:01 +01:00
Matthias Koefferlein
215ce8812b
More consistent handling of Windows/Linux switch in output stream and unit tests.
2019-11-21 21:57:49 +01:00
Matthias Koefferlein
247bfa9ac5
Implemented #407 (variables in technology base path)
...
The implementation uses extrapolation of strings in the
"Expressions" framework.
There is how:
* $(tech_name) -> substituted by the technology name
* $(tech_dir) -> substituted by the directory the technology file is stored in
* $(tech_file) -> substituted by the absolute path to the tech file
* $(appdata_path) -> substituted by KLayout's home directory (e.g. ~/.klayout)
* $(env('X')) -> substituted by the environment variable $X
2019-11-21 21:37:00 +01:00
Matthias Koefferlein
72a3528e55
WIP: implementation of a fix (explicit text mode for XML reader and stream writer)
2019-11-20 23:52:37 +01:00
Matthias Koefferlein
6648b53822
Fixed issue #419 (multiple top circuits after flatten of netlist)
...
The problem is solved by always producing subcircuits for cell
instances, even if there are no connections.
The netlist comparer had to be adjusted too because subcircuits
without pins were used for representing "unknown" subcircuit pairing.
In addition, this patch should lead to a better matching of
parallel subcircuit configurations where two different subcircuits
are entirely parallel.
2019-11-20 21:56:12 +01:00
Matthias Koefferlein
f28b8e60c1
Fixed #417 : look up the net in the parent hierarchy of the net shape clusters to find the net for the flattened netlist.
2019-11-19 23:22:40 +01:00
Matthias Koefferlein
6c7ceb74dc
Enhanced intersections algorithm so that the generated points won't overlay with finite edges from the AND part
2019-11-19 21:19:36 +01:00
Matthias Koefferlein
9af662a512
WIP: try to avoid duplicate intersection points by eliminating those. Problem persists: intersection points may be duplicates of edges arising from AND
2019-11-18 23:14:24 +01:00
Matthias Koefferlein
24759c7174
WIP: first implementation. Testing needed.
2019-11-18 19:14:06 +01:00
Matthias Koefferlein
990961e5f4
Fixed #411 (multiple device extractors for same class)
2019-11-17 23:12:50 +01:00
Matthias Koefferlein
1131532e4f
First implementation, needs testing.
2019-11-17 22:45:36 +01:00
Matthias Koefferlein
68c6941318
Fixed issue #408 (internal error after EdgePairs#polygon)
2019-11-17 22:32:02 +01:00
Matthias Koefferlein
147f2c1168
Fixed issue #410
2019-11-17 22:18:55 +01:00
Matthias Koefferlein
181d5b48e6
Fixed consistent typo: PCell's -> PCells
2019-11-17 21:47:11 +01:00
Matthias Koefferlein
6d8f56194b
Edge enhancements
...
New binding: Edge#d (distance vector), Edge#clipped and Edge#clipped_line.
"intersection_point" returns nil in case of no intersection.
Documentation error fixed (Edge#distance).
2019-11-17 21:30:08 +01:00
Matthias Koefferlein
595075a88a
Let the background ruler's size scale with the font size - otherwise it gets quite small on high-res screens.
2019-11-14 02:07:50 +01:00
Matthias Koefferlein
8dddc4000f
Also write the net properties to GDS or OASIS
...
"build_nets" will now write the net's properties
to the generated net shapes.
This might enable interesting applications.
2019-11-13 23:09:09 +01:00
Matthias Koefferlein
bb3aed5773
Merge branch 'master' of https://github.com/KLayout/klayout into netlist_properties
2019-11-13 00:59:29 +01:00
Matthias Koefferlein
876487edde
Added persistency of the netlist object properties into L2N/LVSDB files
2019-11-13 00:06:29 +01:00
Matthias Koefferlein
d060147713
Enhancements for the netlist object properties
...
- more memory efficient (single pointer only)
- iterator for properties
- NetlistObject#property_keys in GSI
2019-11-12 23:00:49 +01:00
Matthias Koefferlein
6d6ac23f50
Fixed a build issue (const iterator cannot be used in std::map::erase)
2019-11-12 20:55:28 +01:00
Matthias Koefferlein
7309688944
More robustness of snap algorithm for unit tests
2019-11-12 20:13:35 +01:00
Matthias Koefferlein
6b5c951088
Fixed string unit test on MinGW 32bit
2019-11-12 19:11:21 +01:00
Matthias Koefferlein
3bf45f3638
Fixed MSVC build error.
2019-11-11 23:23:47 +01:00
Matthias Koefferlein
86e041cd51
Updated test data.
2019-11-11 23:03:40 +01:00
Matthias Koefferlein
b7094affa4
Fixed a dummy error message on Windows/Python 3.7 and really ignore
2019-11-11 21:53:19 +01:00
Matthias Koefferlein
47efb9d11b
WIP: fixed compiler warning
2019-11-11 07:08:37 +01:00
Matthias Koefferlein
0ce06125ca
Introducing netlist object properties.
2019-11-11 07:02:02 +01:00
Matthias Koefferlein
b220374bd1
Fixed gcc builds with stdc++0x (math.h issue)
2019-11-10 01:30:45 +01:00
Matthias Koefferlein
817bbf81f1
Fixed gcc builds with stdc++0x (M_PI no longer available)
2019-11-09 23:20:43 +01:00
Matthias Koefferlein
994c8b8484
Removed superfluous file from lay.pro.
2019-11-09 16:53:17 +01:00
Matthias Koefferlein
4a212e8db6
Added tests for Region#scale_and_snap and Region#snap
2019-11-07 23:33:54 +01:00
Matthias Koefferlein
988b1e563f
Added unit test for DeepRegion::snap
2019-11-07 23:11:34 +01:00
Matthias Koefferlein
318efbf7b0
Fixed 'scale_and_snap' feature
2019-11-07 22:54:16 +01:00
Matthias Koefferlein
4924d0269c
Fixed #400 , added tests.
2019-11-06 23:28:16 +01:00
Matthias Koefferlein
1e2a8b264d
WIP: because the fixed scheme works nicely, add a new scale_and_snap function.
2019-11-06 01:11:40 +01:00
Matthias Koefferlein
895206dfa1
WIP: bugfix in case of clip variants.
2019-11-06 01:11:40 +01:00
Matthias Koefferlein
51676376e6
WIP: Variant building bug fixed. Needs testing.
2019-11-06 01:11:40 +01:00
Matthias Köfferlein
990f01adec
Merge pull request #398 from KLayout/issue-393
...
Issue 393
2019-11-06 01:01:48 +01:00
Matthias Köfferlein
3476e40e79
Merge pull request #397 from KLayout/issue-394
...
Issue 394
2019-11-06 01:01:36 +01:00
Matthias Köfferlein
65b0752c5c
Merge pull request #396 from KLayout/issue-387
...
Implemented issue-387 (python version in grain.xml)
2019-11-06 01:01:23 +01:00
Matthias Köfferlein
9fffd03ad3
Merge pull request #390 from KLayout/issue-382
...
Implemented #382 : text editor view for user props
2019-11-06 01:01:09 +01:00
Matthias Köfferlein
b920e057a3
Merge pull request #389 from KLayout/issue-386
...
Fixed issue #386 by mapping 'None' to 'None_' in Python
2019-11-06 01:00:58 +01:00
Matthias Köfferlein
6e02f1f93e
Merge pull request #388 from KLayout/issue-368
...
Implemented #368 : no segfault but exception if accessing invalid laye…
2019-11-06 01:00:47 +01:00
Matthias Köfferlein
a351bc8085
Merge pull request #385 from KLayout/dvb
...
Dvb
2019-11-06 01:00:33 +01:00
Matthias Koefferlein
fe9e808d61
Fixed implementation: cannot change definition of tl::Extractor::read_word and need a new method to read a word.
2019-11-03 21:50:47 +01:00
Matthias Koefferlein
41ab2d6d79
Enhanced #387 fix with pseudo-features
...
To restrict the requirements to a specific Python, Ruby or Qt
major version it's now possible to use "python2", "python3", "ruby1",
"ruby2", "qt4" and "qt5" features.
Like this:
<api-version>python2 2.7</api-version>
will require python >=2.7.0, but Python 3 is not allowed.
2019-11-03 19:36:10 +01:00
Matthias Koefferlein
4f49447fe8
Fixed #393 (properly show DRC syntax errors)
2019-11-03 19:01:46 +01:00
Matthias Koefferlein
078aa36974
Issue #394 fixed: at least the toolbox layout should be fixed now
2019-11-03 18:16:26 +01:00
Matthias Koefferlein
5ba657b790
Implemented #394 : now there is 'XLarge', 'XXLarge' and 'XXXLarge' for default fonts as well.
2019-11-03 17:34:25 +01:00
Matthias Koefferlein
5a288b7224
WIP: trying to use Libration Mono from Ubuntu 16.04
2019-11-03 16:29:26 +00:00
Matthias Koefferlein
37e402e9bd
WIP: new fixed font bitmaps - needs improvement
2019-11-03 17:22:57 +01:00
Matthias Koefferlein
50e8f334d1
Implemented issue-387 (python version in grain.xml)
...
The solution is to extend the api-version field.
"0.26.1" is KLayout API >= 0.26.1
"ruby" means: Ruby required
"python 2.6.0" means: Python required with at least 2.6.0
"0.26.1; ruby; python 2.6.0" means: all of this together
In addition, the version has been set to 0.26.1 now.
2019-11-03 02:12:05 +01:00
Matthias Koefferlein
861a6fdfcc
Fixed a typo in the DRC documentation.
2019-11-02 22:35:19 +01:00
Matthias Koefferlein
7910ddc6a3
Fixed a compiler warning, testcase update (part 1)
2019-11-02 20:39:59 +01:00
Matthias Koefferlein
cd353219ce
Implemented #382 : text editor view for user props
...
This view is an alternative view to the table and
allows copy/paste and faster editing.
2019-11-02 12:36:02 +01:00
klayoutmatthias
627b248f7e
Enhanced compatibility between platforms (problem was: order of execution of argument expressions)
2019-11-02 01:26:37 +01:00
Matthias Koefferlein
9e4bd31010
Fixed issue #386 by mapping 'None' to 'None_' in Python
2019-11-01 17:53:31 +01:00
Matthias Koefferlein
e95ced6d7a
Implemented #368 : no segfault but exception if accessing invalid layer iterator
2019-11-01 17:36:08 +01:00
Matthias Köfferlein
f2fafd1bad
Merge pull request #371 from KLayout/pull_feature
...
Pull feature
2019-10-31 23:51:21 +01:00
Matthias Koefferlein
679aecd11f
Removed debug output.
2019-10-31 00:51:54 +01:00
Matthias Koefferlein
73556d6edc
Netlist compare issue fixed
...
In tentative mode, node equivalence shall not be assumed
if the nodes have edges which don't appear in the other node.
2019-10-30 23:55:08 +01:00
Matthias Koefferlein
3cc38fcfc2
Solved ambiguous bus resolution problem.
2019-10-29 23:26:17 +01:00
Matthias Koefferlein
15fa99c128
WIP: bugfix ambiguous bus-like pins and net compare.
2019-10-29 22:53:37 +01:00
Matthias Köfferlein
262f2b87ad
Merge pull request #380 from rizoschrist-prime/issue-376
...
Fixed #376 - PCell callbacks invoked on value change
2019-10-27 20:11:23 +01:00
Matthias Koefferlein
e25d4784ea
Updated tests.
2019-10-26 01:48:50 +02:00
Matthias Koefferlein
373a3db1ec
WIP: netlist comparer - increase default depth and added test
...
The test is specific for symmetric circuits with manifold
symmetry axes.
2019-10-24 23:58:30 +02:00
Matthias Koefferlein
ac479c30bc
Fixed unit tests.
2019-10-24 00:23:03 +02:00
Matthias Koefferlein
3a8d5d9779
Removed debug code.
2019-10-23 23:49:38 +02:00
Matthias Koefferlein
4ce37160d5
Two bug fixes in net compare (tests required):
...
- name compare of net names wasn't always case insensitive
- tentative evaluation was sometimes continued even after
a contradiction was detected because the return codes
of different edge examinations were not combined correctly.
2019-10-23 23:46:25 +02:00
Matthias Koefferlein
36ee1efe16
WIP: speedup LVS 'align' by flattening top-down
2019-10-21 22:14:36 +02:00
Matthias Koefferlein
f0635589f7
WIP: fixed cell cluster interaction cache.
2019-10-20 23:27:15 +02:00
Matthias Koefferlein
a0544e7807
WIP: caching of cell interactions in net cluster builder for speedup - test data needs update!
2019-10-19 21:44:29 +02:00
Matthias Koefferlein
bf18000877
Added tests (breakout cells, LVS cheats)
2019-10-18 00:25:51 +02:00
Matthias Koefferlein
611f62e73f
Removed debug leftover code
2019-10-17 22:47:43 +02:00
Matthias Koefferlein
cd4516393b
WIP: bugfix (breakout cell handling) and performance
...
1.) Bugfix: breakout cells also need to be handled
when diving down inside the hier cluster builder
2.) Performance: cache cell interactions
2019-10-17 01:54:41 +02:00
Matthias Koefferlein
9e1c8b44c7
Introducing cheats for LVS/device extraction/booleans
2019-10-16 18:59:38 +02:00
Matthias Koefferlein
a3b2e3a154
Bugfix for glob pattern with empty alternative.
2019-10-16 01:10:08 +02:00
Matthias Koefferlein
991778f718
"breakout cells": attempt to provide a solution for SRAM
...
Breakout cells can be specified to shortcut hierarchy
evaluation for some cells. This allows treating SRAM cells
as isolated entities - specifically when it comes to extracting
devices.
2019-10-16 00:49:41 +02:00
Matthias Koefferlein
5c44a54676
Bugfix: don't try to extract netlist on errors
2019-10-16 00:49:33 +02:00
Christos Rizos
d8e7d29e98
Fixed #376 - PCell callbacks invoked on value change
2019-10-14 11:40:28 +03:00
Matthias Koefferlein
67526c7f4e
Fixed #372 (build issue with 64 bit coordinates)
2019-10-05 20:06:30 +00:00
Matthias Koefferlein
f8476bdf26
Fixed an issue with 'align' in LVS scripts - with multiple layout cells assigned to one schematic, align won't give the right results.
2019-10-05 09:30:38 +02:00
Matthias Koefferlein
2325e1bce4
Merge branch 'dvb' into pull_feature
2019-10-04 22:58:52 +02:00
Matthias Koefferlein
ef56264f64
Fixed a regular arrays issue with begin_touching
...
In case of 1d arrays with a or b == (0,0), the iterator
was always delivering all items, not just the touching ones.
2019-10-04 22:45:23 +02:00
Matthias Koefferlein
2fa7c4b6d4
Partially enabled progress for hierarchical processor.
2019-10-04 01:48:45 +02:00
Matthias Koefferlein
212bd86aab
Thread safetiness: enable multiple threads for deep region operations
2019-10-04 01:39:16 +02:00
Matthias Koefferlein
7c5ae471ab
WIP: performance improvement of hier local processor
...
The solution is to take intruder instances from as
far as possible in the hierarchy. This provides a
performance improvement in some cases, specifically
if this leads to compression of contexts.
2019-10-03 22:53:38 +02:00
Matthias Koefferlein
5ed41cc345
Merge branch 'master' into pull_feature
2019-10-03 14:32:25 +02:00
Matthias Köfferlein
a072822461
Merge pull request #367 from KLayout/pcb-l2n
...
Enabled net tracing for heavily decomposed polygons
2019-10-03 14:31:36 +02:00
Matthias Koefferlein
e1d77a1476
pull_interacting for edges/edges and edges/regions, some enhancements and bug fixes
...
Bug fixes:
- use dist 1 to cover touching case properly in local processor
- handling of raw mode and is_merged state
Additional tests
2019-10-03 13:08:37 +02:00
Matthias Koefferlein
76b8bd3279
Fixed several issues with raw mode/merged semantics and many Region and Edges methods. Added edge/edge pull and edge/polygon pull.
2019-10-03 01:46:49 +02:00
Matthias Koefferlein
77c8ff50ed
WIP: don't fallback to flat in case of non-deep other arguments in select_interacting and pull.
2019-10-02 00:12:04 +02:00
Matthias Koefferlein
a1e87d4c14
First pull* implementation functional.
2019-10-01 23:53:05 +02:00
Matthias Koefferlein
74880a5198
First implementation of pull* methods
2019-10-01 22:06:16 +02:00
Matthias Koefferlein
ca747771ac
Allow preempt LVS configuration
...
same_nets, equivalent_pins, same_circuits and same_device_classes
can now be given at the beginning of the LVS script. This will
simplify building universal scripts with the run specific part at
the beginning (one "load" section).
The price are somewhat less specific error messages when something
fails in these methods.
2019-10-01 00:21:27 +02:00
Matthias Koefferlein
0bc2321ade
Some code cleanup.
2019-09-30 23:17:42 +02:00
Matthias Koefferlein
a3cecb2ebe
WIP: enable multiple layout versions of one schematic circuit using 'same_circuit'
2019-09-30 23:08:15 +02:00
Matthias Koefferlein
bdf5e3c124
WIP: fake pin debug issue with LVS
...
Fake pins: pins that happen because something connects to a cell at an
unexpected position. Such a pin is difficult to find. The solution is
to keep those nets and nur purge them so these nets can be identified
in the layout.
Here: is_floating? will be true only if there are no pins. Hence
nets with pins are not removed. is_passive is introduced for nets -
passive nets are such that don't have elements, but a pin.
Circuits are purged if they only have passive nets.
2019-09-30 21:58:13 +02:00
Matthias Koefferlein
506cfc1c6f
WIP: attempt to retain nets which don't have active elements but pins. This is supposed to simplify debugging in case of fake pins. When removing those nets, the pin is very difficult to find.
2019-09-30 20:58:55 +02:00
Matthias Köfferlein
1c16cea421
Merge pull request #364 from KLayout/issue-363
...
Fixed #363 (able to draw invalid polygon with two points)
2019-09-29 21:26:58 +02:00
Matthias Koefferlein
eda5a2497e
Fixed #363 (able to draw invalid polygon with two points)
2019-09-23 00:56:09 +02:00
Matthias Koefferlein
d69c60a5c5
Enabled net tracing for heavily decomposed polygons
2019-09-19 00:13:14 +02:00
Matthias Koefferlein
6c52daa3a3
Follow-up on #353 (sessions paths relative to session file)
...
Consistent behavior for file paths for images too.
Plus: image paths are not kept as absolute paths
inside the session.
This makes regeneration of images stable.
2019-09-18 22:05:37 +02:00
Matthias Köfferlein
9edb9d61ab
Merge pull request #361 from KLayout/issue-358
...
Fixed #358 (strm2oas was producing GDS)
2019-09-18 21:17:48 +02:00
Matthias Koefferlein
9c301f9744
Fixed Ruby-less builds.
2019-09-18 00:50:21 +02:00
Matthias Koefferlein
a50fadffcd
Fixed #358 (strm2oas was producing GDS)
2019-09-17 23:10:41 +02:00
Matthias Köfferlein
6a305cfbbf
Merge pull request #356 from KLayout/issue-353
...
Fixed #353 (paths relative to .lys file for rdb-file)
2019-09-16 23:36:17 +02:00
Matthias Köfferlein
f5ce24066e
Merge pull request #357 from KLayout/issue-352
...
Fixed #352 (LVS should ignore equivalent_pins line for non-existing c…
2019-09-16 23:36:02 +02:00
Matthias Koefferlein
55475e905f
Fixed #352 (LVS should ignore equivalent_pins line for non-existing circuits)
...
Same is true now for same_nets and same_circuits.
2019-09-15 00:18:29 +02:00
Matthias Koefferlein
b747bbabd9
Fixed #353 (paths relative to .lys file for rdb-file)
...
This fix also includes: L2N and LVS DB files are now also
included in the sessions.
2019-09-14 22:38:23 +02:00
Matthias Koefferlein
08aacbd2e8
Provide tests to text buddy executables without framework
2019-09-13 23:46:12 +02:00
Matthias Koefferlein
4c8727182e
Fixed #354 by using the proper initialization
2019-09-13 18:54:31 +02:00
Matthias Koefferlein
ddbf566cd5
Updated DRC documentation (deep mode)
2019-09-09 21:47:27 +02:00
Matthias Koefferlein
5bcb2bb5cb
Merge branch 'master' into dvb
2019-09-08 23:42:56 +02:00
Matthias Koefferlein
9d921e29fe
Fixed Windows build.
2019-09-08 23:40:34 +02:00
Matthias Koefferlein
6eb049eecc
Merge branch 'master' into dvb
2019-09-08 21:48:42 +02:00
Matthias Koefferlein
48a13162d8
Fixed build on MSVC
2019-09-08 21:45:34 +02:00
Matthias Koefferlein
56084b6b59
Merge branch 'dvb'
2019-09-08 20:07:16 +02:00
Matthias Köfferlein
77232f8a50
Merge pull request #349 from KLayout/deep-booleans
...
Deep booleans
2019-09-08 20:06:03 +02:00
Matthias Koefferlein
a7b3f1dfcd
Added documentation for dockable bookmarks feature
2019-09-08 20:01:22 +02:00
Matthias Koefferlein
d9d3b3cafe
Some enhancements to #343 fix
...
- "follow selection": allows navigating between the bookmarks
with the cursor keys
- "manage bookmarks" now starts with the selected bookmarks
also selected.
2019-09-08 02:23:38 +02:00
Matthias Koefferlein
d2d22eafb5
Implementation of #343 (dockable bookmark window)
...
Here is the proposal:
- There is a new panel similar to the layer list showing the
bookmarks. It can be shown using View/Bookmarks.
Initially this panel is hidden.
- Double-clicking on an item in this bookmark list will
navigate to the bookmark.
- Context menu entries of this panel are: manage, load and
save bookmarks (like in main menu)
In addition, "bookmark this view" now proposes a bookmark name
make of "B" and a unique number.
2019-09-08 01:22:34 +02:00
Matthias Koefferlein
8a21d9718e
First implementation
2019-09-08 01:11:19 +02:00
Matthias Koefferlein
c95a0652cc
First implementation of deep mode for XOR tool.
2019-09-07 22:30:10 +02:00
Matthias Koefferlein
26f8fc5c83
Bug fixed strmxor with deep mode, added tests.
2019-09-07 21:27:12 +02:00
Matthias Koefferlein
ce5620e0bc
Follow-up on #342 : fixed unit tests.
2019-09-07 09:11:18 +02:00
Matthias Koefferlein
f7bba9200e
Merge branch 'deep-booleans'
2019-09-07 08:44:51 +02:00
Matthias Köfferlein
f7173d0da4
Merge pull request #345 from KLayout/issue-317
...
Issue 317
2019-09-06 23:24:34 +02:00
Matthias Köfferlein
0388d51f6d
Merge pull request #348 from KLayout/help-link-not-working
...
Fixed: help link not working
2019-09-06 23:24:23 +02:00
Matthias Koefferlein
e2cc0c48b1
Provide flat and hierarchical 'trace all nets' feature, added Netlist#flatten.
2019-09-06 23:13:21 +02:00
Matthias Koefferlein
67575a7ea2
WIP: strmxor.cc - deep mode implemented. Not tested.
2019-09-06 22:18:13 +02:00
Matthias Koefferlein
8df2199838
Fixed: help link not working
...
The help link wasn't working for File/Setup/Rulers/Templates
("here"). Also: if clicked from the model "Ruler and annotations setup"
the link was working but the help window wasn't usable. The modal
setup dialog was hiding the help window.
2019-09-05 22:59:08 +02:00
Matthias Koefferlein
fa72885020
issue #317 : provide undo combination for the paste+move sequence in 'interactive paste'. Same for 'interactive dup'
2019-09-04 23:47:05 +02:00
Matthias Koefferlein
70a4ce82b3
First implementation of infix mode
...
Three mode menu items appear in "Targets for Key Binding"
in the setup dialog and can be bound to a key.
"Move Interactive" will immediately start moving the
selection.
"Paste Interactive" and "Duplicate Interactive" will
paste and then immediately start moving.
Remaining issue: when Paste or Duplicate moves are
cancelled the pasted objects will still be there and
at the original location. So they are may be hard to
see. Also with Undo, two undo items are there: Paste
and Move.
2019-09-03 22:53:32 +02:00
Matthias Koefferlein
50573edad0
Added Ellipse Outline code, fixed doc.
2019-09-03 20:26:22 +02:00
Matthias Koefferlein
25e2151e28
Tiny enhancement of measurement algorithm gives more reliable results on auto-measure for 'any direction'. The solution is taking vertexes into account and accepts them as counterpart for the seed.
2019-09-02 22:58:42 +02:00
Matthias Koefferlein
2e695bd048
Leaner solution: provide snap and swap
...
"Swap points": will swap P1 and P2
"Snap both": will take P2 into account (before it was only P1)
2019-09-01 23:14:21 +02:00
Matthias Koefferlein
9fa5277e41
Implementation proposal
...
The solution tries to be a bit more generic:
- four buttons are there to synchronize coordinates
- three buttons to snap p1, p2 and auto-measure from p1.
2019-09-01 19:59:03 +02:00
Matthias Koefferlein
c7ee35a4e3
WIP: documentation
2019-09-01 17:37:23 +02:00
Matthias Koefferlein
1106d3faac
Merge branch 'dvb'
2019-09-01 11:25:42 +02:00
Matthias Köfferlein
57cee7921a
Merge pull request #339 from KLayout/issue-337
...
Fixed #337 (cross style missing in Annotation class)
2019-08-30 14:02:04 +02:00
Matthias Köfferlein
16fd8741a5
Merge pull request #340 from KLayout/issue-338
...
Fixed #338 (broken doc)
2019-08-30 14:01:52 +02:00
Matthias Köfferlein
fde4fd42f9
Merge pull request #336 from KLayout/multiple-files-on-import
...
Stream import: support multiple files
2019-08-30 14:01:38 +02:00
Matthias Koefferlein
b9886e472a
Fixed #338 (broken doc)
2019-08-30 13:34:19 +02:00
Matthias Koefferlein
d767ef27c7
Fixed #337 (cross style missing in Annotation class)
2019-08-30 13:25:15 +02:00
Matthias Koefferlein
5cfadad54f
Updated test data.
2019-08-30 11:01:00 +02:00
Matthias Koefferlein
2a8f4c9610
Updated test data.
2019-08-30 10:52:51 +02:00
Matthias Koefferlein
550e2622bf
Put more amphasis on net names to resolve ambiguities
...
The problem was that with the floating test case, the
ambiguity resolution sometimes assigned the wrong pins
and floating pins/connected pins were swapped.
One option is to make the ambiguity resolver consider
the pin connection state when tenatively evaluating
nodes.
Another option is to put more emphasis on net names
and use them for ambiguity resolution. This has helped
here.
2019-08-30 10:24:55 +02:00
Matthias Koefferlein
60ed0cdc89
Updated test golden data (mainly: nets are not purged when there is a subcircuit pin on it)
2019-08-29 23:26:03 +02:00
Matthias Koefferlein
b1acfe9587
Tried a better deal with floating pins
...
1.) is_floating is now only true if there is no device
and no subcircuit on a net. This means we only purge
nets if they are really floating. So far we purged
nets without pins which lead to the mismatch:
Before purge:
Layout: (net) <--> DEVICE.TERMINAL
Schematic: PIN <--> DEVICE.TERMINAL
After purge:
Layout: (null) <--> DEVICE.TERMINAL
Schematic: PIN <--> DEVICE.TERMINAL
(null does not match any net)
2.) circuit pin matching was a bit picky. Only when
one circuit did not have pins, matching was sloppy.
In real cases however, circuits may have unconnected
pins:
- top level pins without a counterpart (no label)
- subcircuits pins which are not used
We catch both cases by refining the match: if a pin
is not used, it does not need to match against
any other pin. It's reported as "matching against null"
though.
2019-08-29 22:25:59 +02:00
Matthias Koefferlein
9a69d106fd
Fixed some small issues in the netlist compare
2019-08-29 00:19:24 +02:00
Matthias Koefferlein
f6492c80c5
Stream import: support multiple files
...
Multiple files can now be selected for "File/Import/Other Files into current".
NOTE: performance for many files may not be excellent
due to re-sorting of hierarchy and bounding box re-computation.
2019-08-26 22:28:35 +02:00
Matthias Koefferlein
de64f61903
Fixed issue #333 (automation of auto-measure rulers)
2019-08-26 21:34:57 +02:00
Matthias Koefferlein
3a12714593
Fixed some doc issues, added doc for hierarchical compare.
2019-08-26 18:55:35 +02:00
Matthias Köfferlein
cb541f935e
Merge pull request #332 from KLayout/gridline-colors
...
Implemented individual colors for grid lines, axes and rulers (backgr…
2019-08-26 00:19:32 +02:00
Matthias Koefferlein
db9ea27324
Re-run feature for DRC too.
2019-08-25 23:47:55 +02:00
Matthias Koefferlein
441f946f43
WIP: LVS rerun feature
2019-08-25 21:55:48 +02:00
Matthias Koefferlein
515b68b76f
WIP: provide a recipe registration facility for LVS rerun
2019-08-25 18:03:27 +02:00
Matthias Koefferlein
444e10d32f
WIP: rerun LVS, partial LVS
...
Rerun LVS: a button is provided which allows re-running
the LVS or netlist extraction from the netlist browser.
TODO: a generic concept for triggering the generators
"Partial LVS" is a feature where it's possible to
select a layout subcell - running LVS then will only
compare against the corresponding schematic subcell, not
the whole tree. The magic is done by "align" which will
remove the upper hierarchy part.
2019-08-24 22:56:20 +02:00
Matthias Koefferlein
c543fe7a44
Added test for floating device terminals.
2019-08-24 19:42:00 +02:00
Matthias Koefferlein
a9a2cb69c8
Avoiding one assertion by not considering floating device terminals
2019-08-24 09:58:08 +02:00
Matthias Koefferlein
1b6e42d70a
Fixed a segfault in the LVS result browser.
2019-08-24 08:53:19 +02:00
Matthias Koefferlein
3a93bc2162
Added test for mixed-hierarchy LVS case.
2019-08-24 00:13:38 +02:00
Matthias Koefferlein
3ae848bff4
Provide test case for spice reader with delegate for devices as subcircuits. Small bugfix in spice reader: wrong line number in warning.
2019-08-23 23:13:04 +02:00
Matthias Koefferlein
850e288a28
Implemented individual colors for grid lines, axes and rulers (background configuration page)
2019-08-23 22:31:01 +02:00
Matthias Koefferlein
b0aa9b6540
Spice reader test compatible with Windows (three-digit exponential)
2019-08-21 23:03:24 +02:00
Matthias Koefferlein
bceccd7ac0
Fixed issue #330
2019-08-21 00:38:57 +02:00
Matthias Koefferlein
6f2d29d05b
Fixed a segfault when running a PCell definition macro (segfault happened in update of library view because the library was gone). Fixed a dialog title.
2019-08-20 23:38:48 +02:00
Matthias Koefferlein
908ddbfb5b
Merge branch 'library-browser'
2019-08-20 23:14:37 +02:00
Matthias Koefferlein
45cdefcf9a
Provide strict mode for device classes, dmos3/dmos4 for LVS
2019-08-20 23:12:17 +02:00
Matthias Koefferlein
50a341232c
Documentation fixes (e.g. better LVS layout pictures)
2019-08-20 19:17:56 +02:00
Matthias Koefferlein
b7c83eaaa6
Spice reader: subcircuits w/o pins
...
This happens for subcircuits which only
connect to global nets.
Plus: ".global" now accepts more than just one net
2019-08-19 23:00:24 +02:00
Matthias Koefferlein
1bc03c3b79
Implement "M" parameter for Spice
...
This implementation is pretty simplistic and
applies "M" the following way:
* R: R(final) = R/M
* L: L(final) = L/M
* C: C(final) = C*M
* M: W(final) = W*M
* D: A(final) = A*M
* Q: AE(final) = AE*M
The other parameters (specifically the other
geometry parameters) are not scaled yet.
2019-08-19 22:51:22 +02:00
Matthias Koefferlein
207e44837c
LVS: allow missing device classes in reference schematic
...
Reasoning: some devices may simply not be used in the
reference schematic.
2019-08-19 22:26:50 +02:00
Matthias Koefferlein
fa4da4ba0b
Doc typo fixed.
2019-08-19 21:58:32 +02:00
Matthias Koefferlein
24b985f32e
Better .include for Spice reader
...
* .inc is allowed as synonym
* Paths can be URL's (with HTTP)
* Relative resolution of paths/URL's vs. parent of .include
2019-08-19 21:45:40 +02:00
Matthias Koefferlein
9fecc4b674
Merge branch 'dvb'
2019-08-19 21:06:37 +02:00
Matthias Köfferlein
15f45fb09d
Merge pull request #327 from KLayout/query-performance-fix
...
Fix for layout query performance improvement: needs to check for qual…
2019-08-19 19:37:15 +02:00
Matthias Koefferlein
fe4396d872
Merge branch 'issue-306'
2019-08-19 00:03:39 +02:00
Matthias Koefferlein
e148898d4c
Fixed an issue with drawing canvas and undo
...
When a "create instance" operation with a library cell
was undone the following issue could be seen: as the library
cell might create new layers in the target layout, these
needed to be undone when the operation was reverted.
But then the canvas bit planes got messed up because the
"LayoutView::set_view_ops" call was missing. Now this
happens inside the manipulation functions for deleting
and inserting layers. This should also reduce the
necessity to call LayoutView::update_content explicitly.
2019-08-18 23:56:00 +02:00
Matthias Koefferlein
e9eed3842b
Fix for layout query performance improvement: needs to check for qualified cell name (with lib), not pure cellname
2019-08-18 19:09:07 +02:00
Matthias Köfferlein
c75a1bc2eb
Merge pull request #313 from KLayout/query-performance
...
Query performance
2019-08-18 17:31:17 +02:00
Matthias Köfferlein
16ae0346b8
Merge pull request #314 from KLayout/vars-for-queries
...
Vars for queries
2019-08-18 17:31:11 +02:00
Matthias Köfferlein
bf41da69da
Merge pull request #315 from KLayout/lib-browser
...
Lib browser
2019-08-18 17:31:02 +02:00
Matthias Köfferlein
46128e4141
Merge pull request #319 from KLayout/issue-316
...
Fixed issue #316 (Text capture box has zero dimension for move)
2019-08-18 17:30:54 +02:00
Matthias Köfferlein
46d2fef0fa
Merge pull request #323 from KLayout/issue-321
...
Fixed issue #321
2019-08-18 17:30:47 +02:00
Matthias Köfferlein
757855cb9c
Merge pull request #324 from KLayout/issue-322
...
Fixed issue #322 by skipping used layer indexes - will also help with…
2019-08-18 17:30:39 +02:00
Matthias Koefferlein
2cc6909d2c
Second fix for issue #306 (round function problem)
...
This fix adds a "amend" option to the rounded corners
dialog - disabling this option allows to skip the "undo rounding"
step in case the algorithm does not determine the rounding
properties of the input properly.
Without "amend" enabled, the rounding will always be
applied atop of any existing rounding.
2019-08-18 17:25:28 +02:00
Matthias Koefferlein
8981ed434a
First fix for issue-306: some polygons are not recognized as rounded, more robust radius extraction.
2019-08-17 23:55:49 +02:00
Matthias Koefferlein
9c3f70342b
key bindings and menu items visibility string packing/unpacking for scripts
...
New convenience functions are provided which simplify
manipulation of key bindings and menu item visibility
configuration strings. AbstractMenu#pack_key_binding
and AbstractMenu#unpack_key_binding turn a path/key
map into a single string and back. The string format
is the same than for the key-binding configuration key.
The same is provided for the menu item visibilily
with AbstractMenu#pack_menu_item_visible and
Abstract#unpack_menu_item_visible.
2019-08-17 19:54:18 +02:00
Matthias Koefferlein
7b163728ab
Added UI comment
2019-08-17 19:23:14 +02:00
Matthias Koefferlein
4659569333
Primary fix issue #318 (unable to remove key binding)
...
For a backward compatible solution, a key binding
target of '' still means "take default". For
"nothing", a new pseudo-key "none" was defined.
For scripting, this value is available as
constant "Action#NoShortCut".
2019-08-17 19:17:40 +02:00
Matthias Koefferlein
aa72d03526
Fixed issue #322 by skipping used layer indexes - will also help with DXF and other named-layer formats
2019-08-17 15:30:47 +02:00
Matthias Koefferlein
06a1cafdf4
Fixed issue #321
...
This is a small paradigm shift in the configuration hierarchy:
plugins (as children of root) now inherit the configuration
from the parent - now only through configure, but also through
config_get (pull with config_get vs. push with configure).
TODO: both methods are not entirely consistent as configure
can block propagation of configuration settings. But that's a
feature hardly used anyway and rather an optimization thing.
2019-08-17 14:54:48 +02:00
Matthias Koefferlein
19e3d6eab0
Fixed issue #316 (Text capture box has zero dimension for move)
2019-08-04 23:45:46 +02:00
Matthias Koefferlein
25aa54eebf
Updated doc for library view
2019-08-04 01:54:16 +02:00
Matthias Koefferlein
7c0dd07d42
WIP: lib browser - cleanup and small bug fixes.
2019-08-04 00:49:08 +02:00
Matthias Koefferlein
a104352a93
WIP: library browser - cleanup of unused cells in lib browser, some bug fixed, enhancements to parameter editor on drop
2019-08-04 00:08:39 +02:00
Matthias Koefferlein
ed2cdc6c7e
WIP: lib browser - open properties dialog after dropping PCell. TODO: needs to be modal with cancel option
2019-08-03 01:03:59 +02:00
Matthias Koefferlein
9daf63403a
WIP: lib-browser - icons for lib cells.
2019-08-03 00:45:42 +02:00
Matthias Koefferlein
5ec06b9f24
WIP: library browser - show BASIC PCell variants with more parameters so they can be told apart.
2019-08-03 00:17:02 +02:00
Matthias Koefferlein
741434dc13
WIP: library browser - take selected layer for default if there is no default layer
2019-08-02 23:40:54 +02:00
Matthias Koefferlein
de9db84ac7
WIP: library browser - drag & drop of PCell instances
2019-08-02 22:49:55 +02:00
Matthias Koefferlein
56bf9dd8d5
WIP: lib browser - persistence of tree state during update
2019-08-02 21:46:15 +02:00
Matthias Koefferlein
fda5d86b4b
Performance enhancement of netlist compare (avoid O(2) loop)
2019-08-02 01:39:07 +02:00
Matthias Koefferlein
67944240b2
WIP: lib browser, drag and drop partially works
2019-08-02 00:53:24 +02:00
Matthias Koefferlein
a567002e6c
Search feature for library browser plus two bugfixes
...
Bugfixes:
1.) A crash due to wrong key_event_handler pointer
(relevant for hierarchy view)
2.) When switching cellview the focus wasn't changed
and selection stayed in old cellview
2019-08-01 23:15:07 +02:00
Matthias Koefferlein
4428ef808b
WIP: library browser - PCell variants as children of PCells
2019-08-01 22:52:20 +02:00
Matthias Koefferlein
0c18171e63
WIP: library browser - basic setup. Not much functionality yet.
2019-07-31 23:46:48 +02:00
Matthias Koefferlein
5faf762571
WIP: libraries view - basic skeleton
2019-07-30 23:22:26 +02:00
Matthias Koefferlein
dfd713016b
Added some unit tests for performance improvement of queries.
2019-07-29 22:36:39 +02:00
Matthias Koefferlein
0dcfeabaf4
Query performance improvement for the cell tree recursion case by introducing optimization hints ('filter state objectives')
2019-07-29 22:27:36 +02:00
Matthias Koefferlein
e329f60257
WIP: attempt to improve performance by using name match shortcuts
2019-07-28 19:05:25 +02:00
Matthias Koefferlein
e33c2f7b66
Less dependencies on compiler details for RBA/pya tests.
2019-07-28 16:36:31 +02:00
Matthias Koefferlein
49c1bacb98
Introducing variables for layout queries:
...
1.) The ExpressionContext class is a mapping of tl::Eval
and allows providing a variable context for the LQ.
Expression class is derived from ExpressionContext now.
2.) The variable lookup has been changed so that variables
can be modified even if they come from a parent context.
3.) LayoutQuery and iterator has been given an argument to
supply the context
2019-07-28 01:33:30 +02:00
Matthias Köfferlein
9a324727d2
Merge pull request #312 from KLayout/dvb
...
Dvb
2019-07-27 22:32:59 +02:00
Matthias Koefferlein
71f646c24f
WIP: updated test data for latest updates, don't sort LVSDB on reading for consistency
2019-07-27 21:42:51 +02:00
Matthias Koefferlein
169cc5246d
WIP: updated golden data for new device sorting in cross reference.
2019-07-27 20:37:41 +02:00
Matthias Koefferlein
2993a6411a
WIP: some enhancements to cross reference and browser
...
Devices: try to pair unmatching ones similar to subcircuits
Don't sort devices by the device name but by class name
Show the device parameters for netlist devices (same as
for netlist browser)
2019-07-27 20:21:13 +02:00
Matthias Koefferlein
2e034c2172
Bugfix: net names need HTML escaping.
2019-07-27 00:53:21 +02:00
Matthias Koefferlein
b4fa4b1bae
Flattening of layout with circuit flattening.
...
Technically, the layout isn't flattened, but connections are made
which allow regenerating the layout even after the circuit
has been flattened.
2019-07-27 00:37:22 +02:00
Matthias Koefferlein
4f9208577b
Added option to configure capture range.
2019-07-25 00:06:50 +02:00
Matthias Koefferlein
19b6347f3f
Reproducible layer order for different ruby versions.
2019-07-24 20:50:28 +02:00
Matthias Koefferlein
9cad9ca024
Fixed missing initialization of device_scaling in LayoutToNetlist.
2019-07-24 20:49:56 +02:00
Matthias Koefferlein
afb5cea576
Added "device_scaling" to LVS
...
Plus: added some missing files
Implementation details:
* scaling factor was introduced in DeviceExtractor::extract
* for easy implementation this is available in "sdbu"
* "sdbu" is made available in GSI
* to test this, the db::compare_netlist had to be enhanced to
exactly check device parameters
* enhancement of LVS script framework and doc updates
2019-07-24 00:16:47 +02:00
Matthias Koefferlein
5dabd6093d
Provide new 'align' feature in LVS for automatic circuit flattening.
2019-07-23 01:12:12 +02:00
Matthias Koefferlein
aff8212f2f
Provide 'align' method to auto-align circuit and cell hierarchy in LVS
2019-07-23 00:14:43 +02:00
Matthias Koefferlein
14d9689498
Added .global to Spice reader.
2019-07-22 23:02:31 +02:00
Matthias Köfferlein
d87c27b4cd
Merge pull request #310 from KLayout/issue_293
...
Fixed #293 : window title of setup form is 'Setup'
2019-07-21 23:49:38 +02:00
Matthias Köfferlein
8a66f59b6e
Merge pull request #308 from KLayout/issue-305
...
Fixed issue #305 (CIF reader issue with rotated boxes)
2019-07-21 23:49:11 +02:00
Matthias Köfferlein
fbb8a432c4
Merge pull request #307 from KLayout/dvb
...
Dvb
2019-07-21 23:48:55 +02:00
Matthias Koefferlein
39011e3a37
Fixed #293 : window title of setup form is 'Setup'
2019-07-21 23:22:10 +02:00
Matthias Koefferlein
8f21cdf449
Fixed issue #305 (CIF reader issue with rotated boxes)
2019-07-21 22:57:02 +02:00
Matthias Koefferlein
9d250d6df9
Using a larger branch complexity than default for LVS full test's netlist compare
...
In addition: typo fixed, added doc for complexity configuration
parameters.
2019-07-21 22:24:07 +02:00
Matthias Koefferlein
df7195b81f
Compatibility with ruby 1.8, force garbage cleanup for LVS/DRC and tests.
2019-07-21 10:23:08 +02:00
Matthias Koefferlein
6e6e449eef
Consolidated test data for lvs:full - there are too many variants to support pure text compare. We use the netlist comparer now.
2019-07-21 09:20:44 +02:00
Matthias Köfferlein
f82e7929d8
Fixed a conversion issue with ints on MSVC
...
Because long is 32bit on Windows (like int), the
conversion from long to unsigned int was subject
to sign overflow. This was fixed by going to
unsigned int via unsigned long.
2019-07-20 00:28:32 +02:00
Matthias Koefferlein
0215d05a12
Fixed unit tests.
2019-07-19 00:02:05 +02:00
Matthias Köfferlein
7fc907cf7e
Fixed a segfault from the testsuite
2019-07-16 23:17:29 +02:00
Matthias Köfferlein
4e1736a181
Updated golden data of two tests for Windows.
2019-07-16 01:27:08 +02:00
Matthias Köfferlein
630f7e56d8
Merge pull request #303 from KLayout/issue-302
...
Fixed #302 and plus a potential invalid memory access fixed
2019-07-16 00:44:00 +02:00
Matthias Köfferlein
b3e9915259
Provide special LVS test golden data for Windows (slight differences in shape order etc.)
2019-07-16 00:40:43 +02:00
Matthias Köfferlein
df23830a1c
Fixed a runtime issue on Windows
2019-07-16 00:39:39 +02:00
Matthias Köfferlein
e4efaac12f
MSVC builds fixed - XML source needs to accept URLs (specifically resource URLs) also with EXPAT
2019-07-15 23:23:19 +02:00
Matthias Köfferlein
9820e57031
Don't write third terminal for R or C (WithBulk variants)
2019-07-15 23:19:03 +02:00
Matthias Köfferlein
eb9ffb4a35
Another msvc2017 build warning fixed
2019-07-15 23:18:20 +02:00
Matthias Köfferlein
9a371b8fd2
Fixed some build warnings with msvc2017 (maybe real issues and memory leaks)
2019-07-15 23:17:24 +02:00
Matthias Köfferlein
350ae397aa
MSVC builds fixed - XML source needs to accept URLs (specifically resource URLs) also with EXPAT
2019-07-15 00:18:18 +02:00
Matthias Köfferlein
ede217cd0b
Fixed #302 and plus a potential invalid memory access fixed
2019-07-15 00:17:01 +02:00