Matthias Koefferlein
0f86e0c8aa
Further Windows build fixes.
2019-02-20 22:56:01 +01:00
Matthias Koefferlein
5d222690bd
Further Windows build fixes.
2019-02-20 22:50:19 +01:00
Matthias Koefferlein
e787a18be2
Attempt to fix Windows build
2019-02-20 22:03:53 +01:00
Matthias Koefferlein
91407ddaa9
Added tests for region processors.
2019-02-20 21:40:43 +01:00
Matthias Koefferlein
503707f361
Refactoring: based results of edge/polygon operations on delegates entirely
2019-02-20 10:10:54 +01:00
Matthias Koefferlein
124c4eb61c
Refactoring: generalization of filter/processor for edges, region
2019-02-20 09:45:38 +01:00
Matthias Koefferlein
0f2d0605a9
Some more refactoring - generalized polygon processing in region.
2019-02-20 01:17:14 +01:00
Matthias Koefferlein
2e9fb9fe9a
DRC bugfix: layer wasn't overwritten but added on output.
2019-02-20 00:41:24 +01:00
Matthias Koefferlein
dbe8c62177
Fixed a bug introduced during refactoring: hulls/holes spoiled deep regions and produced Polygons rather than PolygonRefs
2019-02-20 00:33:46 +01:00
Matthias Koefferlein
3dd1ed4c4d
Refactoring of edges processor.
2019-02-19 23:10:14 +01:00
Matthias Koefferlein
496b695ef0
Refactoring of the polygon processing in Region
2019-02-19 22:11:55 +01:00
Matthias Koefferlein
90c1d212a4
Refactoring: new concept for edge/polygon filters
2019-02-19 20:19:10 +01:00
Matthias Koefferlein
7143e75310
Some refactoring: cell variant collector isn't a big template anymore
2019-02-19 19:16:55 +01:00
Matthias Koefferlein
a69e27b769
Clean up resources in DRC.
2019-02-18 23:44:14 +01:00
Matthias Koefferlein
3918172c6a
Fixed a nasty issue with editable mode.
2019-02-18 23:34:46 +01:00
Matthias Koefferlein
7f71cc3a56
Some bug fixes, added tests for hier DRC (at least for what is there yet)
2019-02-18 22:24:34 +01:00
Matthias Koefferlein
0bed4615aa
Fixed unit tests.
2019-02-18 21:01:19 +01:00
Matthias Koefferlein
9ec6b44c93
Added some tests for the previous commit.
2019-02-18 00:15:26 +01:00
Matthias Koefferlein
b91edbabde
Enabled deep mode for DRC
2019-02-17 23:21:23 +01:00
Matthias Koefferlein
311318c578
Ported edge/edge DRC functions to hierarchical mode.
2019-02-17 18:54:33 +01:00
Matthias Koefferlein
c40f147dc7
Edge/edge and edge/polygon interaction test ported to hierarchical mode.
2019-02-17 18:36:15 +01:00
Matthias Koefferlein
7ef0451ca8
Partial segments of edges converted to hierarchical operations.
2019-02-17 17:53:21 +01:00
Matthias Koefferlein
74006b6208
Hierarchical implementation of extended method for edges
2019-02-17 17:34:31 +01:00
Matthias Koefferlein
ae783a2245
Hiearchical implementation of edge filter.
2019-02-17 16:18:24 +01:00
Matthias Koefferlein
61d766bd4c
Hierarchical implementation of edge to region operations.
2019-02-17 16:05:39 +01:00
Matthias Koefferlein
e6ee1c064e
Hierarchical implementation of edge/edge booleans.
2019-02-17 15:07:16 +01:00
Matthias Koefferlein
8e5bffcf18
Hierarchical angle check.
2019-02-17 11:42:30 +01:00
Matthias Koefferlein
a7bfaac424
Cell variant resolution by propagation, grid check now implementation hierarchically (with propagation)
2019-02-17 10:59:04 +01:00
Matthias Koefferlein
5dc833970b
Hierarchical implementation DRC functions (measurements)
2019-02-16 22:34:36 +01:00
Matthias Koefferlein
5a994fef6d
First steps towards hiearchical DRC - needs testing.
2019-02-16 00:35:29 +01:00
Matthias Koefferlein
6e35e80963
Hierarchical implementation of polygon vs. edge interact
2019-02-15 23:43:45 +01:00
Matthias Koefferlein
78617930dd
Hierarchical implementation of self-overlap merge.
2019-02-13 22:41:12 +01:00
Matthias Koefferlein
ddcfda8761
Some optimization: keep merged state in deep region.
2019-02-13 17:17:03 +01:00
Matthias Koefferlein
b0fc2be96e
Deep regions: some more operations implemented hierarchically
...
- snap (!) - but only for gx == gy
- filtering
- interact/inside/outside/overlap + not_... variants
- edges
2019-02-13 01:07:32 +01:00
Matthias Koefferlein
10f9de8b66
Added test for edge-based clusters, edge connectivity modes
2019-02-12 22:14:50 +01:00
Matthias Koefferlein
98864b1eda
Some refactoring (removed code copies)
2019-02-12 21:27:17 +01:00
Matthias Koefferlein
4b5736ba6a
Added result type template parameter to local hier processor.
2019-02-12 20:32:07 +01:00
Matthias Koefferlein
6404ca6b1d
WIP: Deep edge pairs
2019-02-12 00:08:47 +01:00
Matthias Koefferlein
43014d6923
WIP: some testing and bug fixes for hierarchical report db generation.
2019-02-11 00:22:19 +01:00
Matthias Koefferlein
2d9a3aaaa6
WIP: Hierarchical production of error db's. Needs testing.
2019-02-11 00:11:03 +01:00
Matthias Koefferlein
dd4fcd9e36
WIP: templatized local hierarchical processor.
2019-02-10 18:39:32 +01:00
Matthias Koefferlein
a81a8cdbc8
Modified edge transformation to maintain the orientation paradigm
...
When the transformation is mirroring, edges now swap their
points to maintain the right-is-inside paradigm.
2019-02-10 16:03:46 +01:00
Matthias Koefferlein
a14ca01bac
WIP: more on deep edge collections.
2019-02-10 15:33:14 +01:00
Matthias Koefferlein
f22217b6c4
WIP: deep edges and edge pairs.
2019-02-10 10:22:47 +01:00
Matthias Koefferlein
4abc38a5cc
Test for deep/flat collaboration
2019-02-10 08:28:48 +01:00
Matthias Koefferlein
e8e45b7272
Some tests, smooth and round method of deep region
2019-02-09 23:51:35 +01:00
Matthias Koefferlein
7a86f0d878
Bugfix: size method needs to produce polygon refs so the output is usable as input for booleans too.
2019-02-09 22:55:34 +01:00
Matthias Koefferlein
b6dd149f53
Changed variant suffix to to be consistent with cell name suffix generation in KLayout.
2019-02-09 19:21:14 +01:00
Matthias Koefferlein
1f3af7bbfe
Hierarchical area and perimeter and sizing
...
Area and perimeter computation happens hierarchically
now. Magnified instances are supported.
Sizing is implemented hierarchically.
For anisotropic sizing, orientation variants may be
generated. For both isotropic and anisotropic
magnification variants will be created.
2019-02-09 19:13:54 +01:00
Matthias Koefferlein
bbf7b2768b
WIP: cell variant collecting and building.
2019-02-09 16:29:34 +01:00
Matthias Koefferlein
50c8c067d5
WIP: cell variant formation utility class.
2019-02-07 23:13:23 +01:00
Matthias Koefferlein
decc5ede13
Robustification of Region
...
- Tests for merge
- Locking the layout when writing back the data for
performance improvement
2019-02-05 23:39:31 +01:00
Matthias Koefferlein
7c043dbb99
WIP: fixed DeepRegion implementation somewhat. Needs testing.
2019-02-05 00:25:32 +01:00
Matthias Koefferlein
981d668161
WIP: introduced hierarchical merge and some other hierarchical operations.
2019-02-04 23:43:19 +01:00
Matthias Koefferlein
9c0123df20
Implemented implicit joining of nets with the same label.
2019-02-03 21:34:23 +01:00
Matthias Koefferlein
3f1cd226a5
Made net name optional in l2n format.
2019-02-03 13:33:58 +01:00
Matthias Koefferlein
f9c33733b9
l2n format writer and reader: more compact output
2019-02-03 01:49:48 +01:00
Matthias Koefferlein
1ea687d7b7
More details control over verbosity of region ops
...
Plus: the region op control attributes (threads,
min_coherence etc.) got lost when replacing the
delegate of a region. Now they are maintained in
most cases.
2019-02-03 01:48:14 +01:00
Matthias Koefferlein
99f111fe01
Attempt to achieve reproducibility between MSVC and gcc
...
Applies to dbHierProcessor.cc:
The issue was related to std::unordered_set/map which
(as the name says) is not ordered. The output of the
boolean core computation step is currently dependent
on the order (it's single pass), hence the order of
the contexts matters.
Using ordered sets where possible and explicit
sorting might help.
2019-02-02 22:43:42 +01:00
Matthias Koefferlein
5daf34ed76
Merge remote-tracking branch 'origin/windows-compat' into dvb
2019-02-02 02:36:14 +01:00
klayoutmatthias
1a080cc4d7
Windows build compatibility.
2019-02-02 02:33:48 +01:00
Matthias Koefferlein
c90f7e4af9
Introduced perimeter parameters for MOS3/MOS4
2019-02-02 01:29:28 +01:00
Matthias Koefferlein
11cfe36ed1
Some MSVC build issues fixed (hopefully)
2019-02-01 23:18:54 +01:00
Matthias Koefferlein
8ad6da0281
Fixed a build issue on MSVC
2019-02-01 07:43:24 +01:00
Matthias Koefferlein
f2fff5cca1
Fixed compile issue.
2019-02-01 00:00:10 +01:00
Matthias Koefferlein
efe06046aa
Bugfixes (dbu, global nets)
...
1.) Fixed bug on build_nets when DBU's of target
and source layout were different
2.) Global nets of subcircuits need to be considered
also when they are already connected through other
connections.
2019-01-31 23:50:34 +01:00
Matthias Koefferlein
57305977a4
Spice writer delegate fix
...
- Changed to const & objects in the Spice writer delegate
to non-const & for Ruby/Python reimplementation (as const/non-const
ambiguity is an issue for Ruby/Python we cannot efficiently
work with const refs)
- Updated test data because the previous implementation wasn't
using refs but rather copies of device and device class
objects.
2019-01-31 22:23:58 +01:00
Matthias Koefferlein
30e26c4f96
Avoid an issue with virtual functions
...
Reimplementing virtual functions with
"const &" arguments wasn't behaving as
expected because these arguments were
copied.
Now, "const &" for arguments (in virtual
function reimplementation) is not implemented
as a copy.
In addition, now it's possible to declare
results as references always (also if const &).
See gsiTest.cc:1078 for example:
// gsi::arg_make_reference makes the function's return value
// always being taken as a reference
gsi::method<C_P, const CopyDetector &, const CopyDetector &, gsi::arg_make_reference> ("pass_cd_cref_as_ref", &C_P::pass_cd_cref)
2019-01-31 01:07:15 +01:00
Matthias Koefferlein
7b07782cdf
Avoid an issue with virtual functions
...
Reimplementing virtual functions with
"const &" arguments wasn't behaving as
expected because these arguments were
copied.
Now, "const &" for arguments (in virtual
function reimplementation) is not implemented
as a copy.
In addition, now it's possible to declare
results as references always (also if const &).
See gsiTest.cc:1078 for example:
// gsi::arg_make_reference makes the function's return value
// always being taken as a reference
gsi::method<C_P, const CopyDetector &, const CopyDetector &, gsi::arg_make_reference> ("pass_cd_cref_as_ref", &C_P::pass_cd_cref)
2019-01-31 00:36:44 +01:00
Matthias Koefferlein
4068478887
Implemented SPICE writer + tests.
2019-01-31 00:07:10 +01:00
Matthias Koefferlein
7d06ea83c1
Bugfix: a segfault happened during net cluster formation because make_path was messing up the memory layout of the cluster collections.
2019-01-28 21:29:34 +01:00
Matthias Koefferlein
7e42ff83cd
More fine-tuning of verbosity of log output for local processor.
2019-01-28 21:28:23 +01:00
Matthias Koefferlein
da8b2854de
Some fine-tuning of the timer output verbosity of the edge processor.
2019-01-28 21:27:41 +01:00
Matthias Koefferlein
2da7b218b4
Print errors on log when running device extractor.
2019-01-27 22:01:29 +01:00
Matthias Koefferlein
794c31329a
Bugfix: internal error when running netlist extraction.
2019-01-27 22:00:30 +01:00
Matthias Koefferlein
458d00969c
Fixed issue #228
...
Reason for the problem: the interaction test
has to keep separate "inside" records for both
below and above the scanline, not just once.
With the single record, the step in the
left polygon erased the "inside" condition.
2019-01-27 00:04:15 +01:00
Matthias Koefferlein
fe0d3e28ba
Fixed issue #228
...
Reason for the problem: the interaction test
has to keep separate "inside" records for both
below and above the scanline, not just once.
With the single record, the step in the
left polygon erased the "inside" condition.
2019-01-26 23:59:22 +01:00
Matthias Koefferlein
863c6ba8de
Fixed a hierarchy traversal bug in the hier processor.
2019-01-26 21:53:44 +01:00
Matthias Koefferlein
74b6341425
Fixed unit tests, added swap function to tl::list
2019-01-25 23:19:12 +01:00
Matthias Koefferlein
4712ee0f29
Activated DeviceAbstract for GSI.
2019-01-25 22:40:41 +01:00
Matthias Koefferlein
29264013b0
WIP: more consistent handling of polygon splitting parameters.
2019-01-25 22:28:25 +01:00
Matthias Koefferlein
12aaa2db20
Refactoring: unified handling of splitting parameters.
2019-01-25 21:48:56 +01:00
Matthias Koefferlein
6da9bc5e85
Updated tests after switching to boolean core.
2019-01-25 21:38:45 +01:00
Matthias Koefferlein
707c761bac
WIP: local hierarchical operations: take boolean core rather than shape ref core -> better hierarchical quality. Tests need to be fixed.
2019-01-25 00:21:01 +01:00
Matthias Koefferlein
a635435899
Moved some code
2019-01-23 23:39:43 +01:00
Matthias Koefferlein
1cfa3251ce
Better reproducibility of results in hier processor: hash function of shape ref takes object hash, not pointer hash
2019-01-23 22:19:28 +01:00
Matthias Koefferlein
fba5bed2a3
Performance improvement of device extractor (taking out a O(N**2) loop)
2019-01-23 01:02:22 +01:00
Matthias Koefferlein
68fe668567
WIP: performance improvement.
2019-01-22 07:42:44 +01:00
Matthias Koefferlein
81bf47688e
Renamed device model -> device abstract
2019-01-21 22:37:13 +01:00
Matthias Koefferlein
d79a448eaa
Some performance improvement by eliminating empty objects in the box scanner.
2019-01-21 22:37:02 +01:00
Matthias Koefferlein
f83e1dae43
Refactoring, some bugfixes, GSI bindings for L2N methods.
2019-01-20 23:12:27 +01:00
Matthias Koefferlein
4c7f43d749
More l2n reader tests.
2019-01-20 17:31:58 +01:00
Matthias Koefferlein
dd39168dc8
WIP: Enabled layout generation from read l2n data.
2019-01-20 02:50:23 +01:00
Matthias Koefferlein
a5e2cf58c3
l2n dump format is leaner (device terminal shapes dropped from nets as they are contained in the device abstracts). Some refactoring.
2019-01-19 23:00:19 +01:00
Matthias Koefferlein
8213e71a79
WIP: l2n reader implementation, some bug fixes, refactoring.
2019-01-19 22:19:08 +01:00
Matthias Koefferlein
b6eeb4bef3
Fixed #225 by fixing the READER.
2019-01-16 23:12:47 +01:00
Matthias Koefferlein
56bb39a273
LayoutToNetlist enhancements in the area of the dumper.
2019-01-16 22:45:58 +01:00
Matthias Koefferlein
438f50091f
WIP: Refined output format for l2n
2019-01-16 00:49:51 +01:00
Matthias Koefferlein
4cb8982ca2
WIP: added concept of device model.
2019-01-15 23:03:25 +01:00
Matthias Koefferlein
5962d66940
WIP: major enhancements with respect to device handling
...
The device handling in the netlist extractor was now
entirely moved to device cells. New options are introduced
for exporting these cells. Tests have been updated.
2019-01-15 21:33:41 +01:00
Matthias Koefferlein
1af81b74d2
WIP: refactoring - turning devices into cells for better backannotation.
2019-01-14 00:59:47 +01:00
Matthias Koefferlein
3b0f4b3d78
WIP: fixed some compiler issues on certain systems.
2019-01-12 00:27:55 +01:00
Matthias Koefferlein
baf50bd0b1
WIP: refactoring - singularization of classes in separate files.
2019-01-10 23:36:52 +01:00
Matthias Köfferlein
1144899976
Merge pull request #221 from KLayout/issue-200
...
Fixed #200 by introducing layout locking during iteration
2019-01-09 01:11:49 +01:00
Matthias Koefferlein
aeeb6d7c87
Fixed #200 by introducing layout locking during iteration
...
The cause for the problem was that the layout got updated
while iterating causing the mess within the iterator.
This solution is to lock the layout while an iterator
is present. This happens for various Cell and Shapes
iterator, so it's a major enhancement.
2019-01-09 01:06:11 +01:00
Matthias Koefferlein
9fa5618034
Added test for device combination.
2019-01-08 23:49:12 +01:00
Matthias Koefferlein
14cb9090ec
Provide operator-- on SortedCellIndexIterator to fix #220
2019-01-08 21:53:10 +01:00
Matthias Koefferlein
d4d7ea8022
Updated copyright.
2019-01-08 01:09:25 +01:00
Matthias Koefferlein
b0d7f5f7f5
Updated copyright.
2019-01-08 00:58:45 +01:00
Matthias Koefferlein
feb2b69aa9
Merge remote-tracking branch 'origin/master' into dvb
2019-01-08 00:49:16 +01:00
Matthias Koefferlein
fb4048d317
Added RBA tests for four-terminal MOS extraction plus global nets.
2019-01-08 00:17:58 +01:00
Matthias Koefferlein
294f1701b5
Added a test for joining of layers through multiple global net assignment.
2019-01-07 23:57:52 +01:00
Matthias Koefferlein
315bcdd016
WIP: bugfixed netlist extractor with global nets.
2019-01-07 23:33:57 +01:00
Matthias Koefferlein
c80e335cd6
WIP: global nets integration in cluster builder.
2019-01-07 02:08:59 +01:00
Matthias Koefferlein
a4f0fd665e
Provided a solution for connectivity through global nets.
2019-01-06 17:50:51 +01:00
Matthias Koefferlein
6cf7558384
WIP: preparations for global net extraction
2019-01-06 17:04:13 +01:00
Matthias Koefferlein
64c2548ab8
WIP: first steps towards global nets.
2019-01-06 15:28:40 +01:00
Matthias Koefferlein
eb435d5d85
WIP: refactoring - separated pins of net into outgoing and subcircuit.
2019-01-06 12:53:22 +01:00
Matthias Koefferlein
261b14a260
WIP: GSI binding of LayoutToNetlist::build_nets
2019-01-06 02:15:04 +01:00
Matthias Koefferlein
8d51d1e4bb
WIP: better optimization of hierarchical net output.
2019-01-06 01:54:36 +01:00
Matthias Koefferlein
ec3a3b0f8c
WIP: added ability to export nets to layouts.
2019-01-06 01:32:20 +01:00
Matthias Koefferlein
bc4f9efa5d
One more test for probing with a slightly more complex hierarchy.
2019-01-05 23:21:37 +01:00
Matthias Koefferlein
f86f8149eb
Fixed a bug that caused a segfault in the Layout2Netlist object (array repo references to original layout rather than to the working layout)
2019-01-05 22:40:53 +01:00
Matthias Koefferlein
cbca1fb530
Cleaned up a namespace mess (db::Net was duplicated in NetTracer and db itself) - renamed to db::NetTracerNet, but better solution would be to rename db to something else in the plugin.
2019-01-05 22:39:52 +01:00
Matthias Koefferlein
15b79c9ddb
IMPORTANT BUGFIX: array repo handling
...
The issue: when cloning an array, the
"in_repository" flag might be left set. This
makes the system think the array is kept in
a repo. In the best case this creates a
memory leak.
2019-01-05 21:55:06 +01:00
Matthias Koefferlein
6e468b43e0
WIP: bugfix - local to instance interaction did shortcut too early.
2019-01-05 10:12:55 +01:00
Matthias Koefferlein
c31c87916c
WIP: bugfix - array reference were not always considered correctly.
2019-01-05 01:34:10 +01:00
Matthias Koefferlein
ad6d9b5715
WIP: provide a less memory intensive way to deliver shapes from nets.
2019-01-04 17:41:09 +01:00
Matthias Koefferlein
e439d50111
WIP: hier netlist processort: performance improvement in instance-to-instance checking, leaner output of net shapes.
2019-01-04 08:03:31 +01:00
Matthias Koefferlein
bcac78235b
Fixed a testsuite fail after last commit.
2019-01-04 01:59:52 +01:00
Matthias Koefferlein
72f838f8ee
WIP: performance improvement, maximum confinement of interactions by local search area.
2019-01-04 01:22:24 +01:00
Matthias Koefferlein
3fd99407a3
WIP: bugfix - hierarchical net extractor wasn't considering self-interactions between instance array elements.
2019-01-03 23:25:28 +01:00
Matthias Koefferlein
62d9941c4a
WIP: Bugfix - hierarchy was dropping instances.
2019-01-03 22:09:19 +01:00
Matthias Koefferlein
20799026d1
WIP: bugfix in net extraction (wrong hierarchy treatment)
2019-01-03 18:26:18 +01:00
Matthias Koefferlein
76330bea3a
Save some memory on net shape retrieval.
2019-01-02 23:23:04 +01:00
Matthias Koefferlein
e3b8d3635c
Small bugfix: object._destroy wasn't working for directly passed objects.
2019-01-02 23:18:14 +01:00
Matthias Koefferlein
ec3198c466
Netlist extraction performance improvement by taking a shortcut for local cluster/child cell cluster interactions.
2019-01-01 22:39:22 +01:00
Matthias Koefferlein
6a710a9efb
Fixed an internal error that happened if additional layers got added to the working shape set.
2019-01-01 19:19:53 +01:00
Matthias Koefferlein
7898ec37cd
Bugfix: netlist extractor did loose some connections.
2019-01-01 17:23:11 +01:00
Matthias Koefferlein
fed7a4bfed
Some performance improvement for the net extractor.
2019-01-01 13:07:40 +01:00
Matthias Koefferlein
060abc056e
Fixed a memory corruption issue from the Netlist destructor.
2018-12-31 17:33:14 +01:00
Matthias Koefferlein
37d8f0bfca
Added hierarchical progress reporting for more detailed progress.
2018-12-31 16:41:32 +01:00
Matthias Koefferlein
923e4075da
Added an intrinsic linked list implementation.
2018-12-31 15:25:45 +01:00
Matthias Koefferlein
509de593e6
Removed a compiler warning.
2018-12-31 01:42:55 +01:00
Matthias Koefferlein
0cc340cf4f
Once more being nice to picky compilers ...
2018-12-31 01:09:13 +01:00
Matthias Koefferlein
b75125f7c2
Please picky compilers (once more) ..
2018-12-31 00:50:43 +01:00
Matthias Koefferlein
e3279b754b
Please picky compilers ..
2018-12-31 00:00:15 +01:00
Matthias Köfferlein
d726afb189
Merge pull request #215 from lightwave-lab/bugfix/technology-load
...
Bugfix: gsi method db Technology.load pointing to save
2018-12-30 22:57:58 +01:00
Matthias Koefferlein
9c607d7663
Added a first version of the layout to netlist extraction feature
...
The main entry point is RBA::LayoutToNetlist which is the
GSI binding for the layout to netlist extractor. For a first
impression about the abilities of this extractor see the
Ruby tests in testdata/ruby/dbLayoutToNetlist.rb.
The framework itself consists of many classes, specifically
- RBA::Netlist for the netlist representation
- RBA::DeviceClass and superclasses (e.g. RBA::DeviceClassResistor and
RBA::DeviceClassMOS3Transistor) for the description of devices.
- RBA::DeviceExtractor and superclasses (i.e. RBA::DeviceExtractorMOS3Transistor or
the generic RBA::GenericDeviceExtractor) for the implementation of the
device extraction.
- RBA::Connectivity for the description of inter- and intra-layer connections.
2018-12-30 22:43:56 +01:00
Matthias Koefferlein
f989a85642
WIP: introduced Circuit::is_external_net
2018-12-30 18:44:30 +01:00
Matthias Koefferlein
72a140957d
WIP: added test for recursive net shape retrieval
2018-12-30 18:22:45 +01:00
Matthias Koefferlein
16a2b1982d
WIP: added one more level of abstraction to layout-to-netlist extraction (db::LayoutToNetlist) for easier use.
2018-12-30 17:53:46 +01:00
Matthias Koefferlein
b512f628bc
WIP: specific device extractor and GSI binding.
2018-12-30 14:54:59 +01:00
Matthias Koefferlein
ec7ab8e01d
WIP: moved code.
2018-12-30 14:15:58 +01:00
Matthias Koefferlein
c841b84867
WIP: some minor refactoring.
2018-12-30 13:37:52 +01:00
Matthias Koefferlein
a787204e77
WIP: connect and disconnect terminal by name in GSI
2018-12-30 13:28:11 +01:00
Matthias Koefferlein
293c6f496e
WIP: more query functions for netlist classes (i.e. net by name, device by name etc.), some refactoring, GSI bindings, tests.
2018-12-30 13:00:03 +01:00
Matthias Koefferlein
425acda31a
WIP: GSI binding of device extractor classes.
2018-12-30 11:32:33 +01:00
Matthias Koefferlein
c571535e55
WIP: standard device classes, added GSI binding plus tests.
2018-12-29 23:48:31 +01:00
Matthias Koefferlein
44b5b2742e
WIP: tests for specialized device classes and device combination
2018-12-29 22:58:29 +01:00
Matthias Koefferlein
45b35f3aae
WIP: to_string for netlist, tests, some bugfixes on device combination.
2018-12-29 22:18:58 +01:00
Matthias Koefferlein
edbafae43e
WIP: make top level pins for named nets and netlist purging. Tests.
2018-12-29 20:50:35 +01:00
Matthias Koefferlein
54adb84e27
WIP: locking of netlist for better performance.
2018-12-29 01:04:48 +01:00
Matthias Koefferlein
d57ede441c
WIP: netlist topology - children, parents, top-down and bottom-up iteration.
2018-12-29 00:48:28 +01:00
Matthias Koefferlein
2f48479838
WIP: a bit of simplification, renaming of methods, parents for subcircuits, devices. References for circuits pointing to subcircuits.
2018-12-28 22:51:11 +01:00
Matthias Koefferlein
a5b9cbfe5b
WIP: device extractor now declares it's layers, passing layers by name supported now.
2018-12-28 01:53:27 +01:00
Matthias Koefferlein
c665d6aceb
WIP: introduced error messaging for device extractor.
2018-12-28 01:06:17 +01:00
Thomas Ferreira de Lima
fcc05d5b9d
Bugfix: gsi method db Technology.load pointing to save
2018-12-27 16:26:46 -05:00
Matthias Koefferlein
411c18cdb4
WIP: also test parameter extraction in device extraction test.
2018-12-27 21:06:35 +01:00
Matthias Koefferlein
473c90f99d
WIP: some refactoring: splitting of big methods, documentation
2018-12-27 19:06:16 +01:00
Matthias Koefferlein
1c41c43b95
WIP: rename netlist extractor test.
2018-12-27 10:58:48 +01:00
Matthias Koefferlein
d6473b4d84
WIP: moved netlist extractor into right place.
2018-12-27 10:57:46 +01:00
Matthias Koefferlein
8b2902c31b
WIP: introduced expanded net name
2018-12-27 10:43:25 +01:00
Matthias Koefferlein
639b0026d3
WIP: some refactoring for better consistency and easier usage of the device extractor.
2018-12-27 10:33:08 +01:00
Matthias Koefferlein
bfae347ffb
WIP: renaming sub_circuit->subcircuit for consistency
2018-12-27 02:02:17 +01:00
Matthias Koefferlein
f0f620b1cd
WIP: added subcircuit IDs for easier referencing.
2018-12-27 01:58:34 +01:00
Matthias Koefferlein
795a77f7ce
WIP: take care of the property name used for device terminal annotation.
2018-12-27 01:39:28 +01:00
Matthias Koefferlein
62ffcd38e6
WIP: refactoring of the netlist property thing. Now it's internal and there is only the device terminal property. The property also does not store device pointers but just IDs
2018-12-27 01:27:58 +01:00
Matthias Koefferlein
f5071d3254
WIP: some more refactoring.
2018-12-27 01:03:52 +01:00
Matthias Koefferlein
2171b98bd8
WIP: introduced device IDs
2018-12-27 00:59:44 +01:00
Matthias Koefferlein
724d1bc255
WIP: some small refactoring.
2018-12-27 00:32:40 +01:00
Matthias Koefferlein
7e4868dcf8
WIP: some small refactoring.
2018-12-27 00:28:44 +01:00
Matthias Koefferlein
8f568641e0
WIP: some refactoring, added label recognition to net extraction, test enhancements.
2018-12-27 00:20:21 +01:00
Matthias Koefferlein
024907e7ef
WIP: first test for device extraction.
2018-12-26 10:02:34 +01:00
Matthias Koefferlein
1db5ad016c
WIP: added first tests for device extraction.
2018-12-26 00:39:46 +01:00
Matthias Koefferlein
f342bdd83a
WIP: added some convenience methods.
2018-12-26 00:39:34 +01:00
Matthias Koefferlein
ec65d293e3
WIP: moved some GSI specific methods into the C++ classes because they are of general use.
2018-12-26 00:38:35 +01:00
Matthias Koefferlein
bfc0e24d50
WIP: fixed some compiler warnings.
2018-12-26 00:36:34 +01:00
Matthias Koefferlein
5c18424c10
WIP: fixed a comment typo.
2018-12-26 00:36:19 +01:00
Matthias Koefferlein
c75a41a1a4
WIP: fixed verbosity of some output.
2018-12-26 00:34:57 +01:00
Matthias Koefferlein
88c60420d0
WIP: fixed verbosity of some output.
2018-12-26 00:34:34 +01:00
Matthias Koefferlein
195324295d
WIP: tests for new net predicates.
2018-12-25 20:56:08 +01:00
Matthias Koefferlein
3d9712c53a
WIP: implementation of device class and GSI bindings. Added some network attributes and predicates (is_floating, is_internal, pin_count, terminal_count)
2018-12-25 20:46:06 +01:00
Matthias Koefferlein
4f8416766c
WIP: renamed port -> terminal for devices. This is correct technical term. A port is a two-terminal entity.
2018-12-25 20:19:37 +01:00
Matthias Koefferlein
9c9d99da7c
WIP: introduced device combination support hints.
2018-12-25 19:45:34 +01:00
Matthias Koefferlein
a7a2eea905
WIP: MOS3 and MOS4 devices
2018-12-25 19:41:29 +01:00
Matthias Koefferlein
33e2fb8dc1
WIP: refinement of device extraction algorithm
2018-12-25 02:17:41 +01:00
Matthias Koefferlein
97a1abb73f
WIP: implementation of basic device classes, device extractor.
2018-12-25 02:02:18 +01:00
Matthias Koefferlein
792a420e23
WIP: purge_nets and combine_devices for db::Netlist, GSI bindings.
2018-12-25 00:25:07 +01:00
Matthias Koefferlein
d9b0b2f775
WIP: Ability to redefine device combination in Ruby (GenericDeviceClass)
2018-12-24 17:22:59 +01:00
Matthias Koefferlein
764667d8e8
WIP: added algorithm for combining devices - needs testing.
2018-12-24 16:55:22 +01:00
Matthias Koefferlein
e3b795e334
Unique ID of device class objects, netlist reference in device class.
2018-12-24 13:52:17 +01:00
Matthias Koefferlein
eb6b043c3b
Parameter values of db::Device/db::DeviceClass
2018-12-24 13:39:19 +01:00
Matthias Koefferlein
c5222c26e3
Added DevicePortProperty class with tests and GSI binding
2018-12-24 01:31:06 +01:00
Matthias Koefferlein
aa5e885215
Added Ruby tests for GSI binding of db::Netlist classes
2018-12-24 00:08:34 +01:00
Matthias Koefferlein
3c2c72d9ed
WIP: GSI binding of db::Netlist at al
2018-12-23 22:31:26 +01:00
Matthias Koefferlein
9a9482d7c7
Added netlist editing features.
2018-12-22 23:12:45 +01:00
Matthias Koefferlein
e51a3a9ed9
Dual netlist representation (nets attached to pins and ports).
2018-12-22 00:29:44 +01:00
Matthias Koefferlein
654afa3ec2
Upward references for db::Net and db::Circuit.
2018-12-21 22:13:37 +01:00
Matthias Koefferlein
83a38037e5
Added cluster_id property to db::Net
2018-12-21 21:53:48 +01:00
Matthias Koefferlein
80999475f4
Added trans and name attributes to db::SubCircuit
2018-12-21 21:47:27 +01:00
Matthias Koefferlein
4dd17c3cd4
WIP: added tests for dbNetlist classes.
2018-12-20 23:29:01 +01:00
Matthias Koefferlein
18346945df
WIP: some refactoring.
2018-12-20 22:11:20 +01:00
Thomas Ferreira de Lima
6b37e67de6
fixing pya module. adding tests
2018-12-20 16:10:55 -05:00
Matthias Koefferlein
d78a25efe4
WIP: new classes for netlist representation.
2018-12-19 23:41:39 +01:00
Matthias Koefferlein
2c4e84fdf2
WIP: netlist property framework
...
- NetlistProperty is the base class for objects that can
be attached to shapes for annotation
- First property type implemented: net name is a way
to annotate net names
2018-12-18 23:56:01 +01:00
Matthias Koefferlein
c10dfee984
Merge branch 'dvb' of https://github.com/klayoutmatthias/klayout into dvb
2018-12-17 20:31:34 +01:00
Matthias Koefferlein
7ceb4ed076
Fixed an issue with the deep region: the layout pointer is not a good key for the backannotation cache. So we better use the unique ID - a concept introduced herein.
2018-12-17 20:31:24 +01:00
Matthias Koefferlein
69d75e233d
Enabled build without qt, Ruby and Python
2018-12-16 23:50:34 +00:00
Matthias Koefferlein
31a9598c35
Merge branch 'master' of https://github.com/klayoutmatthias/klayout
2018-12-16 23:44:57 +01:00
Matthias Koefferlein
db3b1d8eee
Ported #209 fix to master.
2018-12-16 23:44:26 +01:00
Matthias Koefferlein
3ed9e63480
Fixed a typo
2018-12-16 23:39:45 +01:00
Matthias Koefferlein
b75681a333
Fixed #207 (integer rounding happens on text bias and spacing values for Basic.TEXT PCell)
2018-12-11 21:55:30 +01:00
Matthias Koefferlein
ef0e0d38c2
WIP: property collection in net clusters, more tests.
2018-12-09 23:24:32 +01:00
Matthias Koefferlein
eb8abaf5a5
Some refactoring of net processor
...
- introduced concept of root cluster
- recursive shape iterator for clusters
2018-12-09 00:54:08 +01:00
Matthias Koefferlein
df44c364ea
WIP: network processor: net backannotation into original hierarchy.
2018-12-08 01:55:02 +01:00
Matthias Koefferlein
6a2ddcda82
Net processor: Added timing, rearrangement as preparation for parallelization
2018-12-07 23:21:38 +01:00
Anthony J. Bentley
2bad812953
OpenBSD doesn't have sa_restorer.
2018-12-07 06:07:40 -07:00
Matthias Koefferlein
e894724605
Some more debugging and more test cases. Net processor starts getting stable ...
2018-12-05 23:14:06 +01:00
Matthias Koefferlein
6849a2723d
WIP: added test cases for multi-level cross-hierarchy interactions.
2018-12-04 23:33:04 +01:00
Matthias Koefferlein
10f7750a89
WIP: more tests, some debugging.
2018-12-04 23:21:19 +01:00
Matthias Koefferlein
37fad6da97
WIP: hier network processor - some debugging, more tests.
2018-12-04 22:30:18 +01:00
Matthias Koefferlein
42f153672b
WIP: proceed with debugging of hier network processor
2018-12-03 23:02:01 +01:00
Matthias Koefferlein
5a48ac3974
WIP: some refactoring, joining of clusters by child clusters. Needs testing.
2018-12-03 22:05:54 +01:00
Matthias Koefferlein
e8c86834cb
WIP: hier network - a first testcase.
2018-12-03 00:17:04 +01:00
Matthias Koefferlein
1e4b2b414e
WIP: built test bench
2018-12-02 23:58:47 +01:00
Matthias Koefferlein
7e36018356
WIP: hierarchical net clusters - some testing
2018-12-02 23:05:58 +01:00
Matthias Koefferlein
22651b83c0
WIP: hierarchical net clusters - needs testing
2018-12-02 22:39:53 +01:00
Matthias Koefferlein
0e4eab2dce
WIP: hierarchical net clusters.
2018-12-02 22:26:03 +01:00
Matthias Koefferlein
f7f9f4f1fc
WIP: hier network processor: local cluster set
2018-12-02 12:55:54 +01:00
Matthias Koefferlein
e918cc74b0
WIP: tests for cluster in hierarchical network processor.
2018-12-02 10:41:37 +01:00
Matthias Koefferlein
59d1aead59
WIP: new classes for hier network processor.
2018-12-02 01:30:56 +01:00
Matthias Koefferlein
3609bdda81
WIP: first steps for network processor.
2018-12-01 09:38:16 +01:00
Matthias Koefferlein
970f22960f
WIP: enabled tests in editable mode too.
2018-11-28 00:00:06 +01:00
Matthias Koefferlein
6e52c37a1e
WIP: Fixed another build issue (ambiguous overload)
2018-11-26 22:28:29 +01:00
Matthias Koefferlein
f57e7c734e
Merge remote-tracking branch 'remotes/origin/master' into dvb
2018-11-26 21:30:01 +01:00
Matthias Koefferlein
345ff27854
Fixed a small build issue (ambiguous parameters)
2018-11-26 21:29:09 +01:00
Matthias Koefferlein
a588751c27
Fixed a bug introduced with the plugin refactoring: some tool menu items were not functional.
2018-11-26 21:08:17 +01:00
Matthias Koefferlein
5c7cd02af3
Merge remote-tracking branch 'remotes/origin/pymod' into net-extract
2018-11-25 23:16:56 +01:00
Matthias Koefferlein
0352a450b7
Refined solution for #198
2018-11-25 22:43:13 +01:00
Matthias Koefferlein
643e58f856
Merged PR #199 into pymod branch
2018-11-24 00:53:23 +01:00
Matthias Koefferlein
72127a302d
Updated Python highlighter files and highlighter bugfix.
2018-11-23 07:20:55 +01:00
Matthias Koefferlein
f4b2a015dc
Fixed #198 (DXF contour stitching renders fuzzy polygons)
2018-11-22 22:19:46 +01:00
Matthias Koefferlein
9539e36bc9
Fixed #195
2018-11-22 22:19:37 +01:00
Matthias Koefferlein
7073a74aa5
WIP: More on deep regions & hier processor
...
- Splitting of shapes on output of booleans
- A bugfix: error happened when pulling intruders from second-next hier level
- Tests added
- Some TODO comments added
2018-11-22 01:26:03 +01:00
Matthias Koefferlein
06c11d0096
WIP: Deep region XOR implemented.
2018-11-21 00:32:14 +01:00
Matthias Koefferlein
712a390f52
WIP: added ref counting for deep shape layers and layouts
2018-11-21 00:17:14 +01:00
Matthias Koefferlein
edae71b0a8
0.25.5 to 0.25.6 delta ported to pymod
...
- Bugfix for klayoutmatthias/issue-191
- Consistent configuration for layout views
2018-11-18 23:54:41 +01:00
Matthias Koefferlein
a36cf6a2e5
Force relink of pymod/tl to trigger correct build for MSVC
2018-11-18 22:57:17 +01:00
Matthias Koefferlein
7ade9cf079
Added standard Python tests to pymod too
...
This will include the normal Python tests also
in pymod, hence aligning the test base for pymod
and pya.
This feature requires the pya compatibility module.
2018-11-18 22:42:13 +01:00
Matthias Koefferlein
e47584460b
Merge branch 'pymod-pyacompat' into pymod
2018-11-18 22:22:19 +01:00
Matthias Koefferlein
934bed7b94
Fixed #197 (reimplemented methods are not getting called)
2018-11-18 19:59:17 +01:00
Matthias Koefferlein
fc729fc830
WIP: DeepRegion::add implemented.
2018-11-18 09:58:10 +01:00
Matthias Koefferlein
cfa0e8431c
WIP: implemented AND/NOT in deep region, added tests.
2018-11-17 01:33:58 +01:00
Matthias Koefferlein
a438dfd6f0
WIP: deep region debugged, GSI binding, tests.
2018-11-17 00:16:13 +01:00
Matthias Koefferlein
f5cc8b6018
WIP: added DeepRegion
2018-11-16 01:11:28 +01:00
Matthias Koefferlein
f29fd3dfc6
WIP: moved hierarchical processor into db.
2018-11-15 23:41:44 +01:00
Matthias Koefferlein
04256a2753
WIP: fixed RecursiveShapeIterator unit tests.
2018-11-15 22:59:38 +01:00
Matthias Koefferlein
3f8825cfd1
WIP: Improved design of HierarchyBuilder, added tests.
2018-11-15 22:50:02 +01:00
Matthias Koefferlein
6f4988a764
WIP: first version hierarchy builder
2018-11-14 02:22:53 +01:00
Matthias Koefferlein
2bfccca462
WIP: enhanced recursive shape iterator's push mode.
2018-11-13 23:40:08 +01:00
Matthias Koefferlein
f346e70746
RecursiveShapeIterator now features a push mode
...
This will eventually enable catching a hierarchy
skeleton (with shapes) from a RecursiveShapeIterator.
2018-11-12 23:44:26 +01:00
Matthias Koefferlein
b192417809
Merge branch 'pymod' into net-extract
2018-11-10 22:42:48 +01:00
Matthias Koefferlein
c91f54569a
Provide GSI bindings for the new edge pair support
...
This affects Shapes and Shape. New methods from EdgePairs are added
and minor enhancements of Region and Edges. Ruby tests added
2018-11-10 22:41:40 +01:00
Matthias Koefferlein
255abc5534
Provided new explicit template instantiations required for DRC
2018-11-10 00:44:30 +01:00
Matthias Koefferlein
7a37da91e0
EdgePairs refactoring
...
- Uses a db::Shapes container
- Aligned with db::Edges and db::Region
- With original layer delegate
2018-11-10 00:07:53 +01:00
Matthias Koefferlein
8e19474095
Introduced edge pairs as valid shapes for db::Shapes
2018-11-09 22:59:26 +01:00
Matthias Koefferlein
b9b00a08b5
Many bug fixes after refactoring.
2018-11-09 01:14:22 +01:00
Matthias Koefferlein
ec638c87b4
Refactoring of Edges - compiles again.
2018-11-09 00:39:00 +01:00
Matthias Koefferlein
0a9ab32f81
WIP: fixed initialization code.
2018-11-07 23:08:52 +01:00
Matthias Koefferlein
de6045fdf0
Fixed an initialization issue.
2018-11-07 22:20:57 +01:00
Matthias Koefferlein
009492a2a6
Fixed a linker issue.
2018-11-07 22:19:05 +01:00
Matthias Koefferlein
8107e1bb51
Refactoring: separated sources for db::Region
2018-11-07 22:17:51 +01:00
Matthias Koefferlein
885a440089
Further refactoring: provide adressable polygons.
2018-11-07 02:44:15 +01:00
Matthias Koefferlein
9c92a9c72e
Region refactoring: many unit tests are passing again.
2018-11-07 00:45:29 +01:00
Matthias Koefferlein
e595c32fe1
WIP: made first unit tests functional again.
2018-11-06 00:51:39 +01:00
Matthias Koefferlein
f604d149b5
WIP: next part of region refactoring.
2018-11-05 00:32:04 +01:00
Matthias Koefferlein
7062c4acf5
WIP: next part of region refactoring.
2018-11-05 00:25:16 +01:00
Matthias Koefferlein
5a5051b0dd
WIP: second part of region refactoring.
2018-11-04 23:26:08 +01:00
Matthias Koefferlein
54945105ef
WIP: first part of region refactoring.
2018-11-04 22:56:08 +01:00
Matthias Koefferlein
17f53cf54e
WIP: some performance improvements, cronology debugging support (experimental)
2018-11-03 12:28:27 +01:00
Matthias Koefferlein
00a124ce64
Added pya compatibility module
2018-10-23 23:43:52 +02:00
Matthias Koefferlein
863144603c
Fixed MSVC builds ...
2018-10-22 23:48:15 +02:00
Matthias Koefferlein
58239650aa
Fixed pymod initialization for Python 2
...
Python 2 is a bit more picky with respect to
the correct name of the module. If passing "db"
to a module called dbcore, it will exit with
a SystemError.
2018-10-22 23:28:55 +02:00
Matthias Koefferlein
a25db86046
Fixed pymod.pri for Linux builds.
2018-10-22 21:25:53 +02:00
Matthias Koefferlein
b80ce12c12
Some refactoring to fix qmake-based pymod builds
...
- Unify structure of Python module sources so the pymod.pri can be used for all modules
- switch to tlcore, dbcore and rdbcore + distutils_src wrapper modules
2018-10-22 20:53:49 +02:00
Matthias Köfferlein
1150ffbbb1
Merge branch 'pymod' into pymod-splitting
2018-10-22 18:15:02 +02:00
Matthias Koefferlein
d67a50bd1d
Fixed #176 by introducing a separate bitmap for text drawing optimization.
2018-10-20 09:53:25 +02:00
Matthias Koefferlein
dc9267d61e
WIP: updated solution
...
* Reverted first solution partially because it lead to drawing errors.
* Redraw thread will fire workers only for layers that really need
to be drawn
2018-10-20 09:53:07 +02:00
Matthias Koefferlein
46116f4828
Basic performance improvement in the bitmap to image area
...
Empty bitmaps are skipped now
2018-10-20 09:52:35 +02:00
Thomas Ferreira de Lima
c1dbb023ae
fixing editable install 'python setup.py develop'
2018-10-19 19:09:20 -04:00
Thomas Ferreira de Lima
c3ab951c8a
passing python unit tests
2018-10-19 19:02:38 -04:00
Thomas Ferreira de Lima
87a49007ff
Fixing distutils_src folder structure due to setuptools bug
...
Also: adding PCellDeclarationHelper to klayout.db
2018-10-19 18:53:37 -04:00
Thomas Ferreira de Lima
d3fa4465f6
Renaming core modules to klayout.dbcore, klayout.rdbcore and klayout.tlcore
2018-10-19 17:55:56 -04:00
Matthias Koefferlein
8ab4868d76
Fixed build on Windows (tl::InputPipe::wait was missing)
2018-10-16 23:00:28 +02:00
Matthias Koefferlein
62224b0d91
Merge branch 'pymod' into net-extract
2018-10-14 23:57:18 +02:00
Matthias Koefferlein
90c03140b3
Fixed #185 for pymod branch
2018-10-14 23:42:10 +02:00
Matthias Koefferlein
dd9d46da38
Activated stream unit tests.
2018-10-14 23:34:25 +02:00
Matthias Koefferlein
3392c08d36
Merge branch 'pymod' into net-extract
2018-10-09 23:43:58 +02:00
Matthias Koefferlein
904a12c11e
Added a way to get the exit code from InputPipe
...
The method is to call wait() on the pipe object
which returns the exit code.
Some tests have been added for this.
2018-10-09 23:40:28 +02:00
Matthias Koefferlein
7df9242efb
Merge remote-tracking branch 'origin/pymod' into pymod
2018-10-09 23:00:30 +02:00
Matthias Koefferlein
222b98fd70
Some fixes for the testsuite
...
With these fixes, unit tests pass with MacOS
(set DYLD_LIBRARY_PATH!)
1.) MacOS takes popen vs. pclose seriously
By using fopen we basically spoil the system and other popen
won't work.
2.) For system integrity, MacOS does not propagate DYLD_LIBRARY_PATH
to child processes such as sh. This has to be done explictly.
3.) Search the klayout binary in the right path (klayout.app/...)
4.) Reset KLAYOUT_HOME for less intervention by installed macros
2018-10-09 13:57:26 -07:00
Matthias Koefferlein
19a3f19378
Removed some misleading comments.
2018-10-09 21:24:23 +02:00
Matthias Koefferlein
70778e9414
Now also fixed the bd unit tests - there are also independent from the streamer plugins now.
2018-10-09 01:12:58 +02:00
Matthias Koefferlein
f0661ba0b3
Some wrong header includes fixed.
2018-10-09 00:35:03 +02:00
Matthias Koefferlein
a7846ead9f
Add-on to previous commit: fixes some Python issues
...
The comments for LoadLayoutOptions#layer_map, #cif_layer_map
and #dxf_layer_map have been updated to reflect the new status
of these properties (which have been methods). The tests
are updated accordingly (layer_map() -> layer_map).
2018-10-09 00:18:45 +02:00
Matthias Koefferlein
db981b0f7d
A huge patch to make Windows build functional again after recent updates
...
The issue was: for MacOS/clang, the virtual format-specific
option structs had to be embedded in one compile unit (for RTTI).
In Windows this will lead to link errors since the DLL is not
reachable at build time for the generic reader/writer configuration in
the buddy tools.
The solution is to use GSI methods (provided for scripting) to
set the reader/writer options in a generic way that does not
require linking against the plugin DLLs.
2018-10-08 23:31:22 +02:00
Matthias Koefferlein
121ec46390
Attempt to introduce multithreading into hierarchical processor
...
However, performance does not scale well currently.
2018-10-08 00:10:54 +02:00
Matthias Koefferlein
35e03c5f95
Added one more testcase.
2018-10-07 16:56:14 +02:00
Matthias Koefferlein
0bb45dd092
WIP: some refactoring.
2018-10-06 23:59:47 +02:00
Matthias Koefferlein
2fa0d21615
Added self-overlap-with-sizing tests.
2018-10-06 22:25:24 +02:00
Matthias Koefferlein
ee55a4ca21
Fixed hier processor in case of self-interactions
2018-10-06 21:56:13 +02:00
Matthias Koefferlein
2e61998372
WIP: interactions with same layer (needs finishing)
2018-10-06 01:40:01 +02:00
Matthias Koefferlein
4ffcaba5d1
Important bug fix for MacOS
...
Unlike Linux, RTTI does not work in MacOS/clang when the classes
originate from different compile units. I think that Linux's C++
runtime not only checks for identical vtable, but alternatively
for same name. On MacOS, dynamic_cast will fail instead. This fix
solves this issue by placing the important steam format option
specializations into a single specific shared object (the DB plugin).
2018-10-04 14:10:22 -07:00
Matthias Koefferlein
f7c4aa0348
(Partial) attempt to fix the plugin detection issue on MacOS
2018-10-02 17:36:30 -07:00
Matthias Koefferlein
c380b9c4bf
Hier processor: supports two layouts for input now.
2018-10-01 22:45:46 +02:00
Matthias Koefferlein
f01e102f0f
Merge branch 'pymod' into net-extract
2018-09-30 23:37:21 +02:00
Matthias Koefferlein
967652784e
Merge remote-tracking branch 'remotes/origin/master' into pymod
2018-09-30 23:26:20 +02:00
Matthias Koefferlein
c08f0a1fda
Fixed #176 by introducing a separate bitmap for text drawing optimization.
2018-09-30 10:27:44 +02:00
Matthias Koefferlein
c342bca584
WIP: updated solution
...
* Reverted first solution partially because it lead to drawing errors.
* Redraw thread will fire workers only for layers that really need
to be drawn
2018-09-30 00:16:35 +02:00
Matthias Koefferlein
ad7154c6cf
Basic performance improvement in the bitmap to image area
...
Empty bitmaps are skipped now
2018-09-29 23:35:30 +02:00
Matthias Koefferlein
c75e67268b
Merge branch 'pymod' into net-extract
2018-09-26 21:40:23 +02:00
Matthias Koefferlein
d03d4bec1d
Fixed build after merge.
2018-09-26 21:27:31 +02:00
Matthias Koefferlein
6795de1dbb
Merge remote-tracking branch 'remotes/origin/master' into pymod
...
Provides fixes for issue #166 and #172 .
2018-09-26 21:15:08 +02:00
Matthias Koefferlein
d4adb194e3
Fixed #172 (DEF reader does not pull vias from LEF)
2018-09-26 20:49:04 +02:00
Matthias Koefferlein
defbf33d19
WIP: distance parameter for hierarchical processor.
2018-09-25 23:26:18 +02:00
Matthias Koefferlein
824888aaa6
WIP: some refactoring.
2018-09-25 22:25:40 +02:00
Matthias Koefferlein
eb71121c38
WIP: bugfix - intra-array self interactions.
2018-09-23 22:34:50 +02:00
Matthias Koefferlein
52a4459dac
WIP: timer enhanced (reports start now), drop empty boxes in hier processor (will make the processor stall).
2018-09-23 20:06:27 +02:00
Matthias Koefferlein
611a98165d
WIP: diagnostic output
2018-09-23 17:49:10 +02:00
Matthias Koefferlein
3c15d8e387
WIP: some optimization with empty intruder hint.
2018-09-23 17:22:08 +02:00
Matthias Koefferlein
9e09002d43
WIP: refined interaction testing.
2018-09-23 16:57:49 +02:00
Matthias Koefferlein
c1b0892641
WIP: More testcases, better test coverage, some bug fixes
2018-09-23 16:08:00 +02:00
Matthias Koefferlein
d7099edcae
WIP: gcov enabled, added more test cases.
2018-09-23 09:29:05 +02:00
Matthias Koefferlein
8420b29025
WIP: mixed propagation sample.
2018-09-23 00:53:19 +02:00
Matthias Koefferlein
2595f4ed6b
WIP: more test coverage.
2018-09-23 00:37:27 +02:00
Matthias Koefferlein
76b045e2ac
WIP: hierarchy variant building, tests
2018-09-22 23:44:24 +02:00
Matthias Koefferlein
3cbbe041aa
WIP: some bugfixes, new tests (up/down, down/up interactions)
2018-09-22 23:37:23 +02:00
Matthias Koefferlein
a551300e0d
WIP: Some refactoring (hier processing in extra file), unit tests, bug fixes
2018-09-22 22:32:36 +02:00
Matthias Koefferlein
3214200e17
WIP: code factory
2018-09-22 02:45:56 +02:00
Matthias Koefferlein
b25401c254
Added twofold-typed box scanner.
2018-09-20 23:44:51 +02:00
Matthias Koefferlein
9ccc0a86b1
Fixed a merge issue (build was broken)
2018-09-17 22:34:01 +02:00
Matthias Koefferlein
3b59d97195
Ported Ruby initialization issue bugfix from pymod to master.
...
On OpenSuSE 15 (gcc 7.3.1, Ruby 2.5.0) crashes have been
observed on starting the application. The main reason seems
to be the attempt to disable $0 redirection in Ruby.
This is not required for Ruby >= 1.9, so this is better dropped.
2018-09-17 21:43:38 +02:00
Matthias Köfferlein
11d5819c77
Fix of a small bug found by MSVC iterator assertions
2018-09-17 21:31:52 +02:00
Matthias Köfferlein
cb15132029
Fixed an issue with destruction callbacks in the QApplication destructor - in this case the interpreter may be nulled already and callbacks must not happen into Ruby/Python.
2018-09-17 21:30:54 +02:00
Matthias Köfferlein
8c4099b77d
Bugfix in the annotation area
...
The annotation ID was taken from an object already deleted - on MSVC
this becomes an issue.
2018-09-17 21:25:28 +02:00
Matthias Köfferlein
88e0bd77a2
Fix in Image object handling
...
Id was taken from an object destructed already.
2018-09-17 21:24:47 +02:00
Matthias Koefferlein
6efdb3a9e1
Added testcase for #166 .
2018-09-17 01:51:23 +02:00
Matthias Koefferlein
f72fda7bae
Added test case for #166 .
2018-09-17 01:48:31 +02:00
Matthias Koefferlein
e9de4252fb
Fixed #166 (internal error when writing GDS file)
...
This fix consists of computing the intersection
points in the split procedure with higher resolution
to avoid topology changes due to snapping on the cut
line.
2018-09-17 01:29:31 +02:00
Matthias Koefferlein
4c4261be6c
Initialized netx plugin
2018-09-16 08:48:43 +02:00
Matthias Köfferlein
fe26785203
Fixed install target for MSVC - copy needs to use Windows paths.
2018-09-13 22:31:45 +02:00
Matthias Koefferlein
06c0b8f6e1
And back to Windows ... re-inserting the ruby_sysinit workaround.
2018-09-12 00:06:48 +02:00
Matthias Koefferlein
0a2574cd3a
Now it breaks the ruby 1.8.x tests ... grrr
2018-09-11 23:19:52 +02:00
Matthias Koefferlein
121e1301b0
Hopefully this fixes the crashes on OpenSuSE 15.
2018-09-11 22:35:57 +02:00
Matthias Koefferlein
6536e9a8dc
Modified command line prep for Ruby integration - maybe that fixes the OpenSuSE 15 crashes.
2018-09-11 08:08:18 +02:00
Matthias Köfferlein
6a12a6a4cd
Normalize CRLF for OASIS reader test's golden data on Windows.
2018-09-11 07:35:01 +02:00
Matthias Köfferlein
1c68b5472c
Enabled ruby_sysinit again after MSVC2017 build crashed without this.
2018-09-11 00:07:33 +02:00
Matthias Koefferlein
dcfe2977a8
Merge branch 'pymod-fix' of https://github.com/klayoutmatthias/klayout into pymod-fix
2018-09-10 21:37:14 +00:00
Matthias Koefferlein
f35b522256
Fixed a segfault on Ruby initialization found on OpenSuSE 15 with Ruby 2.5.0 and gcc 7.3.1 in release mode
2018-09-10 21:36:27 +00:00
Matthias Köfferlein
99a71b771d
Fixed link issue in net tracer plugin both for Linux and Windows (hopefully)
2018-09-10 22:53:49 +02:00
Matthias Koefferlein
c46bed0785
Some update to fix build issues (this time, Linux)
...
- All platforms support native hash values for long long etc.
with the TR1 containers
- Use non-static, function symbols to force linking.
- Debian package is picky about dates so give them some
in Changelog.
2018-09-10 21:56:20 +02:00
Matthias Koefferlein
ad03533a7b
OASIS tests made robust against hash implementation
...
The text writer was made "normalizing": it will introduce
a certain element order (string sorting). This way, OASIS
files can be compared against golden data without
changes in the order due to different implementation of
hash containers.
2018-09-10 01:16:49 +02:00
Matthias Koefferlein
84072aa23e
Fixed a few things that got damaged in Linux build while doing MSVC compatibility.
2018-09-09 22:43:22 +02:00
Matthias Köfferlein
e69ed872a7
Fixed a static initialization race.
2018-09-09 18:31:05 +02:00
Matthias Köfferlein
940a96716c
Fixed the timestamp generation for pthread-win32 timed waits
...
Issue: we have to use WIN API functions which deliver times in a
different way. In order to make the wait functions work, we have to use
the same time definition - specifically the same zero time.
2018-09-09 18:30:21 +02:00
Matthias Köfferlein
28477af15e
Added a missing header
2018-09-09 16:52:18 +02:00
Matthias Köfferlein
9544a5419b
Addd current_utc_time() again which got lost during merge
2018-09-09 16:51:54 +02:00
Matthias Köfferlein
a543950316
Explicitly allow enabling of pthreads (rather than Qt) using HAVE_PTHREADS on qmake
2018-09-09 16:51:20 +02:00
Matthias Köfferlein
4821b12780
Removed dependency of tlStream on zlib by using a delegate.
2018-09-09 16:49:21 +02:00
Matthias Köfferlein
8c2c888263
MSVC build issue fixed in pya.cc
2018-09-09 16:47:28 +02:00
Matthias Köfferlein
57b8826e2c
pthread support enabled for gsiObject.cc
2018-09-09 16:46:51 +02:00
Matthias Köfferlein
c9d7b39190
Fixed a general linker problem with release builds on MSVC
2018-09-08 23:11:16 +02:00
Matthias Köfferlein
adebdf307b
Fixed XML parser tests for Qt-less builds with expat
2018-09-08 00:44:19 +02:00
Matthias Köfferlein
7440acb3c0
Fixed a build warning
2018-09-07 23:40:01 +02:00
Matthias Köfferlein
28f8a1ee7d
Merge branch 'pymod' into pymod-msvc
2018-09-07 22:56:22 +02:00
Matthias Köfferlein
a4562bee71
Also fixed issue with hash value of LayerProperties
2018-09-07 22:39:12 +02:00
Matthias Köfferlein
c53c3ae7cf
Hash value issue with db::Text fixed.
2018-09-07 22:29:54 +02:00
Matthias Köfferlein
bd6234b699
Fix in Image object handling
...
Id was taken from an object destructed already.
2018-09-07 00:07:57 +02:00
Matthias Köfferlein
a78f75054a
Bugfix in the annotation area
...
The annotation ID was taken from an object already deleted - on MSVC
this becomes an issue.
2018-09-06 23:49:17 +02:00
Matthias Köfferlein
ce01ce2dae
Fixed an issue with destruction callbacks in the QApplication destructor - in this case the interpreter may be nulled already and callbacks must not happen into Ruby/Python.
2018-09-06 23:37:26 +02:00
Matthias Köfferlein
5be469af90
Support "klayout-bits" for building on MSVC
2018-09-06 00:23:10 +02:00
Matthias Köfferlein
b0dac7026f
MSVC compatibility
2018-09-06 00:22:38 +02:00
Matthias Köfferlein
ce918bbc4e
Fit a few compiler warnings in the ruby part
2018-09-06 00:22:24 +02:00
Matthias Köfferlein
4e12b9fae7
Fix of a small bug found by MSVC iterator assertions
2018-09-02 22:57:01 +02:00
Matthias Köfferlein
406b2c8cd1
Fixed KD tree implementation for compatibility with MSVC iterator debug mode
2018-09-02 22:39:15 +02:00
Matthias Köfferlein
1bf4d95388
Further MSVC compatibility
...
String assertions fixed, numerical issue with dbTrans fixed, iterator
assertions fixed.
2018-09-02 19:18:42 +02:00
Matthias Köfferlein
356a468d66
A couple of changes to make MSVC work - not done yet.
2018-09-02 00:40:35 +02:00
Matthias Köfferlein
e47a0966bd
Bugfix: net tracer memory corruption issue - missing copy ctor/assignment
2018-09-01 21:26:29 +02:00
Matthias Koefferlein
c4c1630a38
Tiny enhancement of LayoutView#insert_layer
...
* returns a non-const reference now which can be modified
* the node parameter is optional and initialized with a default node
2018-09-01 11:39:20 +02:00
Matthias Koefferlein
c9771f54eb
Merge branch 'master' into pymod
2018-09-01 09:37:08 +02:00
Matthias Koefferlein
753e170a68
Fixed #162 (GDS2 libname not maintained)
2018-08-31 23:25:19 +02:00
Matthias Köfferlein
f0f3025f9f
More reduction of warnings on MSVC
2018-08-29 07:28:51 +02:00
Matthias Köfferlein
af50c0f0c3
Many warnings fixed for MSVC
2018-08-29 01:46:18 +02:00
Matthias Köfferlein
860014e3ae
MSVC builds for the first time - still a lot of patches required
...
Some suspicious compiler warnings remain.
2018-08-28 23:19:58 +02:00
Matthias Koefferlein
3c4ca7597e
Fixed #158 (repaint issue with context)
2018-08-25 23:11:26 +02:00
Matthias Koefferlein
89dc424c70
Fixed #159 (Bug in technology setup with tech specific macro/DRC locations)
2018-08-25 20:28:01 +02:00
Matthias Koefferlein
842f39da45
Fixed #153 (crash on Apply when changing guiding shape properties)
2018-08-25 19:07:30 +02:00
Matthias Koefferlein
e8a5d6ac0c
Fixed a typo.
2018-08-24 22:59:11 +02:00
Matthias Koefferlein
04545e435b
Fixed #157 (Replace cell with ... from cell tree context menu does not accept decorated cell names)
2018-08-13 20:59:04 +02:00
Matthias Koefferlein
bcd6c466fb
Fixed #152 (shape count wrong)
2018-08-13 09:30:46 +02:00
Matthias Koefferlein
1a7bcfc31c
Fixed #155 (freeze after replacing nothing by something)
2018-08-13 09:04:13 +02:00
Matthias Koefferlein
a8ad415fac
Fixed a typo and build compatibility with Qt4.
2018-08-13 01:33:07 +02:00
Matthias Köfferlein
03c1a74d16
Update layLayoutViewConfigPages.cc
...
Removed commented section - it's actually no longer required.
2018-08-12 23:22:39 +02:00
Matthias Koefferlein
155208c9c9
MSVC compatible declaration of force link flags for Qt bindings.
2018-08-04 22:44:51 +02:00
Matthias Koefferlein
67c2369962
Updated Qt declaration files for MSVC
2018-08-04 21:10:37 +02:00
Matthias Köfferlein
376e4ea0ae
WIP: MSVC compatibility for pymod module.
2018-08-04 18:13:49 +02:00
Matthias Köfferlein
23d715001b
First steps towards enablement of MSVC2017 for pymod. A lot of things to TODO yet ...
2018-08-04 18:02:39 +02:00
Thomas Ferreira de Lima
f7836de39d
placeholder code for hiDPI display of conf pages.
2018-08-03 10:28:27 -04:00
Thomas Ferreira de Lima
8dbdbe0388
hiDPI Retina display for Stipple and Linesyles
2018-08-02 16:40:28 -04:00
Thomas Ferreira de Lima
cfbcc158bf
adding / and /= operators to Point and Vector types in db [ci skip]
2018-08-02 00:45:34 -04:00
Thomas Ferreira de Lima
a3234e2645
changing dbHash macro from __APPLE__ to __EXT_HASH_DEPRECATED
2018-08-01 22:31:09 -04:00
Thomas Ferreira de Lima
f6d3995d6b
changing ext/hash_(set|map) to unordered_(set|map) to avoid deprecation warning on mac.
2018-08-01 15:51:05 -04:00
Thomas Ferreira de Lima
568035cdd6
adding __rmul__ in all objects with __mul__
2018-08-01 11:56:50 -04:00
Thomas Ferreira de Lima
5bda390d82
bugfix: forgot to include tlTimer.h in tlThreads.cc
2018-07-31 17:47:01 -04:00
Matthias Koefferlein
a272cd3630
Fixed #144 (description of salt packages isn't shown)
...
Plus: the text color of the description now uses the
palette and the color contrast better when the item
is selected.
2018-07-30 21:19:34 +02:00
Matthias Koefferlein
ddfb084a8d
Bugfix: also recognize plugins when the main binary is installed in a different place than the libs.
2018-07-29 14:56:19 +02:00
Matthias Koefferlein
98ecc9e47b
Fixed a typo, force update of unit tests on Jenkins.
2018-07-29 14:07:02 +02:00
Matthias Koefferlein
3fb568671d
A little refactoring - central place for DLL/.so path detection
2018-07-29 10:20:48 +02:00
Matthias Koefferlein
3d7bd0f32d
Cleaned up code
...
Moved current_utc_time out of the central tlUtils header where
it does not belong. It a time function, so tlTimer.h is the better
place. Plus it does not make sense to make this inline. This just
spoils build times on changes.
2018-07-29 10:06:11 +02:00
Matthias Koefferlein
11627486d6
More verbose messages on plugin loading.
2018-07-29 02:36:25 +02:00
Matthias Koefferlein
76db5d1714
Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod
2018-07-29 01:59:50 +02:00
Matthias Koefferlein
d378a632f3
Bugfix: a standalone LayoutView object made the application crash on exit
...
Reason: at the Qt will destroy all top level widgets.
Ruby/Python will now know of this, hence try to cleanup
the object inside it's GC.
There was an attempt to avoid this by deleting all
top-level widgets before the application exits. But
this failed for LayoutView objects because these will
create other, dependet top-level widgets for the plugins.
And the LayoutView wants to stay owner for them.
2018-07-29 01:02:39 +02:00
Matthias Koefferlein
082a91cf15
Fixed #148 (Wrong font is used)
2018-07-28 00:17:02 +02:00
Matthias Koefferlein
e2f4c1874a
Fixed a build issue on some compilers.
2018-07-24 22:29:45 +02:00
Matthias Koefferlein
c9859b4f8f
Fixed some issues with long int emulation. Using long int as substitute for __int128
2018-07-24 22:08:30 +02:00
Matthias Koefferlein
7191e4faa9
Added long int (N times a word) support for emulation of __int128
2018-07-24 21:01:54 +02:00
Matthias Koefferlein
8578918764
Updated PolygonTools test with recent edge processor update.
2018-07-23 20:28:01 +02:00
Matthias Koefferlein
6b48b2bb3d
Fixed Edge unit tests.
2018-07-23 19:37:36 +02:00
Matthias Koefferlein
f05b3249ca
Fixed fast EdgeProcessor unit tests with recent update.
2018-07-23 19:36:00 +02:00
Matthias Koefferlein
2178b72704
Refined test for 74 issue for different orientations.
2018-07-23 19:12:12 +02:00
Matthias Koefferlein
5741a120e9
More precise point/edge interaction for scanner
2018-07-22 22:52:04 +02:00
Matthias Koefferlein
efd9e47c1f
Attempt to fix a scanline issue.
2018-07-22 18:49:17 +02:00
Daniel Wang
c430c82744
Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod
2018-07-19 19:23:00 -04:00
Matthias Koefferlein
5fe0aca9c7
Fixed a segfault on help(pya.Box)
...
Needed to refactor the class hierarchy of the Python classes.
Basically the module specific base class was removed as it does
not provide any benefit. The object layout of the PyObject
specialization was modified such that the payload is attached
to the end. This is compatible with the hidden extensions
which Python adds to normal objects.
2018-07-19 23:50:24 +02:00
Daniel Wang
ad1ada9b23
Merge branch 'pymod' of https://github.com/klayoutmatthias/klayout into pymod
2018-07-19 13:40:57 -04:00
Matthias Koefferlein
aca209c095
Using C.UTF-8 locale fallback for string tests for vanilla Linux installations.
2018-07-18 21:57:47 +02:00
Daniel Wang
5f6c265e4b
Moved current_utc_time to tlUtils and fixed tlTimer
2018-07-17 14:37:41 -04:00
Daniel Wang
106b57c676
Fixed unchanged functions
2018-07-17 14:14:47 -04:00
Daniel Wang
20db1e1f24
Added support for Mac OS X 10.11 and lower
2018-07-17 14:05:33 -04:00
Thomas Ferreira de Lima
f26576099c
missing stdlib.h import
2018-07-16 23:29:51 -04:00
Matthias Koefferlein
9dcfa140c3
Added __init__.py file to Python package.
2018-07-15 19:33:44 +00:00
Matthias Koefferlein
46b0f079cf
Skipping HTTP tests rather than disabling them
...
With this commit, tests are logged as skipped and
not just omitted, if HTTP support is not enabled
(neighter Qt nor curl)
2018-07-15 20:58:54 +02:00
Matthias Koefferlein
5351922440
Enabled minimum build configuration
...
Minimum build configuration is without Qt, Ruby, curl and expat.
Only Python is required.
This commit also provides a functional (through polling) Qt-less HTTP
implementation through libcurl if enabled.
2018-07-15 19:59:45 +02:00
klayoutmatthias
6858190a20
Fixed Windows build and tests
...
* tl::is_same_file works with directories now too
* Unit tests added for this
* bridge_mod sample produces the proper DLL now
2018-07-15 18:03:42 +02:00
Matthias Koefferlein
bbb88c5ca6
Merge branch 'pymod' of www.klayout.org:/home/matthias/klayout into pymod
2018-07-15 07:42:14 -07:00
Matthias Koefferlein
d3b4bc7f87
Enabled pymod build via setup.py/distutils on MacOS
2018-07-15 07:42:01 -07:00
klayoutmatthias
1642129504
Fixed a typo that breaks the Win build.
2018-07-15 16:39:16 +02:00
Matthias Koefferlein
cb33753e1c
Fixed a FileUtils unit test on Windows.
2018-07-15 15:36:30 +02:00
Matthias Koefferlein
a1d8913de9
Enhanced Qt-less FileUtils test, so they cover the full functionality without Qt
2018-07-15 15:27:39 +02:00
Matthias Koefferlein
fc9783432b
Bugfix: db_plugin modules were not loaded for python modules
...
* Added unit test for this
* Provided an option for easier debugging such issues:
Setting env var KLAYOUT_VERBOSITY will enable debug levels on Python
modules (and all other binaries). Plugin loading issues can
be debugged by setting KLAYOUT_VERBOSITY=21.
2018-07-15 14:14:14 +02:00
Matthias Koefferlein
07f69dccd3
Merge branch 'pymod' of www.klayout.org:/home/matthias/klayout into pymod
2018-07-15 11:12:29 +02:00
Matthias Koefferlein
628219080a
Some enhancements/bug fixes for Windows
...
* Enabled pipe: on outputs
* Don't die on file paths containing backslashes in DRC tests
2018-07-15 11:11:05 +02:00
Matthias Koefferlein
6a3914fcf6
Fixed pya.cc build with Py3/Linux
2018-07-14 20:32:13 +00:00
Matthias Koefferlein
e709cad9c8
Fixed an include path for better compatibility with Python's distutil.
2018-07-14 20:24:28 +00:00
Matthias Koefferlein
49fd896e68
Another fix for Windows build.
2018-07-14 09:31:40 +02:00
Matthias Koefferlein
2f99a8a67d
Another fix for Windows build.
2018-07-14 09:19:23 +02:00
Matthias Koefferlein
817ab9cd1c
Fixed Windows build.
2018-07-14 08:55:46 +02:00
Matthias Koefferlein
5ea72893f3
Enabled build with Qt again.
2018-07-14 02:16:35 +02:00
Matthias Koefferlein
8f04fc5358
Removed some further Qt dependencies. For example, HTTPS access now is possible without Qt through Curl only.
2018-07-14 02:14:06 +02:00
Matthias Koefferlein
9ea24cb6a0
Explicitly set the locale for local string conversion test.
2018-07-13 18:35:49 +02:00
Matthias Koefferlein
b10c64907a
Made the threaded worker test a bit more reliable
2018-07-13 18:28:32 +02:00
Matthias Koefferlein
f795aa84ec
Avoid one more deadlock in gsi::Proxy.
2018-07-13 18:24:41 +02:00
Matthias Koefferlein
cf3a6c2ce5
Fixed a deadlock.
2018-07-13 08:08:15 +02:00
Matthias Koefferlein
937fa96245
Some bug fixes
...
* Case folding table fixed: lowercase "i without dot" overlaps "i"
* Fixed build of bridge sample in non-Qt case
2018-07-13 08:03:00 +02:00
Matthias Koefferlein
abdde4ba19
Corrected last commit (UTF-8 case conversion) and added more test coverage.
2018-07-13 01:13:41 +02:00
Matthias Koefferlein
70a4bd7aa2
Locale-independent implementation of UTF-8 string case conversion.
2018-07-13 01:07:46 +02:00
Matthias Koefferlein
4f326572d4
Fixed one .pro file for older Qt versions
2018-07-12 23:57:00 +02:00
Matthias Koefferlein
61a37fc3c3
Prevent a deadlock when destroying gsi objects.
2018-07-12 23:28:30 +02:00
Matthias Koefferlein
72c3288090
Disabled thread local storage test for Qt <4.7 because this class is broken with an int argument on Qt 4.6.2
2018-07-12 23:25:33 +02:00
Matthias Koefferlein
ccc5be86d7
Fixed a typo - strange enough it compiled with this error on some platforms.
2018-07-12 23:24:46 +02:00
Matthias Koefferlein
1375bdcc9a
Fixed XMLParser unit test 5 for Qt
2018-07-12 23:19:54 +02:00
Matthias Koefferlein
03ddd495d8
Disabled brute-force shutdown test for threads on Qt - QThread is not able to deal with this.
2018-07-12 22:11:57 +02:00
Matthias Koefferlein
05f8d223ac
Added a way to specify the type of a macro on files
...
This feature is mainly useful for command line arguments.
If you run KLayout with
klayout -b -r myscript
it will not be able to determine the type of macro without
a suffix. You can explicitly specify a certain type by
giving the suffix implicitly:
klayout -b -r myscript[rb]
This will read "myscript" but pretend it was "myscript.rb"
and execute it as Ruby script.
This feature is handy if you need to run a file with a
specific interpreter but cannot modify the file name.
2018-07-12 21:51:51 +02:00
Matthias Koefferlein
f8ffcd14f1
Fixed #141 (Issue with RBA::QHostAddress (ambiguous overload) on Qt5)
2018-07-12 21:33:19 +02:00
Matthias Koefferlein
20d1d0500f
Fixed #142 (Issue with RBA::RecursiveShapeIterator#region=)
2018-07-12 21:16:14 +02:00
Matthias Koefferlein
ca8f9fd904
Fixed Qt-based XML parser build.
2018-07-12 20:54:05 +02:00
klayoutmatthias
616c2942e1
WIP: made pymod functional on Windows (without Qt). Tests pass.
2018-07-10 23:34:30 +02:00
Matthias Koefferlein
d2c890ab6d
WIP: fixed unit tests for Qt-less build.
2018-07-10 01:17:35 +02:00
Matthias Koefferlein
58fd6ed143
WIP: bugfix on WaitCondition (deadlocked)
2018-07-10 00:13:06 +02:00
Matthias Koefferlein
5cfb98d9f2
WIP: pthread-based WaitCondition (simple)
2018-07-10 00:01:25 +02:00
Matthias Koefferlein
ad49c9502b
WIP: some work on the pthread-based alternative to Qt threads.
2018-07-09 22:58:16 +02:00
Matthias Koefferlein
b0f69d46a9
WIP: one first basic Thread test.
2018-07-09 00:55:41 +02:00
Matthias Koefferlein
772062e33e
WIP: fixed path generation in db::init in non-Qt case.
2018-07-09 00:43:49 +02:00
Matthias Koefferlein
18782666f7
WIP: made Qt build functional again.
2018-07-09 00:03:19 +02:00
Matthias Koefferlein
260243a6d9
WIP: Fixed PCB import for non-Qt builds, added missing file.
2018-07-08 23:44:36 +02:00
Matthias Koefferlein
3acb7b6920
Fixed documentation (XML parser error) of RBA::TextGenerator.
2018-07-06 00:58:26 +02:00
Matthias Koefferlein
2b64c4bf82
Bugfix: multithread-safety for gsi::Proxy (required for the tiling processor use case).
2018-07-06 00:56:34 +02:00
Matthias Koefferlein
803a29037a
Added test for reproducing threading issue on TP
2018-07-06 00:09:22 +02:00
Matthias Koefferlein
221d5a4a38
Using enviornment locale with unit_tests.
2018-07-06 00:07:01 +02:00
Matthias Koefferlein
e0a23adb66
Made XML parser and writer functional with expat
2018-07-05 23:40:39 +02:00
Matthias Koefferlein
43243ae162
Enabled Qt-less unit tests, some basic implementation of Qt-less threads based on pthread and an atomics library. A lot missing.
2018-07-05 00:33:34 +02:00
Matthias Koefferlein
eec1843459
Less Qt in strmrun test
2018-07-04 20:30:34 +02:00
Matthias Koefferlein
ad7a9836b0
Using pipes instead of QProcess for pymod tests, enable pipes on Windows (needs testing)
2018-07-04 20:26:34 +02:00
Matthias Koefferlein
642fb4270b
Fixed rba::Technology test. Now all tests are passing with Qt.
2018-07-04 20:00:41 +02:00
Matthias Koefferlein
12e0db660c
Finished file utils tests.
2018-07-04 19:33:39 +02:00
Matthias Koefferlein
e9dcadb278
Fixed a linker issue.
2018-07-04 00:25:34 +02:00
Matthias Koefferlein
1f8afab417
Bugfixed the Qt-based XML implementation.
2018-07-04 00:21:06 +02:00
Matthias Koefferlein
d1553d7586
Some more tests on tl::FileUtils
2018-07-03 23:51:10 +02:00
Matthias Koefferlein
17c7c8e1bb
Some file utils tests added (file name decomposition, fake Windows/Linux tests)
2018-07-03 23:43:57 +02:00
Matthias Koefferlein
7ede06dca5
Build fixed, basic bugs fixed and made unit test framework work. Added tests for tlString.
2018-07-03 22:09:38 +02:00
Matthias Koefferlein
bbfcd9cf9e
Made normal build work again.
2018-07-03 01:49:06 +02:00
Matthias Koefferlein
ab06ce3445
Made the code build without Qt.
2018-07-03 01:08:02 +02:00
Matthias Koefferlein
a82adbbe83
Massive reduction of Qt dependencies, but also massive refactoring.
2018-07-03 00:51:36 +02:00
Matthias Koefferlein
c532b75338
Provide an QtXml alternative through expat.
2018-07-02 22:19:36 +02:00
Matthias Koefferlein
7fca6f5f31
Non-Qt implementations of file utils - needs testing.
2018-07-02 20:29:34 +02:00
Matthias Koefferlein
239b7ca3ff
First (major) steps towards a Qt-less basic build.
2018-07-02 18:20:20 +02:00
Matthias Koefferlein
5f8b258235
Feature: hide or show markers using the new View/Show Markers configuration option.
2018-06-28 23:52:47 +02:00
Matthias Köfferlein
b64d14e02e
Merge pull request #138 from lightwave-lab/macos_embedding_python_pr
...
Macos embedding python and Qt5.11.1 bugfix
2018-06-28 21:08:41 +02:00
Matthias Koefferlein
b47c0fc3a3
Fixed #139 (libraries not reassigned to GDS when loading file from command line).
2018-06-27 23:36:30 +02:00
Matthias Koefferlein
ac2271b9d7
Fixed build on Qt5i (another part).
2018-06-27 00:13:56 +02:00
Matthias Koefferlein
7ba0138cfc
Fixed build on Qt5.
2018-06-27 00:08:26 +02:00
Thomas Ferreira de Lima
73772cc6f8
bugfix instantiating Qt::blue not available in qt5.11
2018-06-26 02:53:02 -04:00
Matthias Koefferlein
94387529d6
Fixed #134
...
The issue was caused by an internal error in the edge processor.
Effectively the weak attractor scheme was causing this problem.
As the weak attractors are making things worse rather than
better I dropped them.
In theory, the weak attractors render an edge undisturbed by
neighboring intersection points, but in cases or parallel edges
this lead to problems: omitting cut points violates the output
edge configuration warranties the the polygon stitcher fails.
In addition, to maintain the solution for bug #74 , the cut point
capture condition was relaxed, so that edge crossing the exact
corner of the snapping rectangle of a point are not considered
captured.
2018-06-26 01:04:20 +02:00
Matthias Koefferlein
edbe0b2542
Attempt to make thread test more reproducible.
2018-06-24 15:16:49 +02:00
Matthias Koefferlein
da65851ee2
Public declaration of path::to_string
2018-06-24 14:11:23 +02:00
Matthias Koefferlein
f7843410a0
Public declaration of path template instantiation
2018-06-24 14:08:31 +02:00
Matthias Koefferlein
94a4c0df27
WIP: added force-link to rdb Python module so the rdb library is always linked
2018-06-22 00:02:27 +02:00
Matthias Koefferlein
c2341ff213
WIP: speedup for CI development, fixed deb package (python needs to be part of dependency), fixed gcc build with Python3
2018-06-21 22:18:17 +02:00
Matthias Koefferlein
0d6da0e49d
WIP: fixed unit test fails with python module import tests - what a hack ...
2018-06-20 23:19:26 +02:00
Matthias Koefferlein
087740d326
WIP: pass sub-process output through tl::Log in unit tests for proper XML escaping into JUnit files.
2018-06-20 22:25:03 +02:00
Matthias Koefferlein
ec0fad0d75
WIP: Fixed a test issue with the PCellDeclarationHelper external class.
2018-06-20 16:26:54 +02:00
Matthias Koefferlein
436550868b
WIP: fixed a initialization issue.
2018-06-20 15:58:46 +02:00
Matthias Koefferlein
4dc0065028
WIP: fixed installation target for pymod __init__.py file for older Qt versions.
2018-06-20 13:37:41 +02:00
Matthias Koefferlein
e447c175d8
WIP: fixed pymod install targets for some Qt versions
2018-06-20 08:25:13 +02:00
Matthias Koefferlein
dd9467d097
WIP: fixed streamer headers.
2018-06-20 01:13:31 +02:00
Matthias Koefferlein
0c766150b0
WIP: Fixed install targets for plugins.
2018-06-19 21:21:44 +02:00
Matthias Koefferlein
f4dd012005
WIP: refactored GSI test classes so they are hard-linked into the ut_runner binary. Dynamic loading inside .ut files happens too late.
2018-06-19 21:12:53 +02:00
Matthias Koefferlein
361bc64870
WIP: fixed some build issues, removed some link dependencies which causes issues on Windows.
2018-06-19 20:31:55 +02:00
Matthias Koefferlein
33a9782f77
Proper installation target for klayout Python module.
2018-06-19 01:07:53 +02:00
Matthias Koefferlein
8845d18c74
Renamed pykl to klayout - because of name clash with the klayout binary, the python module now sits inside 'pymod'
2018-06-19 00:50:27 +02:00
Matthias Koefferlein
4744c90557
WIP: futher fixes for Windows build.
2018-06-18 00:19:18 +02:00
Matthias Koefferlein
81a1e6fd1a
WIP: futher fixes for Windows build.
2018-06-18 00:15:43 +02:00
Matthias Koefferlein
4f602bb394
WIP: fixes for Windows build.
2018-06-18 00:06:38 +02:00
Matthias Koefferlein
e05c407d5e
WIP: added shared object dependencies for Qt5
2018-06-17 22:59:04 +02:00
Matthias Koefferlein
741e9d73e3
WIP: fixed build
2018-06-17 19:09:54 +02:00
Matthias Koefferlein
750c85fecb
WIP: fixed dependencies of projects.
2018-06-17 18:55:57 +02:00
Matthias Koefferlein
538f8f3d53
WIP: added missing files.
2018-06-17 16:51:01 +02:00
Matthias Koefferlein
4c90d98750
WIP: Fixed windows build.
2018-06-17 10:27:54 +02:00
Matthias Koefferlein
4097a5b361
WIP: turned ext module into plugins.
2018-06-17 09:43:25 +02:00
Matthias Koefferlein
7e56ce23e5
WIP: Moved net tracer into plugin, GSI is now in db module.
2018-06-16 00:56:35 +02:00
Matthias Koefferlein
757c6af80f
WIP: rdb module for Python, fixed unit tests for non-Qt bindings case
2018-06-15 22:49:01 +02:00
Matthias Koefferlein
147ee20b55
WIP: Class documentation shows module name and link now.
2018-06-15 01:11:35 +02:00
Matthias Koefferlein
381357bfcb
WIP: correctly assigned db module to LEF/DEF reader GSI declaration
2018-06-15 01:04:42 +02:00
Matthias Koefferlein
9e972876fe
WIP: correctly assigned db module to technology in GSI
2018-06-15 01:02:26 +02:00
Matthias Koefferlein
41cedf4b45
WIP: fixed the technology refactoring part
2018-06-15 00:59:38 +02:00
Matthias Koefferlein
10cfac3d42
WIP: fixed linker issues.
2018-06-15 00:31:46 +02:00
Matthias Koefferlein
c360f6d4a7
WIP: first steps for making technology a db component.
2018-06-14 23:38:23 +02:00
Matthias Koefferlein
6bc1537bea
WIP: remove vim swap file.
2018-06-14 00:02:41 +02:00
Matthias Koefferlein
8045989fa3
WIP: moved PCB and LEF/DEF import from ext to db/lay namespace
2018-06-13 23:59:39 +02:00
Matthias Koefferlein
4f63f5102b
WIP: fixed PCB unit test .pro file.
2018-06-13 23:31:50 +02:00
Matthias Koefferlein
9ca011d138
WIP: turned Gerber and LEF/DEF import into plugins.
2018-06-13 23:27:16 +02:00
Matthias Koefferlein
5421f77e61
WIP: finished refactoring to plugins for CIF, DXF & OASIS too.
2018-06-13 22:23:27 +02:00
Matthias Koefferlein
9883ea5679
WIP: added streamers plugin structure (partially)
2018-06-13 21:39:39 +02:00
Matthias Koefferlein
77f0197f8a
WIP: fixed test framework.
2018-06-13 00:43:54 +02:00
Matthias Koefferlein
409392d561
WIP: started refactoring the plugin structure. Goal: standalone db module with it's own plugins like LEF/DEF, Gerber, MEBES including GSI bindings.
2018-06-13 00:33:43 +02:00
Matthias Koefferlein
acacdc3997
Included ext definitions in Python module (currently: lay)
2018-06-10 21:45:58 +02:00
Matthias Koefferlein
e5aa55a25c
Support for Qt-binding-less Python modules.
2018-06-09 17:01:52 +02:00
Matthias Koefferlein
7f2e740dd4
WIP: some refactoring of pya to reduce dependency on GSI for bridge applications.
2018-06-09 10:32:26 +02:00
Matthias Koefferlein
d938bb999b
WIP: modifications for Python 3
2018-06-09 09:42:13 +02:00
Matthias Koefferlein
e1858973e2
Added unit test for briding sample lib.
2018-06-09 02:11:32 +02:00
Matthias Koefferlein
9418185771
WIP: added sample lib with bridging code
2018-06-09 01:52:13 +02:00
Matthias Koefferlein
2737e14b13
WIP: some refactoring of the GSI Python binding (less static objects, new conversion operators, preparations for external use)
2018-06-09 01:50:16 +02:00
Matthias Koefferlein
eca8697398
WIP: some refactoring of pya binding and data keeping. Added more conversion functions for use in external code. Needs testing.
2018-06-07 01:05:36 +02:00
Matthias Koefferlein
17846d12dd
WIP: fixed installation part for pykl module, robustness of build system.
2018-06-06 21:27:18 +02:00
Matthias Koefferlein
a20c3259bf
WIP: refactored mkqtdecl configuration (common part factored out), fixed .pro file dependencies
2018-06-05 23:21:15 +02:00
Matthias Koefferlein
4fda7b2a50
WIP: added gui argument to QApplication, fixed documentation of virtual methods.
2018-06-05 22:29:34 +02:00
Matthias Koefferlein
21bf382549
WIP: Fixed documentation, added QtCore.Qt.QT_VERSION(_STR)
2018-06-05 21:03:21 +02:00
Matthias Koefferlein
3b5e84a5b2
Fixed documentation of RBA::TextGenerator.
2018-06-04 23:11:02 +02:00
Matthias Koefferlein
98256ebc66
WIP: pymod tests work for Qt4 now too.
2018-06-04 00:32:02 +02:00
Matthias Koefferlein
f3f6e2e7ba
WIP: unit tests for pykl, some build errors fixed.
2018-06-03 23:36:06 +02:00
Matthias Koefferlein
655e59d11a
WIP: Fixed build dependencies and code dependencies for Python modules (Qt5)
2018-06-03 19:54:18 +02:00
Matthias Koefferlein
f093b305bf
WIP: include __init__.py generation in .pro files.
2018-06-03 13:05:12 +02:00
Matthias Koefferlein
d903c9f224
Use proper helper functions to activate help links - avoids warnings when there is no MainWindow.
2018-06-03 12:23:24 +02:00
Matthias Koefferlein
0ed898e3c2
WIP: proper dependencies to avoid build issues.
2018-06-03 12:16:52 +02:00
Matthias Koefferlein
a522a14109
WIP: Fixed Python 2 build and import.
2018-06-03 02:44:56 +02:00
Matthias Koefferlein
bfbd8732f3
WIP: basic availability of LayoutView as separate component
...
- The deferred method scheduler is now automatically created
when required and when there is a QApplication
- QApplication and related have argv constructors
2018-06-03 00:54:58 +02:00
Matthias Koefferlein
40b2e9a1a5
WIP: usable constructors for QApplication and related.
2018-06-02 22:21:59 +02:00
Matthias Koefferlein
ea31e5bcde
WIP: removed old Qt5 binding code, fixed a segfault (static argc), enabled pya without interpreter
2018-06-02 02:03:14 +02:00
Matthias Koefferlein
3cabb23be1
WIP: more Qt Python modules and better build scheme.
2018-06-02 00:50:57 +02:00
Matthias Koefferlein
1840e74d0d
WIP: avoid some warnings when using "import klayout.QtCore"
...
Reason: klayout_QtCore needs to be linked with QtGui so it's
GSI declarations become available. The reason is only
QSignalMapper which is in QtCore and has a QWidget argument.
2018-06-02 00:01:00 +02:00
Matthias Koefferlein
403840b109
WIP: some bug and performance fixes.
2018-06-01 23:36:01 +02:00
Matthias Koefferlein
3882f6a3b1
WIP: further generation of Python module (kind of slow currently + dependent modules need to be loaded manually)
2018-05-31 23:22:35 +02:00
Matthias Koefferlein
b2f18c612a
WIP: module names in help search available.
2018-05-31 21:27:10 +02:00
Matthias Koefferlein
07d9363ea7
WIP: more python modules, made gsi initialization safe against duplicate init.
2018-05-31 20:51:09 +02:00
Matthias Koefferlein
73297a3810
WIP: fixed some build issues.
2018-05-31 17:59:54 +02:00
Matthias Koefferlein
ecc0520ffb
WIP: Qt5 compatibility
2018-05-31 17:54:29 +02:00
Matthias Koefferlein
b91a3b5cad
WIP: added Qt5 support
2018-05-31 09:19:26 +02:00
Matthias Koefferlein
0e29c997f6
WIP: refactoring, fixed documentation and some mistakes.
2018-05-31 01:11:24 +02:00
Matthias Koefferlein
07b655d3bc
WIP: removed debug output, resolved a consistency issue between QtGui and QtCore - QtGui was injecting an enum into QtGui.
2018-05-30 23:17:35 +02:00
Matthias Koefferlein
80d00378d3
WIP: further refactoring
2018-05-30 22:46:10 +02:00
Matthias Koefferlein
f1f9132d48
WIP: further refactoring of Qt binding libs
2018-05-30 22:02:27 +02:00
Matthias Koefferlein
3b144259fd
WIP: build works again at least on Qt4.
2018-05-30 01:22:33 +02:00
Matthias Koefferlein
c30d52c801
WIP: fixed a lot of compiler issues after last refactoring.
2018-05-30 01:00:13 +02:00
Matthias Koefferlein
6468bb7ab9
WIP: refactoring of GSI structure for separated modules.
2018-05-30 00:39:58 +02:00
Matthias Koefferlein
0b0393ce56
First version of Python module.
2018-05-26 21:31:39 +02:00
Matthias Koefferlein
108f90e382
Small enhancements for package manager
...
- Progress on download
- Some icons did not get marked (8 bit indexed image format)
- Colors in installation status dialog
One internal enhancement: progress adaptors can be
instantiated temporarily now to catch progress events.
2018-05-19 00:22:15 +02:00
Matthias Koefferlein
bb86970ac8
Bugfix: GIF (8 bit indexed) icons could not be marked in package manager.
2018-05-17 22:38:17 +02:00
Matthias Koefferlein
1b607474b8
Selection shows PCell display name of instances.
2018-05-17 22:31:05 +02:00
Matthias Koefferlein
f74f2d3416
Fixed bug #121 (reopening of PCell's in GDS and - partially - in OASIS)
2018-05-17 22:24:32 +02:00
Matthias Koefferlein
887bcb3e04
Fixed version in Changelog
2018-05-04 21:21:14 +02:00
Matthias Koefferlein
d075c37cb4
Windows build fixed, version incremented to 0.25.3, updated changelog.
2018-05-02 21:47:30 +02:00
Matthias Koefferlein
74cc8eea07
Compatibility with Ruby 1.8.7 (main app test), tests fixed for CentOS6
2018-05-02 07:32:20 +02:00
Matthias Koefferlein
9084a7f519
Fixed Windows build, changed tl::Clock documentation
2018-05-01 22:48:08 +02:00
Matthias Koefferlein
8596b0b9ea
libcurl integration and HTTP support enhanced
...
Issue was: the asynch interface for HTTP access
wasn't entirely compatible between Curl and Qt
implementations.
Plus, the progress integration was messed up
because of the deleteLater scheme (progress was
visible even after the connection ended).
The deleteLater scheme was replaced by an
explicit close which does not require the
connection to be deleted immediately in the
receivers.
2018-05-01 21:24:05 +02:00
Matthias Koefferlein
6edb5b9f3e
Build fixed.
2018-05-01 08:17:51 +02:00
Matthias Koefferlein
90c5ff4b12
Bugfix: progress response time was long sometimes
...
Reason: the timer involved measured CPU time. So if the
process wasn't CPU intensive (i.e. waiting for network
response), cancelling the operation wasn't possible.
2018-04-30 23:25:23 +02:00
Matthias Koefferlein
2454104346
Small bug fixes for Salt Package manager
...
Download URL's and documentation URL's have not
been shown properly in the package preview.
2018-04-30 23:24:32 +02:00
Matthias Koefferlein
080623ad15
libcurl substitute for Qt network.
...
Reasoning: on Qt <4.7, custom request are not available.
They are required however to implement WebDAV. libcurl
provides a substitute for QNetwork. This is important
for deployment on CentOS6 for example.
2018-04-30 23:23:07 +02:00
Matthias Koefferlein
4c4b079286
Second part for implementation of #113 (healing of XOR output)
2018-04-29 23:02:40 +02:00
Matthias Koefferlein
821aab3320
Implemented #113 (Heal option after tiled XOR)
2018-04-28 17:58:57 +02:00
Matthias Koefferlein
ccfe6fa918
FEATURE: 'labels' method in DRC scripts allows copying labels to output layers.
2018-04-28 10:36:13 +02:00
Matthias Koefferlein
86aea962c9
Alignment of method signature in RDB API.
2018-04-28 10:35:50 +02:00
Matthias Koefferlein
f538885fb3
Added some convenience methods for building RDB entries from shapes.
2018-04-28 09:46:42 +02:00
Matthias Koefferlein
89b4397aa4
Fixed some doc typos.
2018-04-28 00:32:23 +02:00
Matthias Koefferlein
ff9be6219d
Fixed some doc typos.
2018-04-28 00:31:41 +02:00
Matthias Koefferlein
c94723bbce
New RBA/pya methods
...
More Shapes#insert flavours with Shapes and RecursiveShapeIterator,
RecursiveShapeIterator#dtrans.
2018-04-28 00:21:36 +02:00
Matthias Koefferlein
f989b961c1
Bugfix: show XOR progress after the particular job is done.
2018-04-24 21:49:51 +02:00
Matthias Koefferlein
43325cb861
Fixed Windows build.
2018-04-24 21:34:16 +02:00
Matthias Koefferlein
08bcd1e418
Fixed #117 (DTrans#itype broken)
2018-04-24 21:26:21 +02:00
Matthias Koefferlein
a4b396535f
Fixed #116 (polygon cutting issue)
...
Last step: polygon cut algorithm with fallback: merge before cut on invalid polygons.
2018-04-24 20:58:00 +02:00
Matthias Koefferlein
9622a2e669
WIP: added testcases for extreme polygon decomposition on GDS writing.
2018-04-24 19:28:45 +02:00
Matthias Koefferlein
e183323d9a
WIP: new version of polygon cut algorithm which is simpler and more stable.
2018-04-24 01:09:28 +02:00
Matthias Koefferlein
ca9a6db8a5
Scanline polygon generator: avoid spikes
...
The implementation of the scanline polygon generator
will avoid spikes as hole cutlines. Helps
fixing #116 .
2018-04-23 22:22:32 +02:00
Matthias Koefferlein
e710b28a6d
FEATURE: added RBA::Polygon#split, RBA::Polygon#split, RBA::DSimplePolygon#split, RBA::DSimplePolygon#split
2018-04-20 22:26:57 +02:00
Matthias Koefferlein
5fbbccd9e2
ut_runner does not display dialog on crash but dumps the stack trace to stdout.
2018-04-20 00:18:42 +02:00
Matthias Koefferlein
34b534e8b4
Fixed memory statistics for polygons.
2018-04-19 00:13:28 +02:00
Matthias Koefferlein
067d52a269
FEATURE: DXF accuracy and "keep layer names" feature
...
* "keep layer name" will not try to modify layer names into
GDS layer/datatypes. The feature is available in the DXF
reader options and for the buddy scripts as "--keep-layer-names"
It applies to CIF too.
* "contour accuracy": when merging lines into contours, this
accuracy is applied to find neighbors. By default this value
is 0. If set to a value >0, points with distances (square
metrics) less than this value will be connected.
The buddy script option is --dxf-contour-accuracy=value.
2018-04-18 23:34:59 +02:00
Matthias Koefferlein
65cfb2d4e4
WIP: consistent naming of some predicates in Ruby with ?, unit tests for reader option bindings.
2018-04-17 01:56:59 +02:00
Matthias Koefferlein
17e9e48831
Fixed #114 (Custom line styles not loaded by tech)
2018-04-17 01:23:21 +02:00
Matthias Koefferlein
8bc0063fe6
WIP: DXF reader options config page.
2018-04-17 00:57:14 +02:00
Matthias Koefferlein
c7fcd18413
Fixed #115 (Reader options are not persisted).
2018-04-17 00:56:53 +02:00
Matthias Koefferlein
86a90571e6
WIP: DXF keep layer names option, refactoring, added tests, UI, XML serialization.
2018-04-16 19:47:12 +02:00
Matthias Koefferlein
085a2ee2b1
WIP: keep DXF and CIF layer names, DXF contour accuracy.
2018-04-16 00:55:57 +02:00
Matthias Koefferlein
1b0317c120
Memory statistics: demangle symbol names.
2018-04-15 01:19:28 +02:00
Matthias Koefferlein
e1922da3b2
Better memory statistics.
2018-04-15 00:54:30 +02:00
Matthias Koefferlein
4acc336d69
Fixed DXF display issue (see https://www.klayout.de/forum/comments.php?DiscussionID=1053 )
2018-04-11 22:53:55 +02:00
Matthias Koefferlein
256de9bc84
Small DXF bugfix: persist name of subcells of cell variants.
2018-04-11 21:52:23 +02:00
Matthias Koefferlein
1e2f8a0ce5
Fixed #112 (Salt package repo relative paths)
...
This patch also includes:
* A segfault fixed that happend on some errors
* package URL's are resolved relative to the
salt mine URL if one is given.
2018-04-10 21:40:07 +02:00
Matthias Koefferlein
3495f9c698
Fixed #110 (ut_runner not working on MacOS)
2018-04-08 01:27:22 +02:00
Matthias Koefferlein
d3227b5bda
Merge branch 'master' of https://github.com/Kazzz-S/klayout
2018-04-07 16:02:39 -07:00
Matthias Koefferlein
da1daae1d8
Fixed #107 (Undo not working with shapes)
2018-04-07 16:00:37 -07:00
Matthias Koefferlein
829966d9a1
Fixed #108 (Box#enlarge, Box#move on empty boxes)
2018-04-07 09:21:50 +02:00
Matthias Koefferlein
3d5780db2b
Bugfix #109 (part 3): OASIS/GDS writer fixed + unit test added.
2018-04-06 23:27:29 +02:00
Matthias Koefferlein
655eb49afd
Bugfix #109 (part 2): re-established compatibility with previous version.
2018-04-06 23:08:41 +02:00
Matthias Koefferlein
ea3ebba470
Bugfix #109 (part 1): account for long != long long on Windows in tl::Variant
2018-04-06 14:53:40 +02:00
Matthias Koefferlein
a7446dd0dc
Fixed #106 (Search & replace help page enhancements)
2018-03-31 13:39:35 +02:00
Matthias Koefferlein
21e2af2a97
Fixed #102 (Potential issue while upgrading from .25.1 to .25.2)
...
The reason was that for 0.25.1 "macro-editor-font-size" was allowed
to be an empty string (the default). Which meant: take default application
font size. In 0.25.2 this now was required to be a number and 0 was
the default for "auto" font size.
Two changes:
- The default is back to empty string ("0" is still allowed as default)
- The application was made safe against broken configuration files: an
error is printed to the log, but apart from that the application
will work (the configuration value is ignored however).
2018-03-20 18:52:00 +01:00
Thomas Ferreira de Lima
1ed12d4715
Merge branch 'master' into macos_retina
2018-03-19 23:21:06 -04:00
Thomas Ferreira de Lima
73e84d4f8d
qt5 compatible fontgen.cc
2018-03-19 23:08:50 -04:00
Matthias Koefferlein
59b1849c96
Fixed the font issue for Retina displays: there should be fixed fonts for all resolutions down to 1/6 (Retina display, 2x oversampling)
2018-03-20 02:25:49 +01:00
Matthias Koefferlein
b04d9f38b9
Fixed the recent patch: mouse coordinates need to be scaled by devicePixelRatio too.
2018-03-20 01:03:33 +01:00
Matthias Koefferlein
0a01946202
A refactoring attempt for the Retina display issue ( #94 )
...
This is what's been done:
- remove the old double and single buffering /w mask approach
- modify the bitmap rendering so it's done in a offscreen
image before subsampling
(effect: rulers display smoothly in subsampling mode)
- refactoring the "device pixel ratio" topic:
Made the DPR a variable, viewport width is scaled up
to reflect the true image size, inserted #ifdef's for Qt4.
DISCLAIMER: I don't know whether this still works - I don't
have a Retina display :-(
2018-03-19 22:22:24 +01:00
Matthias Koefferlein
415d52f35d
Fixed some issues found by Coverity scan.
2018-03-19 18:24:09 +01:00
Matthias Koefferlein
13062292fe
Modified solution for the segfault mentioned in ticket #85 (@thomaslima: thanks for the root cause analysis)
2018-03-16 10:05:09 +01:00
Thomas Ferreira de Lima
a6738f5be4
better ruler rendering. Fails totally at 2x oversampling
2018-03-15 23:07:25 -04:00
Thomas Ferreira de Lima
b6ec5b7c0d
retina rendering of layout fine. rulers and other bitmap objects not obeying retina dpi
2018-03-15 14:37:38 -04:00
Thomas Ferreira de Lima
53bc8e97fe
a little more stable.
...
still unstable for oversampling >1. also rulers do not render well
2018-03-15 03:55:47 -04:00
Thomas Ferreira de Lima
a94ad6622a
retina display working prototype. only works if oversample = 1.
2018-03-15 03:32:46 -04:00
Thomas Ferreira de Lima
8419ed0c6f
fixing the bug mentioned in PR #85
2018-03-15 00:08:18 -04:00
Matthias Koefferlein
02c9c645ec
Rephrase confusing option in 'save as' dialog.
2018-03-12 20:55:15 +01:00
Matthias Koefferlein
9fd169f183
Merge branch 'bug_89'
2018-03-12 20:47:38 +01:00
Matthias Koefferlein
3ae71d7e72
Bugfix: properly initialize new config value
2018-03-12 20:47:33 +01:00
Matthias Koefferlein
802237141b
Fixed #90 (DRC issue with 'extended' and joined = true)
2018-03-12 00:47:04 +01:00
Matthias Koefferlein
8bec89611f
Trying to fix alpha channel issue by providing upper 8 bits set in QImage.
2018-03-11 23:57:41 +01:00
Matthias Köfferlein
4ef4635e24
Merge pull request #86 from lightwave-lab/master
...
Building KLayout on macOS High Sierra with python3 from brew and Qt 5.9.4
2018-03-11 22:20:41 +01:00
Matthias Köfferlein
dc5792d768
Merge pull request #87 from lightwave-lab/open-with-macos
...
Open with macos
2018-03-11 22:08:49 +01:00
Matthias Koefferlein
5fbc20702e
Macro editor enhancements (stop on exceptions)
...
This commit tries to address #85 and provide these features:
- dynamic configuration of the macro IDE behaviour
- side effect: a new entry in the setup dialog for the
IDE settings
- "stop on exceptions" can be taught to ignore certain files
2018-03-11 21:58:59 +01:00
Alex Tait
9717612c93
allowed user defined literals. build and deploy passes with MacOsSierra version of Ruby.
2018-03-08 14:33:43 -05:00
Thomas Ferreira de Lima
8ec78a99a9
open with working properly in MacOS.
2018-03-07 12:54:01 -05:00
Thomas Ferreira de Lima
c82bb445ac
testing file open event
2018-03-07 11:07:29 -05:00
Matthias Koefferlein
51e40cc9ab
Merge remote-tracking branch 'remotes/origin/master'
2018-03-03 00:22:10 +01:00
Matthias Koefferlein
7da3b0206a
DRC as early autorun
...
This will finally enable DRC runsets started from an autorun macro.
2018-03-03 00:21:23 +01:00
klayoutmatthias
3d5fe871e2
Fixed #84 (Python modules: breakpoints not working on Windows)
2018-03-03 00:18:18 +01:00
Matthias Koefferlein
6f0ecd3d9c
Show tip window once for non-standard background combination mode.
2018-02-27 21:59:52 +01:00
Matthias Koefferlein
2ffdbb4d91
Suppress repeated message in unit tests if not required.
2018-02-27 00:02:57 +01:00
Matthias Koefferlein
d0cb17b386
ut_runner: Added -r option, fixed help text
2018-02-24 18:09:50 +01:00
Matthias Koefferlein
eea53b3091
Fixed #79 (Macro Editor: Replace function enabled also for read-only macros)
2018-02-23 23:04:21 +01:00
Matthias Koefferlein
5f4e715dcf
Fixed #77 (copy_tree should work in non-editable mode too)
2018-02-21 07:47:41 +01:00
Matthias Koefferlein
a272ba39a7
Remove a debug output.
2018-02-21 07:47:02 +01:00
Matthias Koefferlein
2f46f0d1c6
Fixed some issues found with Coverity.
2018-02-21 00:21:19 +01:00
Matthias Koefferlein
6052a04429
A few enhancements and unit tests for PCells
...
This commit adds unit tests for implementation helper-based
PCells in Python and Ruby.
2018-02-17 01:26:25 +01:00
Matthias Koefferlein
f6f75cd791
A small rework of the Python PCell helpers
...
The aim of this rework was to enable PCell implementations
that use the basic methods rather than the "_impl" variants.
For the latter, potential variable name clashes happen when
parameters are called "cell", "layout", "layer" or similar.
New methods enable implementation on the level of the
non-"impl" methods. For example:
def produce(self, layout, layers, parameters, cell):
self.init_values(parameters, layers)
...
self.finish()
2018-02-13 00:59:11 +01:00
Matthias Koefferlein
12bb664a80
Fixed the default implementation of transformation_from_shape in Python
2018-02-13 00:09:54 +01:00
Matthias Koefferlein
4f3b205d93
Fixed #71 (target cell argument is required)
2018-02-12 22:46:54 +01:00
Matthias Koefferlein
5d59b890d3
Small bugfix: DRC error message on wrong '@' input/output was wrong.
2018-02-12 22:04:03 +01:00
Matthias Koefferlein
6d0fe85425
Fixed #75 (Python PCell issue when parameters are called 'layer')
...
This commit
- Ignores exceptions when checking for PCells that accept shapes.
Hence a single rogue one does not break the feature.
- Prevents errors when parameters named "layer" are present
by making the implementation safe against this case.
- In addition, guiding shape parameters of type "Path", "Box" etc.
(i.e. integer types) are supported too although they are
not recommended for portability.
2018-02-11 00:34:28 +01:00
Matthias Koefferlein
6a762db29b
Reworked bookmark menu implementation to avoid MacOS menu issue
...
Without this commit, bookmark menus got grayed out
on MacOS with Qt5 sometimes. Now, the implementation
of recent file menu, bookmark menu, macro menu and
the static main menu use the same framewkork which
includes a workaround for the disabled menu issue.
2018-02-10 18:41:05 +01:00
Matthias Koefferlein
1e29b29c13
Merge remote-tracking branch 'remotes/origin/menu_issue'
2018-02-10 17:32:33 +01:00
Matthias Koefferlein
d6adadcad4
Added file source to 'stream has unknown format' message.
2018-02-09 22:56:03 +01:00