Matthias Koefferlein
70d8334f8c
Merge branch 'lefdef-enhancments' of https://github.com/KLayout/klayout into lefdef-enhancments
2020-04-18 18:00:54 +02:00
Matthias Koefferlein
54cf57c772
LEF/DEF enhancements (via cellname suffix configurable, group separation disabled by default)
...
Two new reader options:
1.) via cell name prefix (default is "VIA_"). This name is put in front of the via name to form the cell cell name
2.) group separation disabled by default. Groups are not put into individual parent cells by default.
2020-04-18 17:58:50 +02:00
Matthias Koefferlein
d117e024f0
Removed TODO markers
2020-04-18 00:38:25 +02:00
Matthias Koefferlein
2cdcf621d8
D25 tech component editor: line numbers shown, more syntax variants
2020-04-18 00:37:15 +02:00
Matthias Koefferlein
07ecaac598
Enhancements.
2020-04-18 00:17:17 +02:00
Matthias Koefferlein
747184beef
Using background color as configured.
2020-04-17 23:46:02 +02:00
Matthias Koefferlein
1604c089dc
Link between tech comp and 2.5d view
2020-04-17 19:02:13 +02:00
Matthias Koefferlein
ca2b0cd96a
Added tests for tech component, syntax highlighter fixed.
2020-04-17 16:24:56 +02:00
Matthias Koefferlein
b2216ec372
WIP: tech component + editor.
2020-04-17 11:15:50 +02:00
Matthias Koefferlein
7884446da1
Orientation cube, some refinement.
2020-04-17 00:25:21 +02:00
Matthias Koefferlein
f954afab7a
Added missing files.
2020-04-16 23:14:48 +02:00
Matthias Koefferlein
f9aa89a0b3
WIP: bugfixes, refactoring.
2020-04-16 23:14:22 +02:00
Matthias Koefferlein
921af52643
DEF reader bugfix: wasn't reading SPECIALNETS + ROUTED + RECT
2020-04-14 23:15:08 +02:00
Matthias Koefferlein
61714090e3
Maybe fixed performance issue: usually it's not a good idea to iterate the layout's hierarchy while deleting something from it.
2020-04-14 22:48:18 +02:00
Matthias Koefferlein
2ec712b104
Implementation starts to make sense. TODO: major refactoring, a lot of utility functions like fit, ...
2020-04-13 22:18:52 +02:00
Matthias Koefferlein
9c00568301
WIP: compass, navigation, bug fixes.
2020-04-13 21:34:32 +02:00
Matthias Koefferlein
fd2749895c
WIP: foreground light, enhanced navigation ...
2020-04-13 18:13:17 +02:00
Matthias Koefferlein
194a2747e6
WIP: better hit point detection
2020-04-12 19:15:11 +02:00
Matthias Koefferlein
75b1b4dc54
WIP.
2020-04-12 18:38:39 +02:00
Matthias Koefferlein
55e79ef78f
WIP.
2020-04-12 16:56:30 +02:00
Matthias Koefferlein
d37608dac1
WIP.
2020-04-12 10:32:23 +02:00
Matthias Koefferlein
7077bac647
WIP.
2020-04-11 22:46:35 +02:00
Matthias Koefferlein
56d406aaad
WIP
2020-04-11 12:02:30 +02:00
Matthias Koefferlein
b5a51f15d0
WIP
2020-04-11 11:21:59 +02:00
Matthias Koefferlein
731dfffe1e
WIP
2020-04-11 11:21:36 +02:00
Matthias Koefferlein
7472bd4955
WIP: experiments on OpenGL view.
2020-04-10 22:40:53 +02:00
Matthias Koefferlein
a4c2cd34cf
Fixed some bugs.
2020-04-06 23:55:30 +02:00
Matthias Koefferlein
b7eb150f03
Fixed some bugs.
2020-04-06 23:52:51 +02:00
Matthias Koefferlein
1e2601d154
Fixed some build errors
2020-04-06 23:22:24 +02:00
Matthias Koefferlein
c4e5367b8a
First setup.
2020-04-06 23:22:24 +02:00
Matthias Koefferlein
9c62bb015f
Include BLOCKAGE in map file LEF/DEF, becoming case insensitive for purpose
2020-04-05 23:56:43 +02:00
Matthias Koefferlein
3ada29d606
Some bugfixes for LEF/DEF reader for special nets (extension handling)
2020-04-05 23:49:19 +02:00
Matthias Koefferlein
df7c530013
Bugfix for the net reader of DEF - wasn't properly reading diagonal parts.
2020-04-05 22:56:04 +02:00
Matthias Koefferlein
cd801206bc
Some refactoring - DEF scanner more modular (5)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
4757ad5044
Some refactoring - DEF scanner more modular (4)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
dea3743d59
Some refactoring - DEF scanner more modular (3)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
9df6d29761
Some refactoring - DEF scanner more modular (2)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
99af144d98
Some refactoring - DEF scanner more modular
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
f11a3a0dd5
Bugfix: MINWIDTH ... WRONGDIRECTION wasn't considering DIRECTION VERTICAL
...
Added/updated some tests, some refactoring.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
4a24b727d5
Tried to implement MINWIDTH .. WRONGDIRECTION in LEF58_MINWIDTH property
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
bcaf28c94c
Bugfix LEF/DEF reader: via needs to change the layer also if it's inside a DEF. Added more test cases.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
2c60338ae8
Added DO .. BY .. STEP to vias in SPECIALNETS in DEF reader, added one more private testcase
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
0ae97279d8
Added optional MASK specification to VIA's RECT and POLYGON elements
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
fd0b07f0cd
MERGE: strmxor could not identify layers when one has a name and the other does not (but both have numbers)
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
8796b65ddb
DEF reader patched: after via continue with the new metal layer with the width given by the rule.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
ee3ee5bd8e
Another update of the map file reader for LEF/DEF
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
dd63b727f8
Another update of the map file reader for LEF/DEF
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
67a1c0ba25
Updated implementation of mapping file reader for LEF/DEF.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
e15d99e4da
LEF reader fix: determine routing layers for vias without VIARULE from involved layers
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
d328901799
DEF reader fix: TAPER has to disable NONDEFAULTRULE for the segment
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
44503facea
Attempt to auto-import .map files for LEF/DEF reader. Probably needs adjustment.
2020-04-05 21:49:36 +02:00
Matthias Koefferlein
df11ff9b85
Merge branch 'master' of https://github.com/KLayout/klayout
2020-04-05 20:20:28 +02:00
Matthias Koefferlein
0abd5d5d96
Fixed some minor compiler warnings.
2020-04-05 18:30:08 +02:00
Matthias Koefferlein
27109312cf
Avoid a runtime warning for missing QWidget binding without Qt bindings compiled in
2020-04-05 18:29:55 +02:00
Matthias Köfferlein
c93db59e37
Fixed #524 (failed query leaves layout in invalid state) ( #528 )
2020-04-05 15:11:37 +02:00
Matthias Köfferlein
865076588b
Fixed issue #530 (events are mentioned as getters two times) ( #531 )
2020-04-05 15:11:18 +02:00
Matthias Köfferlein
2b3a53b285
Implemented #521 (enhanced API for ObjectInstPath) ( #532 )
2020-04-05 15:11:03 +02:00
Matthias Koefferlein
d1f1cf3031
Fixed a refactoring damage: the application mode indicator did not follow programmatic changes.
2020-04-05 14:01:44 +02:00
Matthias Koefferlein
14b6d58a09
Bugfix: paste was always paste_interactive
2020-04-05 13:23:22 +02:00
Matthias Koefferlein
cc6b23bffd
MERGE: fixed a typo in the undo title.
2020-04-01 23:40:00 +02:00
Matthias Koefferlein
c640347570
MERGE: added Spice reader testcase for resistors with model names.
2020-04-01 23:19:21 +02:00
Matthias Koefferlein
8c91dd520d
MERGE: Enhanced DRC and LVS documentation somewhat
2020-04-01 22:45:50 +02:00
Matthias Koefferlein
c021d60d41
Updated unit test
2020-03-29 09:23:13 +02:00
Matthias Koefferlein
86a3150aba
Fixed .pro files
2020-03-29 09:03:02 +02:00
Matthias Koefferlein
115f2edfd6
Removed unused entry from .pro file - made some build crash.
2020-03-28 23:10:02 +01:00
Matthias Koefferlein
99d3610a6a
Implemented #527 (wildcard layer mapping targets)
...
commit d77702cd86066f3a97d740a95923fa598c2ff07b
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Sat Mar 28 21:28:39 2020 +0100
Wildcard expansion feature on layer mapping
Finished feature, added doc and test.
The solution is to use placeholder indexes for the
layer mapping which are substituted by the real
layers when they are encountered.
commit af60b5f18acfe3c5e2f1d4e6bc6ee752a246dc0d
Author: Matthias Koefferlein <matthias@koefferlein.de>
Date: Sat Mar 28 19:11:32 2020 +0100
Preparations for new feature: introduce relative and wildcard target layer specs
2020-03-28 22:49:57 +01:00
Matthias Koefferlein
53f69ea90d
Fixed a segfault in the unit tests (related to future branch)
2020-03-28 22:49:06 +01:00
Matthias Koefferlein
666cdeadc5
MERGE: documentation enhancements for LVS/DRC
2020-03-28 12:29:53 +01:00
Matthias Koefferlein
a47932a79e
Added one more testcase for join_symmetric_nets
2020-03-28 09:49:41 +01:00
Matthias Koefferlein
9afcec25bc
Fixed #526 - Make scripe debugging more reliable
...
Problem: the debugger was printing an object's value as string.
The effect is that for big objects "to_s" will deliver huge strings
(e.g. polygons, netlists ...). "inspect" is better (already used
for Python), but it's aliased to "to_s" in Python and Ruby.
Huge strings will stall the debugger.
The solution is to stop this aliasing (Ruby 2.x doesn't do it
itself anymore) and use "inspect" consistently for Python and
Ruby.
Details can still be printed in the console.
2020-03-26 22:50:12 +01:00
Matthias Koefferlein
b6ba51e563
Provide timing information for Spice reader/writer
2020-03-26 17:33:18 +01:00
Matthias Koefferlein
04aa005247
Fixed #525 - report true source line in DRC and LVS verbose mode
2020-03-26 17:20:15 +01:00
Matthias Koefferlein
8afd907abb
Fixed builds
2020-03-15 23:27:24 +01:00
Matthias Koefferlein
c10ccccdf7
Merge branch 'app-refactoring' into doc-args
2020-03-15 21:32:39 +01:00
Matthias Koefferlein
8275e47334
More @args removed.
2020-03-14 22:44:43 +01:00
Matthias Koefferlein
daba9d78be
More @args removed.
2020-03-14 22:26:21 +01:00
Matthias Koefferlein
53c81cc572
Got rid of most of the @args
2020-03-14 21:50:47 +01:00
Matthias Koefferlein
c6b48acc76
Some small enhancements
...
LVS: max_branch_complexity was wrong and missing from doc.
Updated test cases so MSVC 2017 builds should pass.
Windows build.bat updated so debug builds can be made.
2020-03-04 21:48:00 +01:00
Matthias Köfferlein
ef4c9313ab
Fixed a severe bug in join_symmetric_nets
2020-03-03 22:24:03 +01:00
Matthias Köfferlein
7a60f5957b
Enable Qt-less build of unit tests on Windows in debug mode and without iterator assertions
2020-03-03 22:19:31 +01:00
Matthias Koefferlein
6721cb9c5b
Merge branch 'issue-482-update'
2020-03-02 18:57:40 +01:00
Matthias Köfferlein
91226230aa
Merge pull request #518 from KLayout/issue-517
...
Fixed #517 (VIARULE issue in DEF reader)
2020-03-02 18:56:55 +01:00
Matthias Koefferlein
8d665bd456
Fixed a minor segfault (DXF reader while having log level verbose), updated Changelog
2020-03-02 18:56:29 +01:00
Matthias Koefferlein
04ae4d5d28
Updated fix (wasn't correctly representing some via pattern)
2020-03-02 00:20:15 +01:00
Matthias Koefferlein
cec1910bf0
Added tests.
2020-03-02 00:13:44 +01:00
Matthias Koefferlein
c9955d39a6
Fixed issue-517
2020-03-02 00:09:41 +01:00
Matthias Koefferlein
a5a4ae511d
Some more tests, a (unlikely) segfault fixed
2020-02-28 23:19:27 +01:00
Matthias Köfferlein
82686b307c
Merge pull request #515 from KLayout/issue-471
...
Implemented #471 (leaner way to specify compare tolerances)
2020-02-27 18:46:15 +01:00
Matthias Köfferlein
56868eda85
Merge pull request #514 from KLayout/issue-482
...
Implemented #482 (split gate option aka join_symmetric_nets)
2020-02-27 18:46:02 +01:00
Matthias Köfferlein
d824956a4f
Merge pull request #510 from KLayout/issue-486
...
Fixed #486 ('save as' feature for macros)
2020-02-27 18:45:50 +01:00
Matthias Koefferlein
78050b1e5f
Implemented #471 : Updated doc.
2020-02-27 17:30:23 +01:00
Matthias Koefferlein
02e38a2cd1
Merge branch 'issue-482' into issue-471
2020-02-27 15:49:35 +01:00
Matthias Koefferlein
d315f84cab
Attempt to fix Windows build error.
2020-02-27 15:46:34 +01:00
Matthias Koefferlein
8b73dffcfe
Implementation done. Added tests.
2020-02-27 15:40:06 +01:00
Matthias Koefferlein
4cfe6ba2b9
Implemented #482 : updated documentation.
2020-02-27 14:34:16 +01:00
Matthias Koefferlein
75e936bd64
Added one more test case.
2020-02-27 13:46:52 +01:00
Matthias Koefferlein
76f5e19ed8
Enhanced LVS with 'join_symmetric_nets'. Updated doc. Added test.
2020-02-27 13:35:36 +01:00
Matthias Koefferlein
3b31109367
Added GSI binding for join_symmetric_nets, added method to get circuits by name pattern.
2020-02-27 12:17:35 +01:00
Matthias Koefferlein
25d1a65b21
Small enhancement: unit tests work also with verbosity >0 now.
2020-02-27 01:29:10 +01:00
Matthias Koefferlein
a46cd305c6
WIP: bug fix for symmetry detection (should consider different pins to break symmetry). Added tests.
2020-02-27 00:52:06 +01:00
Matthias Koefferlein
b35429291e
WIP: join_nets implemented, join_symmetric_nets: enhanced detection of symmetric nets.
2020-02-27 00:52:03 +01:00
Matthias Koefferlein
08af8d85c4
WIP: first algorithm - is capable of deriving the 'resistor cube' symmetry.
2020-02-27 00:52:00 +01:00
Matthias Koefferlein
58de38739a
WIP: some refactoring, debugging output for netlist compare
...
Abstraction: a central getenv() feature to wrap all the system-specific things
Netlist compare debug and options can be enabled through environment variables:
KLAYOUT_NETLIST_COMPARE_DEBUG_NETCOMPARE=1: print netlist compare debug info
KLAYOUT_NETLIST_COMPARE_DEBUG_NETGRAPH=1: print net grapg
KLAYOUT_NETLIST_COMPARE_CASE_SENSITIVE=1: make netlist compare case sensitive
2020-02-27 00:51:55 +01:00
Matthias Koefferlein
7d7c9aecc6
Fixed #486 ('save as' feature for macros)
2020-02-23 14:10:26 +01:00
Matthias Koefferlein
2564b11da3
Fixed #478 (shapes method can't be used in queries)
2020-02-23 13:36:20 +01:00
Matthias Koefferlein
d01759aa60
Implemented #500 (limit number of shapes in net tracer)
2020-02-23 11:02:15 +01:00
Matthias Köfferlein
1992fc762a
Issue #489 (Pin names as shape properties) ( #507 )
...
* Fixed #489 (LEF/DEF reader provides pin names as properties)
* Removed vi swap file
* #489 fixed (LEF pins also get properties, added tests)
2020-02-23 00:29:12 +01:00
Matthias Köfferlein
946af71f2f
Fixed issue #473 (fast accessors to image pixel and mask data through… ( #503 )
...
* Fixed issue #473 (fast accessors to image pixel and mask data through arrays)
* Updated Jenkinsfile to not publish a PR build
* Updated Jenkinsfile to not publish a PR build
2020-02-21 18:38:08 +01:00
Matthias Köfferlein
7c89192ad8
Fixed #502 (issues with AbsoluteProgress) ( #504 )
...
* Fixed #502 (issues with AbsoluteProgress)
* Updated Jenkinsfile to not publish a PR build
2020-02-21 18:37:50 +01:00
Matthias Köfferlein
69e7704430
Issue 501 ( #505 )
...
* Fixed #501 (more Qt ownership management) - this commit contains some more changes because I had to regenerate the Qt binding sources.
* Fixed #501 (Qt object ownership transfer) - repairs, added tests
* Updated Jenkinsfile to not publish a PR build
* Update Jenkinsfile - exclude PR's from build
2020-02-21 18:25:22 +01:00
Matthias Koefferlein
9142479585
Fixed a segfault.
2020-02-19 09:51:55 +01:00
Matthias Koefferlein
8a95b2e6f7
WIP: wording.
2020-02-19 09:22:04 +01:00
Matthias Koefferlein
4782450170
WIP: args notation.
2020-02-19 09:13:25 +01:00
Matthias Koefferlein
7913e7cf82
Added unit tests.
2020-02-19 01:06:39 +01:00
Matthias Köfferlein
161068c70a
Merge pull request #492 from KLayout/issue-491
...
Issue #491 fixed (maybe)
2020-02-16 10:15:53 +01:00
Matthias Koefferlein
5853fecf37
Two bugs fixed: tech selection did not happen, enable all/disable all did not work
2020-02-13 00:53:20 +01:00
Matthias Koefferlein
0059d1bf24
Basic refactoring: Action -> Action*
2020-02-13 00:16:37 +01:00
Matthias Koefferlein
c801df7f7b
WIP: fixed assertion in klayout_main test.
2020-02-11 00:39:19 +01:00
Matthias Koefferlein
ad775413f3
WIP: refactoring - fixed a segfault.
2020-02-10 23:13:35 +01:00
Matthias Koefferlein
9cb81ce807
WIP: further refactoring.
2020-02-10 00:38:48 +01:00
Matthias Koefferlein
45b6a72bee
WIP: further refactoring.
2020-02-10 00:07:41 +01:00
Matthias Koefferlein
e8a875ccb5
WIP: further refactoring.
2020-02-09 01:35:44 +01:00
Matthias Koefferlein
a44535e009
WIP: further refactoring.
2020-02-08 23:01:42 +01:00
Matthias Koefferlein
85789a386b
WIP: further refactoring.
2020-02-08 22:15:09 +01:00
Matthias Koefferlein
64a09e07f9
WIP: refactoring ongoing.
2020-02-08 00:02:49 +01:00
Matthias Koefferlein
a14e90f367
WIP: refactoring ongoing - starts looking good :)
2020-02-07 23:52:32 +01:00
Matthias Koefferlein
a2d4b02238
WIP: refactoring ongoing.
2020-02-07 19:05:45 +01:00
Matthias Koefferlein
24ad1b2d26
WIP: refactoring ongoing.
2020-02-07 18:46:35 +01:00
Matthias Koefferlein
4210198179
WIP: refactoring ongoing.
2020-02-07 17:33:53 +01:00
Matthias Koefferlein
ce25d51763
WIP: refactoring ongoing.
2020-02-07 01:41:03 +01:00
Matthias Koefferlein
b604624123
WIP: refactoring ongoing.
2020-02-07 01:32:05 +01:00
Matthias Koefferlein
68472e6e14
WIP: refactoring ongoing.
2020-02-07 01:27:24 +01:00
Matthias Koefferlein
fa1b98c933
WIP: refactoring ongoing.
2020-02-07 01:11:23 +01:00
Matthias Koefferlein
674d4b45ad
WIP: refactoring ongoing.
2020-02-07 01:00:46 +01:00
Matthias Koefferlein
d6589f1d0e
WIP: refactoring ongoing.
2020-02-07 00:41:37 +01:00
Matthias Koefferlein
4f03710f65
WIP: target will be version 0.27.
2020-02-05 00:02:12 +01:00
Matthias Koefferlein
b2e6085ba1
WIP: not quite further ...
2020-02-04 23:54:29 +01:00
Matthias Koefferlein
22b3a5face
WIP: refactoring - at least some local context menus for detached views
2020-02-04 21:33:27 +01:00
Matthias Koefferlein
0f69c24e79
WIP: avoids a segfault because of missing manager
2020-02-04 20:50:46 +01:00
Matthias Koefferlein
f6a6acd20e
WIP: new LayoutView features for pya/RBA.
2020-02-04 00:33:07 +01:00
Matthias Koefferlein
961a36a7ad
Issue #491 fixed (maybe)
2020-02-03 22:38:45 +01:00
Matthias Köfferlein
aba55148db
Merge pull request #483 from KLayout/issue-481
...
Fixed issue #481 (duplicate DRC markers)
2020-01-28 23:48:33 +01:00
Matthias Köfferlein
607cdbd71b
Merge pull request #484 from KLayout/issue-476
...
Issue 476
2020-01-28 23:48:21 +01:00
Matthias Koefferlein
de5f092d37
Merge branch 'master' of https://github.com/KLayout/klayout
2020-01-28 23:46:42 +01:00
Matthias Koefferlein
cc37ecfd17
Fixed titles of file dialogs.
2020-01-28 23:45:40 +01:00
Matthias Koefferlein
21397283f3
Fixed #477
2020-01-23 18:38:41 +01:00
Matthias Koefferlein
eeadfcea7b
Fixed #476
2020-01-23 17:56:20 +01:00
Matthias Koefferlein
b1716fc8c4
Fixed issue #481
2020-01-23 17:26:12 +01:00
Matthias Koefferlein
925b7c2f33
Removed incorrect regexp substitution.
2020-01-23 17:22:58 +01:00
Matthias Koefferlein
fb0d06602e
Attempt to fix the issue
...
In additon, some actions like display of the netlist
browser are suppressed until "final" is true for
"_finish".
TODO: Layout#get_info should never segfault.
2020-01-12 23:41:03 +01:00
Matthias Köfferlein
80b0eae937
Merge pull request #469 from KLayout/issue-464
...
Fixed #464 (problems building a layer node tree with 'add_child')
2020-01-05 01:03:29 +01:00
Matthias Köfferlein
db1d05282d
Merge pull request #467 from KLayout/issue-466
...
Issue 466
2020-01-05 01:03:10 +01:00
Matthias Köfferlein
6a996b6f5b
Merge pull request #465 from KLayout/issue-462
...
Implemented #462 (Generalize MOS transistor extraction to other gate …
2020-01-05 01:02:54 +01:00
Matthias Köfferlein
b012e90def
Merge pull request #470 from KLayout/issue-463
...
Issue 463
2020-01-05 01:02:32 +01:00
Matthias Koefferlein
b8c82c4f8b
Updated copyright notice to 2020
2020-01-05 00:59:43 +01:00
Matthias Koefferlein
cea5dbc0b4
Fixed #463 (Can't configure color of third-level layer groups)
2020-01-05 00:51:06 +01:00
Matthias Koefferlein
811560094a
Updated tests.
2020-01-04 21:19:06 +01:00
Matthias Koefferlein
0285a5195c
Fixed #464 (problems building a layer node tree with 'add_child')
...
The reason was a synchronization issue.
Actually "LayerPropertiesNodeRef" is not a reference, but
a mirror copy of the LayerPropertiesNode the reference points
to. Changes to the original must be synchronized into the
reference and back.
This concept is a tribute to the original implementation and
the node reference was a convenience add-on to the iterator-
based API.
Better solution in general is to replace the LayerPropertiesNodeRef
concept with a real reference.
2020-01-04 19:39:09 +01:00
Matthias Koefferlein
09f97aa286
Fixed #466 (Segfault when accessing a wrong layer tab)
2020-01-04 12:33:14 +01:00
Matthias Koefferlein
833edf53b2
Implemented #462 (Generalize MOS transistor extraction to other gate figures)
2020-01-02 22:20:45 +01:00
Matthias Koefferlein
c4636cebdb
Fixed #458 (Array instance net tracing bug)
2019-12-23 20:38:17 +01:00
Matthias Koefferlein
85c033db64
Small doc fixes
2019-12-21 18:00:02 +01:00
Matthias Köfferlein
a4e87e5b4a
Merge pull request #454 from KLayout/dvb
...
Dvb
2019-12-18 18:09:39 +01:00
Matthias Köfferlein
e2e761b999
Merge pull request #455 from KLayout/issue-453
...
Fixed #453 (Crash when using 'inverse' feature of TEXT PCell)
2019-12-18 18:09:26 +01:00
Matthias Koefferlein
a314d3d8c5
Fixed #453 (Crash when using 'inverse' feature of TEXT PCell)
2019-12-18 18:05:09 +01:00
Matthias Koefferlein
d9236a398f
Multiple progress bars enabled.
2019-12-18 02:19:15 +01:00
Matthias Koefferlein
297f37a63a
Huge performance improvement for a specific array element interaction. Reason: duplicate cluster interactions spoiled performance.
2019-12-18 01:10:16 +01:00
Matthias Koefferlein
fcba0018ba
Enhanced progress estimation of box scanner - no progress jumping back and forth.
2019-12-17 22:38:17 +01:00
Matthias Koefferlein
a9bd037b58
Some code cleanup with performance impact
2019-12-17 22:23:43 +01:00
Matthias Koefferlein
fb2611632d
Some performance improvement of net extractor.
2019-12-17 21:16:29 +01:00
Matthias Koefferlein
f174e5b83d
Updated documentation
2019-12-17 20:29:37 +01:00
Matthias Koefferlein
d0e6efa484
Implemented #444 (double-height standard-cell support).
2019-12-17 00:12:36 +01:00
Matthias Koefferlein
12c040aa6c
Merge branch 'issue-448' into dvb
2019-12-15 20:51:35 +01:00
Matthias Koefferlein
c9d528dc88
Fixed #447 - CentOS 6 build fixed.
2019-12-15 15:46:15 +01:00
Matthias Koefferlein
fccd78a222
Fixed #448 and updated test data
2019-12-15 10:37:51 +01:00
Matthias Koefferlein
782f6fe601
BUGFIX: the L2N and LVSDB writer was writing too much
...
Sometimes, shapes from child cells were propagated into
parent cells in the L2N and LVSDB output.
Because of this fix, many testdata files have to be updated.
2019-12-15 01:29:56 +01:00
Matthias Koefferlein
87e658acf0
WIP: finalized refactoring.
2019-12-15 00:48:11 +01:00
Matthias Koefferlein
da1ac3661f
WIP: bugfix of refactoriung, update test data.
2019-12-15 00:16:47 +01:00
Matthias Koefferlein
1e5d02b1bc
WIP: refactoring of cell instance interactions for net extraction.
2019-12-14 18:58:22 +01:00
Matthias Koefferlein
1f5ec9d3e9
Bugfix: don't mess with the hier cluster structure while determining the interactions ...
2019-12-12 00:20:15 +01:00
Matthias Koefferlein
e11aaf4ac2
WIP: Continued rework.
2019-12-11 23:35:19 +01:00
Matthias Koefferlein
fee5472845
WIP: further refactoring.
2019-12-11 01:28:56 +01:00
Matthias Koefferlein
406bc226bb
WIP: refactoring
2019-12-11 00:39:46 +01:00
Matthias Koefferlein
75cb21bbd1
WIP: refactoring, first steps.
2019-12-10 23:55:14 +01:00
Matthias Koefferlein
4acc4b96e2
First attempt to fix the issue
...
Problem was caching which did not take into account the array nature
of instances.
This fix also moves the cache one level below so it is effective also
when instance tree traversal happens. This might speed up things too.
Needs testing.
2019-12-09 21:37:07 +01:00
Matthias Koefferlein
91b7d6a2df
Fixed compatibility issue of MAG reader on Windows
2019-12-08 22:06:47 +01:00
Matthias Koefferlein
bbb8e1f430
Merge branch 'master' of https://github.com/KLayout/klayout
2019-12-08 20:25:54 +01:00
Matthias Koefferlein
8916dd12a9
Small bugfix for MAG writer + tests.
2019-12-08 20:25:25 +01:00
Matthias Koefferlein
76c42f2959
Magic file writer fixes for Windows - file path handling wasn't right for windows paths with drives.
2019-12-08 19:58:58 +01:00
Matthias Köfferlein
054869ec9a
Merge pull request #446 from KLayout/issue-445
...
Fixed #445 (cryptic message on 'merge shapes' with instances selected)
2019-12-08 09:14:48 +01:00
Matthias Köfferlein
ed407f1e93
Merge pull request #443 from KLayout/issue-438
...
Fixed #438 (error on redefinition of subcircuit in SPICE)
2019-12-08 09:14:05 +01:00
Matthias Köfferlein
61c50a59ec
Merge pull request #442 from KLayout/issue-440
...
Fixed #440 (issue with LayoutView#each_annotation_selected)
2019-12-08 09:13:48 +01:00
Matthias Köfferlein
c1ece152c5
Merge pull request #441 from KLayout/issue-439
...
Issue 439 (plain-text macro is marked "modified" on windows)
2019-12-08 09:13:31 +01:00
Matthias Koefferlein
63cc73b569
Fixed #445 (cryptic message when instances are selected and 'merge shapes' is used)
2019-12-08 08:43:08 +01:00
Matthias Koefferlein
3b9beb0d49
Fixed #438 (error on redefinition of subcircuit in SPICE)
2019-12-07 23:39:39 +01:00
Matthias Koefferlein
c214021618
Fixed #440 (issue with LayoutView#each_annotation_selected)
2019-12-07 21:51:10 +01:00
Matthias Koefferlein
9ef90aa135
Fixed #439 (CRLF issue with plain-text macros)
2019-12-07 19:14:21 +01:00
Matthias Koefferlein
a430b4df83
Supply 'read_all' capability of text stream with CRLF replacement.
2019-12-07 19:08:35 +01:00
Matthias Koefferlein
2402adc45d
Open to silence instance copy mode dialog
...
By using "don't ask again" the instance copy mode
dialog won't come up again. The mode can be reverted
back to "ask" in the editor options.
2019-12-05 01:09:48 +01:00
Matthias Koefferlein
717470a389
Enhancement of the "interactive" (infix) modes
...
1.) Copy & Cut will now take the selection from
the transient selection if no real selection is present
2.) Hence, Copy & Cut are always enabled
3.) The same if true for duplicate
4.) Move interactive will also act immediately on the transient
selection.
2019-12-05 00:36:46 +01:00
Matthias Köfferlein
2fa545d80b
Merge pull request #435 from KLayout/issue-429
...
Issue 429
2019-12-02 21:15:05 +01:00
Matthias Köfferlein
e061a0a932
Merge pull request #433 from KLayout/wip
...
Some enhancements
2019-12-02 21:14:35 +01:00
Matthias Köfferlein
8f8c393309
Merge pull request #432 from KLayout/issue-425
...
Issue 425
2019-12-02 21:13:14 +01:00
Matthias Köfferlein
e7ddf3b64f
Merge pull request #431 from KLayout/issue-426
...
Implemented #426 (feature request: group techs)
2019-12-02 21:12:40 +01:00
Matthias Köfferlein
ebb19879e9
Merge pull request #430 from KLayout/issue-428
...
Issue 428
2019-12-02 21:12:22 +01:00
Matthias Koefferlein
904bbf15a1
Refinement of tech management and MAG reading
...
- The MAG reader now has access to the details of the proposed
technology (set in KLayout), specifically inside library paths
($(tech_name), $(tech_dir)). This allows setting the MAG reader
path relative to the technology path.
- If no specific technology is set before MAG files are read and
the technology listed there is found in KLayout, KLayout will
attach the layout to this technology.
2019-12-01 18:19:55 +01:00
Matthias Koefferlein
baffb940d1
Implemented #429 : final touches to doc and tests for RBA/pya API.
2019-12-01 16:41:27 +01:00
Matthias Koefferlein
152dc87682
Implemented a dummy arrangement of cells when the MAG output file isn't corresponding to a existing cell - useful for obtaining a cell overview
2019-12-01 10:13:11 +01:00
Matthias Koefferlein
c49bc17e6a
CIF writer: only layer names should be forced to upper case. Cell names don't need this.
2019-11-30 22:53:29 +01:00
Matthias Koefferlein
9eb09c3a5d
Enhancements to implementation
...
- OASIS layers are turned into pure layer name (not lxdy_name) for
MAG output
- Boxes of instances had been incorrect
- consistent naming of cell files in presence of special chars
2019-11-30 22:30:28 +01:00
Matthias Koefferlein
f8743e7411
Added PearlRiver die Magic files as test case.
2019-11-30 21:16:31 +01:00
Matthias Koefferlein
6003727561
Added strm2mag tool and support for Magic options
2019-11-30 20:54:15 +01:00
Matthias Koefferlein
f16a5085c5
WIP: some implementation refinement
...
- MAG writer output name does not need to match a cell name
(this file is not written in this case, but the path and extension
are taken from it). A warning is issued in this case.
- Strings for layer and cell names are normalized (special chars, UTF8)
- Cell duplicates won't be produced but existing cells are reused.
This enables "incremental reads".
2019-11-30 19:04:54 +01:00
Matthias Koefferlein
c6ede46fd0
WIP: substantial changes
...
- force lower-case layer names to allow CIF/MAG loop (CIF needs
upper-case layer names, MAG doesn't)
- reverted CIF reader to standard
- new options for writer: tech, "zero timestamp".
- file name MUST be consistent with one cell name.
Reason: it's not possible to derive the initial
cell from the given options, so without the file name
being consistent, we can't know what to write there.
Basically the file name rather supplies the path.
2019-11-30 00:09:44 +01:00
Matthias Koefferlein
9fb73a3928
A small enhancement for CIF / less ignorant reader
...
The change is to allow lower-case cell and layer names when they
are separated from the command with a blank. So
"Layername XZY;": "L" is the command, "ayername" is ignored
BUT:
"L xyz;": "xyz" is not part of the command, but the layername.
Same for "DS".
This is a deviation from the "standard", but a useful one. Otherwise
case sensitivity cannot be maintained anymore in a CIF/Magic loop.
2019-11-29 01:15:06 +01:00
Matthias Koefferlein
0796b20c2d
Added a first test for Magic reader/writer
2019-11-29 01:14:41 +01:00
Matthias Koefferlein
3f9dd59593
WIP: MAG reader now is compliant with writer (and Magic I hope)
2019-11-29 00:25:28 +01:00
Matthias Koefferlein
3283219b0f
WIP: writer functionality debugged and enhanced (triangles, correct arrays etc.)
2019-11-28 23:58:19 +01:00
Matthias Koefferlein
cef868d774
WIP: ongoing development.
2019-11-28 01:03:25 +01:00
Matthias Koefferlein
11e3209d4a
WIP: removed traces of CIF copy
2019-11-28 00:45:47 +01:00
Matthias Koefferlein
4ac5801cc7
WIP: Implementation draft of MAG file writer.
2019-11-28 00:20:30 +01:00
Matthias Koefferlein
5c217b90b5
WIP: starting MAG writer.
2019-11-27 22:33:50 +01:00
Matthias Koefferlein
a980332c76
Fixed MAG reader (rlabels)
2019-11-26 23:38:23 +01:00
Matthias Koefferlein
6399f4693a
Bugfixed MAG reader.
2019-11-26 23:03:55 +01:00
Matthias Koefferlein
814b8df516
DRC enhancement: allow @+ to create a new layout for output.
2019-11-26 23:03:44 +01:00
Matthias Koefferlein
211524a0c0
WIP: reader starts becoming functional.
2019-11-26 01:03:24 +01:00
Matthias Koefferlein
aece8b299f
WIP: generalized code.
2019-11-25 19:54:24 +01:00
Matthias Koefferlein
2acb66182a
WIP: basic framework
2019-11-25 00:07:56 +01:00
Matthias Koefferlein
a8cace399e
Added some private tests to LVS tests for better coverage.
2019-11-24 18:25:56 +01:00
Matthias Koefferlein
0f1dc1d191
Refine pin mismatch handling so that only 'not used' nets will make a pin match against null.
2019-11-24 16:40:45 +01:00
Matthias Koefferlein
afacf7c0b5
WIP: fixed a segfault in the netlist browser.
2019-11-24 01:28:07 +01:00
Matthias Koefferlein
20976d7521
Avoid an error message on startup when Python/Ruby isn't enabled.
2019-11-24 00:36:46 +01:00
Matthias Koefferlein
64bb01d80d
Dropped attempt to remove dummy nodes from spice reader netlist as this wasn't effective anyway.
2019-11-24 00:23:19 +01:00
Matthias Koefferlein
ed00503d41
Fixed Spice reader: must not use Netlist::purge_nets to remove dummy nets. Updated golden test data.
2019-11-23 23:36:52 +01:00
Matthias Koefferlein
aa28aa807a
Unit tests fixed and a bugfix in the netlist compare
...
One unit test was failing because the netlist compare did not
properly consider dropped pins:
* A severe bug ("g1" should be "g2")
* Incomplete detection of dropped pins upwards in the hierarchy
The general pin and net mapping scheme has been enhanced so that
net mapping to "0" is valid (this will happen in case of dropped
pins) and this condition is used to detect pins without match
requirement.
2019-11-23 22:04:25 +01:00
Matthias Koefferlein
1309aa59cb
Merge branch 'master' into issue-425
2019-11-23 01:55:28 +01:00
Matthias Koefferlein
7de90ae595
Merge branch 'issue-417'
2019-11-23 01:46:38 +01:00
Matthias Koefferlein
79f4f8bc57
Update unit test for issue-417 branch.
2019-11-23 01:45:56 +01:00
Matthias Koefferlein
d5506a176a
WIP: first implementation - needs testing.
2019-11-23 01:20:22 +01:00
Matthias Koefferlein
2757b22da6
Resolved conflicts for issue-419 merge
2019-11-22 23:34:03 +01:00
Matthias Koefferlein
4fe5a96596
Implemented #426 (feature request: group techs)
...
The tech group is a new XML tag "<group>...</group>".
This tag is editable in the tech "general" page as "Group".
If non-empty, a submenu will be created in the tech selector
menu for all techs with the same group.
2019-11-22 23:23:11 +01:00
Matthias Köfferlein
a792cf4c1e
Merge pull request #424 from KLayout/issue-407
...
Issue 407
2019-11-22 23:12:44 +01:00
Matthias Köfferlein
c5dc7c9fa8
Merge pull request #423 from KLayout/issue-415
...
Fixed #415 (text mode for XML reader and stream writer to avoid macro format confusion)
2019-11-22 23:12:31 +01:00
Matthias Köfferlein
ac7e17ffcb
Merge pull request #422 from KLayout/issue-406
...
Issue 406
2019-11-22 23:12:16 +01:00
Matthias Köfferlein
9200e5037d
Merge pull request #421 from KLayout/issue-417
...
Fixed #417 : look up the net in the parent hierarchy of the net shape …
2019-11-22 23:11:59 +01:00
Matthias Köfferlein
c8cf8122b6
Merge pull request #414 from KLayout/issue-411
...
Issue 411
2019-11-22 23:11:24 +01:00
Matthias Köfferlein
319c73e6c0
Merge pull request #413 from KLayout/issue-408
...
Fixed issue #408 (internal error after EdgePairs#polygon)
2019-11-22 23:11:05 +01:00
Matthias Köfferlein
967e8dc5b1
Merge pull request #412 from KLayout/issue_410
...
Fixed issue #410
2019-11-22 23:10:52 +01:00
Matthias Köfferlein
b6869e4deb
Merge pull request #409 from KLayout/netlist_properties
...
Netlist properties
2019-11-22 23:10:39 +01:00
Matthias Koefferlein
e4596e4971
Fixed #428 (hide edit buttons for user properties in viewer mode)
2019-11-22 22:40:01 +01:00
Matthias Koefferlein
d37a744322
Build issue fixed on Windows.
2019-11-21 22:03:01 +01:00
Matthias Koefferlein
215ce8812b
More consistent handling of Windows/Linux switch in output stream and unit tests.
2019-11-21 21:57:49 +01:00
Matthias Koefferlein
247bfa9ac5
Implemented #407 (variables in technology base path)
...
The implementation uses extrapolation of strings in the
"Expressions" framework.
There is how:
* $(tech_name) -> substituted by the technology name
* $(tech_dir) -> substituted by the directory the technology file is stored in
* $(tech_file) -> substituted by the absolute path to the tech file
* $(appdata_path) -> substituted by KLayout's home directory (e.g. ~/.klayout)
* $(env('X')) -> substituted by the environment variable $X
2019-11-21 21:37:00 +01:00
Matthias Koefferlein
72a3528e55
WIP: implementation of a fix (explicit text mode for XML reader and stream writer)
2019-11-20 23:52:37 +01:00
Matthias Koefferlein
6648b53822
Fixed issue #419 (multiple top circuits after flatten of netlist)
...
The problem is solved by always producing subcircuits for cell
instances, even if there are no connections.
The netlist comparer had to be adjusted too because subcircuits
without pins were used for representing "unknown" subcircuit pairing.
In addition, this patch should lead to a better matching of
parallel subcircuit configurations where two different subcircuits
are entirely parallel.
2019-11-20 21:56:12 +01:00
Matthias Koefferlein
f28b8e60c1
Fixed #417 : look up the net in the parent hierarchy of the net shape clusters to find the net for the flattened netlist.
2019-11-19 23:22:40 +01:00
Matthias Koefferlein
6c7ceb74dc
Enhanced intersections algorithm so that the generated points won't overlay with finite edges from the AND part
2019-11-19 21:19:36 +01:00
Matthias Koefferlein
9af662a512
WIP: try to avoid duplicate intersection points by eliminating those. Problem persists: intersection points may be duplicates of edges arising from AND
2019-11-18 23:14:24 +01:00
Matthias Koefferlein
24759c7174
WIP: first implementation. Testing needed.
2019-11-18 19:14:06 +01:00
Matthias Koefferlein
990961e5f4
Fixed #411 (multiple device extractors for same class)
2019-11-17 23:12:50 +01:00
Matthias Koefferlein
1131532e4f
First implementation, needs testing.
2019-11-17 22:45:36 +01:00
Matthias Koefferlein
68c6941318
Fixed issue #408 (internal error after EdgePairs#polygon)
2019-11-17 22:32:02 +01:00
Matthias Koefferlein
147f2c1168
Fixed issue #410
2019-11-17 22:18:55 +01:00
Matthias Koefferlein
181d5b48e6
Fixed consistent typo: PCell's -> PCells
2019-11-17 21:47:11 +01:00
Matthias Koefferlein
6d8f56194b
Edge enhancements
...
New binding: Edge#d (distance vector), Edge#clipped and Edge#clipped_line.
"intersection_point" returns nil in case of no intersection.
Documentation error fixed (Edge#distance).
2019-11-17 21:30:08 +01:00
Matthias Koefferlein
595075a88a
Let the background ruler's size scale with the font size - otherwise it gets quite small on high-res screens.
2019-11-14 02:07:50 +01:00
Matthias Koefferlein
8dddc4000f
Also write the net properties to GDS or OASIS
...
"build_nets" will now write the net's properties
to the generated net shapes.
This might enable interesting applications.
2019-11-13 23:09:09 +01:00
Matthias Koefferlein
bb3aed5773
Merge branch 'master' of https://github.com/KLayout/klayout into netlist_properties
2019-11-13 00:59:29 +01:00
Matthias Koefferlein
876487edde
Added persistency of the netlist object properties into L2N/LVSDB files
2019-11-13 00:06:29 +01:00
Matthias Koefferlein
d060147713
Enhancements for the netlist object properties
...
- more memory efficient (single pointer only)
- iterator for properties
- NetlistObject#property_keys in GSI
2019-11-12 23:00:49 +01:00
Matthias Koefferlein
6d6ac23f50
Fixed a build issue (const iterator cannot be used in std::map::erase)
2019-11-12 20:55:28 +01:00
Matthias Koefferlein
7309688944
More robustness of snap algorithm for unit tests
2019-11-12 20:13:35 +01:00
Matthias Koefferlein
6b5c951088
Fixed string unit test on MinGW 32bit
2019-11-12 19:11:21 +01:00
Matthias Koefferlein
3bf45f3638
Fixed MSVC build error.
2019-11-11 23:23:47 +01:00
Matthias Koefferlein
86e041cd51
Updated test data.
2019-11-11 23:03:40 +01:00
Matthias Koefferlein
b7094affa4
Fixed a dummy error message on Windows/Python 3.7 and really ignore
2019-11-11 21:53:19 +01:00
Matthias Koefferlein
47efb9d11b
WIP: fixed compiler warning
2019-11-11 07:08:37 +01:00
Matthias Koefferlein
0ce06125ca
Introducing netlist object properties.
2019-11-11 07:02:02 +01:00
Matthias Koefferlein
b220374bd1
Fixed gcc builds with stdc++0x (math.h issue)
2019-11-10 01:30:45 +01:00
Matthias Koefferlein
817bbf81f1
Fixed gcc builds with stdc++0x (M_PI no longer available)
2019-11-09 23:20:43 +01:00
Matthias Koefferlein
994c8b8484
Removed superfluous file from lay.pro.
2019-11-09 16:53:17 +01:00
Matthias Koefferlein
4a212e8db6
Added tests for Region#scale_and_snap and Region#snap
2019-11-07 23:33:54 +01:00
Matthias Koefferlein
988b1e563f
Added unit test for DeepRegion::snap
2019-11-07 23:11:34 +01:00
Matthias Koefferlein
318efbf7b0
Fixed 'scale_and_snap' feature
2019-11-07 22:54:16 +01:00
Matthias Koefferlein
4924d0269c
Fixed #400 , added tests.
2019-11-06 23:28:16 +01:00
Matthias Koefferlein
1e2a8b264d
WIP: because the fixed scheme works nicely, add a new scale_and_snap function.
2019-11-06 01:11:40 +01:00
Matthias Koefferlein
895206dfa1
WIP: bugfix in case of clip variants.
2019-11-06 01:11:40 +01:00
Matthias Koefferlein
51676376e6
WIP: Variant building bug fixed. Needs testing.
2019-11-06 01:11:40 +01:00
Matthias Köfferlein
990f01adec
Merge pull request #398 from KLayout/issue-393
...
Issue 393
2019-11-06 01:01:48 +01:00
Matthias Köfferlein
3476e40e79
Merge pull request #397 from KLayout/issue-394
...
Issue 394
2019-11-06 01:01:36 +01:00
Matthias Köfferlein
65b0752c5c
Merge pull request #396 from KLayout/issue-387
...
Implemented issue-387 (python version in grain.xml)
2019-11-06 01:01:23 +01:00
Matthias Köfferlein
9fffd03ad3
Merge pull request #390 from KLayout/issue-382
...
Implemented #382 : text editor view for user props
2019-11-06 01:01:09 +01:00
Matthias Köfferlein
b920e057a3
Merge pull request #389 from KLayout/issue-386
...
Fixed issue #386 by mapping 'None' to 'None_' in Python
2019-11-06 01:00:58 +01:00
Matthias Köfferlein
6e02f1f93e
Merge pull request #388 from KLayout/issue-368
...
Implemented #368 : no segfault but exception if accessing invalid laye…
2019-11-06 01:00:47 +01:00
Matthias Köfferlein
a351bc8085
Merge pull request #385 from KLayout/dvb
...
Dvb
2019-11-06 01:00:33 +01:00
Matthias Koefferlein
fe9e808d61
Fixed implementation: cannot change definition of tl::Extractor::read_word and need a new method to read a word.
2019-11-03 21:50:47 +01:00
Matthias Koefferlein
41ab2d6d79
Enhanced #387 fix with pseudo-features
...
To restrict the requirements to a specific Python, Ruby or Qt
major version it's now possible to use "python2", "python3", "ruby1",
"ruby2", "qt4" and "qt5" features.
Like this:
<api-version>python2 2.7</api-version>
will require python >=2.7.0, but Python 3 is not allowed.
2019-11-03 19:36:10 +01:00
Matthias Koefferlein
4f49447fe8
Fixed #393 (properly show DRC syntax errors)
2019-11-03 19:01:46 +01:00
Matthias Koefferlein
078aa36974
Issue #394 fixed: at least the toolbox layout should be fixed now
2019-11-03 18:16:26 +01:00
Matthias Koefferlein
5ba657b790
Implemented #394 : now there is 'XLarge', 'XXLarge' and 'XXXLarge' for default fonts as well.
2019-11-03 17:34:25 +01:00
Matthias Koefferlein
5a288b7224
WIP: trying to use Libration Mono from Ubuntu 16.04
2019-11-03 16:29:26 +00:00
Matthias Koefferlein
37e402e9bd
WIP: new fixed font bitmaps - needs improvement
2019-11-03 17:22:57 +01:00
Matthias Koefferlein
50e8f334d1
Implemented issue-387 (python version in grain.xml)
...
The solution is to extend the api-version field.
"0.26.1" is KLayout API >= 0.26.1
"ruby" means: Ruby required
"python 2.6.0" means: Python required with at least 2.6.0
"0.26.1; ruby; python 2.6.0" means: all of this together
In addition, the version has been set to 0.26.1 now.
2019-11-03 02:12:05 +01:00
Matthias Koefferlein
861a6fdfcc
Fixed a typo in the DRC documentation.
2019-11-02 22:35:19 +01:00
Matthias Koefferlein
7910ddc6a3
Fixed a compiler warning, testcase update (part 1)
2019-11-02 20:39:59 +01:00
Matthias Koefferlein
cd353219ce
Implemented #382 : text editor view for user props
...
This view is an alternative view to the table and
allows copy/paste and faster editing.
2019-11-02 12:36:02 +01:00
klayoutmatthias
627b248f7e
Enhanced compatibility between platforms (problem was: order of execution of argument expressions)
2019-11-02 01:26:37 +01:00
Matthias Koefferlein
9e4bd31010
Fixed issue #386 by mapping 'None' to 'None_' in Python
2019-11-01 17:53:31 +01:00
Matthias Koefferlein
e95ced6d7a
Implemented #368 : no segfault but exception if accessing invalid layer iterator
2019-11-01 17:36:08 +01:00
Matthias Köfferlein
f2fafd1bad
Merge pull request #371 from KLayout/pull_feature
...
Pull feature
2019-10-31 23:51:21 +01:00
Matthias Koefferlein
679aecd11f
Removed debug output.
2019-10-31 00:51:54 +01:00
Matthias Koefferlein
73556d6edc
Netlist compare issue fixed
...
In tentative mode, node equivalence shall not be assumed
if the nodes have edges which don't appear in the other node.
2019-10-30 23:55:08 +01:00
Matthias Koefferlein
3cc38fcfc2
Solved ambiguous bus resolution problem.
2019-10-29 23:26:17 +01:00
Matthias Koefferlein
15fa99c128
WIP: bugfix ambiguous bus-like pins and net compare.
2019-10-29 22:53:37 +01:00
Matthias Köfferlein
262f2b87ad
Merge pull request #380 from rizoschrist-prime/issue-376
...
Fixed #376 - PCell callbacks invoked on value change
2019-10-27 20:11:23 +01:00
Matthias Koefferlein
e25d4784ea
Updated tests.
2019-10-26 01:48:50 +02:00
Matthias Koefferlein
373a3db1ec
WIP: netlist comparer - increase default depth and added test
...
The test is specific for symmetric circuits with manifold
symmetry axes.
2019-10-24 23:58:30 +02:00
Matthias Koefferlein
ac479c30bc
Fixed unit tests.
2019-10-24 00:23:03 +02:00
Matthias Koefferlein
3a8d5d9779
Removed debug code.
2019-10-23 23:49:38 +02:00
Matthias Koefferlein
4ce37160d5
Two bug fixes in net compare (tests required):
...
- name compare of net names wasn't always case insensitive
- tentative evaluation was sometimes continued even after
a contradiction was detected because the return codes
of different edge examinations were not combined correctly.
2019-10-23 23:46:25 +02:00
Matthias Koefferlein
36ee1efe16
WIP: speedup LVS 'align' by flattening top-down
2019-10-21 22:14:36 +02:00
Matthias Koefferlein
f0635589f7
WIP: fixed cell cluster interaction cache.
2019-10-20 23:27:15 +02:00
Matthias Koefferlein
a0544e7807
WIP: caching of cell interactions in net cluster builder for speedup - test data needs update!
2019-10-19 21:44:29 +02:00
Matthias Koefferlein
bf18000877
Added tests (breakout cells, LVS cheats)
2019-10-18 00:25:51 +02:00
Matthias Koefferlein
611f62e73f
Removed debug leftover code
2019-10-17 22:47:43 +02:00
Matthias Koefferlein
cd4516393b
WIP: bugfix (breakout cell handling) and performance
...
1.) Bugfix: breakout cells also need to be handled
when diving down inside the hier cluster builder
2.) Performance: cache cell interactions
2019-10-17 01:54:41 +02:00
Matthias Koefferlein
9e1c8b44c7
Introducing cheats for LVS/device extraction/booleans
2019-10-16 18:59:38 +02:00
Matthias Koefferlein
a3b2e3a154
Bugfix for glob pattern with empty alternative.
2019-10-16 01:10:08 +02:00
Matthias Koefferlein
991778f718
"breakout cells": attempt to provide a solution for SRAM
...
Breakout cells can be specified to shortcut hierarchy
evaluation for some cells. This allows treating SRAM cells
as isolated entities - specifically when it comes to extracting
devices.
2019-10-16 00:49:41 +02:00
Matthias Koefferlein
5c44a54676
Bugfix: don't try to extract netlist on errors
2019-10-16 00:49:33 +02:00
Christos Rizos
d8e7d29e98
Fixed #376 - PCell callbacks invoked on value change
2019-10-14 11:40:28 +03:00
Matthias Koefferlein
67526c7f4e
Fixed #372 (build issue with 64 bit coordinates)
2019-10-05 20:06:30 +00:00
Matthias Koefferlein
f8476bdf26
Fixed an issue with 'align' in LVS scripts - with multiple layout cells assigned to one schematic, align won't give the right results.
2019-10-05 09:30:38 +02:00
Matthias Koefferlein
2325e1bce4
Merge branch 'dvb' into pull_feature
2019-10-04 22:58:52 +02:00
Matthias Koefferlein
ef56264f64
Fixed a regular arrays issue with begin_touching
...
In case of 1d arrays with a or b == (0,0), the iterator
was always delivering all items, not just the touching ones.
2019-10-04 22:45:23 +02:00
Matthias Koefferlein
2fa7c4b6d4
Partially enabled progress for hierarchical processor.
2019-10-04 01:48:45 +02:00
Matthias Koefferlein
212bd86aab
Thread safetiness: enable multiple threads for deep region operations
2019-10-04 01:39:16 +02:00
Matthias Koefferlein
7c5ae471ab
WIP: performance improvement of hier local processor
...
The solution is to take intruder instances from as
far as possible in the hierarchy. This provides a
performance improvement in some cases, specifically
if this leads to compression of contexts.
2019-10-03 22:53:38 +02:00
Matthias Koefferlein
5ed41cc345
Merge branch 'master' into pull_feature
2019-10-03 14:32:25 +02:00
Matthias Köfferlein
a072822461
Merge pull request #367 from KLayout/pcb-l2n
...
Enabled net tracing for heavily decomposed polygons
2019-10-03 14:31:36 +02:00
Matthias Koefferlein
e1d77a1476
pull_interacting for edges/edges and edges/regions, some enhancements and bug fixes
...
Bug fixes:
- use dist 1 to cover touching case properly in local processor
- handling of raw mode and is_merged state
Additional tests
2019-10-03 13:08:37 +02:00
Matthias Koefferlein
76b8bd3279
Fixed several issues with raw mode/merged semantics and many Region and Edges methods. Added edge/edge pull and edge/polygon pull.
2019-10-03 01:46:49 +02:00
Matthias Koefferlein
77c8ff50ed
WIP: don't fallback to flat in case of non-deep other arguments in select_interacting and pull.
2019-10-02 00:12:04 +02:00
Matthias Koefferlein
a1e87d4c14
First pull* implementation functional.
2019-10-01 23:53:05 +02:00
Matthias Koefferlein
74880a5198
First implementation of pull* methods
2019-10-01 22:06:16 +02:00
Matthias Koefferlein
ca747771ac
Allow preempt LVS configuration
...
same_nets, equivalent_pins, same_circuits and same_device_classes
can now be given at the beginning of the LVS script. This will
simplify building universal scripts with the run specific part at
the beginning (one "load" section).
The price are somewhat less specific error messages when something
fails in these methods.
2019-10-01 00:21:27 +02:00
Matthias Koefferlein
0bc2321ade
Some code cleanup.
2019-09-30 23:17:42 +02:00
Matthias Koefferlein
a3cecb2ebe
WIP: enable multiple layout versions of one schematic circuit using 'same_circuit'
2019-09-30 23:08:15 +02:00
Matthias Koefferlein
bdf5e3c124
WIP: fake pin debug issue with LVS
...
Fake pins: pins that happen because something connects to a cell at an
unexpected position. Such a pin is difficult to find. The solution is
to keep those nets and nur purge them so these nets can be identified
in the layout.
Here: is_floating? will be true only if there are no pins. Hence
nets with pins are not removed. is_passive is introduced for nets -
passive nets are such that don't have elements, but a pin.
Circuits are purged if they only have passive nets.
2019-09-30 21:58:13 +02:00
Matthias Koefferlein
506cfc1c6f
WIP: attempt to retain nets which don't have active elements but pins. This is supposed to simplify debugging in case of fake pins. When removing those nets, the pin is very difficult to find.
2019-09-30 20:58:55 +02:00
Matthias Köfferlein
1c16cea421
Merge pull request #364 from KLayout/issue-363
...
Fixed #363 (able to draw invalid polygon with two points)
2019-09-29 21:26:58 +02:00
Matthias Koefferlein
eda5a2497e
Fixed #363 (able to draw invalid polygon with two points)
2019-09-23 00:56:09 +02:00
Matthias Koefferlein
d69c60a5c5
Enabled net tracing for heavily decomposed polygons
2019-09-19 00:13:14 +02:00
Matthias Koefferlein
6c52daa3a3
Follow-up on #353 (sessions paths relative to session file)
...
Consistent behavior for file paths for images too.
Plus: image paths are not kept as absolute paths
inside the session.
This makes regeneration of images stable.
2019-09-18 22:05:37 +02:00
Matthias Köfferlein
9edb9d61ab
Merge pull request #361 from KLayout/issue-358
...
Fixed #358 (strm2oas was producing GDS)
2019-09-18 21:17:48 +02:00
Matthias Koefferlein
9c301f9744
Fixed Ruby-less builds.
2019-09-18 00:50:21 +02:00
Matthias Koefferlein
a50fadffcd
Fixed #358 (strm2oas was producing GDS)
2019-09-17 23:10:41 +02:00
Matthias Köfferlein
6a305cfbbf
Merge pull request #356 from KLayout/issue-353
...
Fixed #353 (paths relative to .lys file for rdb-file)
2019-09-16 23:36:17 +02:00
Matthias Köfferlein
f5ce24066e
Merge pull request #357 from KLayout/issue-352
...
Fixed #352 (LVS should ignore equivalent_pins line for non-existing c…
2019-09-16 23:36:02 +02:00
Matthias Koefferlein
55475e905f
Fixed #352 (LVS should ignore equivalent_pins line for non-existing circuits)
...
Same is true now for same_nets and same_circuits.
2019-09-15 00:18:29 +02:00
Matthias Koefferlein
b747bbabd9
Fixed #353 (paths relative to .lys file for rdb-file)
...
This fix also includes: L2N and LVS DB files are now also
included in the sessions.
2019-09-14 22:38:23 +02:00
Matthias Koefferlein
08aacbd2e8
Provide tests to text buddy executables without framework
2019-09-13 23:46:12 +02:00
Matthias Koefferlein
4c8727182e
Fixed #354 by using the proper initialization
2019-09-13 18:54:31 +02:00
Matthias Koefferlein
ddbf566cd5
Updated DRC documentation (deep mode)
2019-09-09 21:47:27 +02:00
Matthias Koefferlein
5bcb2bb5cb
Merge branch 'master' into dvb
2019-09-08 23:42:56 +02:00
Matthias Koefferlein
9d921e29fe
Fixed Windows build.
2019-09-08 23:40:34 +02:00
Matthias Koefferlein
6eb049eecc
Merge branch 'master' into dvb
2019-09-08 21:48:42 +02:00
Matthias Koefferlein
48a13162d8
Fixed build on MSVC
2019-09-08 21:45:34 +02:00
Matthias Koefferlein
56084b6b59
Merge branch 'dvb'
2019-09-08 20:07:16 +02:00
Matthias Köfferlein
77232f8a50
Merge pull request #349 from KLayout/deep-booleans
...
Deep booleans
2019-09-08 20:06:03 +02:00
Matthias Koefferlein
a7b3f1dfcd
Added documentation for dockable bookmarks feature
2019-09-08 20:01:22 +02:00
Matthias Koefferlein
d9d3b3cafe
Some enhancements to #343 fix
...
- "follow selection": allows navigating between the bookmarks
with the cursor keys
- "manage bookmarks" now starts with the selected bookmarks
also selected.
2019-09-08 02:23:38 +02:00
Matthias Koefferlein
d2d22eafb5
Implementation of #343 (dockable bookmark window)
...
Here is the proposal:
- There is a new panel similar to the layer list showing the
bookmarks. It can be shown using View/Bookmarks.
Initially this panel is hidden.
- Double-clicking on an item in this bookmark list will
navigate to the bookmark.
- Context menu entries of this panel are: manage, load and
save bookmarks (like in main menu)
In addition, "bookmark this view" now proposes a bookmark name
make of "B" and a unique number.
2019-09-08 01:22:34 +02:00
Matthias Koefferlein
8a21d9718e
First implementation
2019-09-08 01:11:19 +02:00
Matthias Koefferlein
c95a0652cc
First implementation of deep mode for XOR tool.
2019-09-07 22:30:10 +02:00
Matthias Koefferlein
26f8fc5c83
Bug fixed strmxor with deep mode, added tests.
2019-09-07 21:27:12 +02:00
Matthias Koefferlein
ce5620e0bc
Follow-up on #342 : fixed unit tests.
2019-09-07 09:11:18 +02:00
Matthias Koefferlein
f7bba9200e
Merge branch 'deep-booleans'
2019-09-07 08:44:51 +02:00
Matthias Köfferlein
f7173d0da4
Merge pull request #345 from KLayout/issue-317
...
Issue 317
2019-09-06 23:24:34 +02:00
Matthias Köfferlein
0388d51f6d
Merge pull request #348 from KLayout/help-link-not-working
...
Fixed: help link not working
2019-09-06 23:24:23 +02:00
Matthias Koefferlein
e2cc0c48b1
Provide flat and hierarchical 'trace all nets' feature, added Netlist#flatten.
2019-09-06 23:13:21 +02:00
Matthias Koefferlein
67575a7ea2
WIP: strmxor.cc - deep mode implemented. Not tested.
2019-09-06 22:18:13 +02:00
Matthias Koefferlein
8df2199838
Fixed: help link not working
...
The help link wasn't working for File/Setup/Rulers/Templates
("here"). Also: if clicked from the model "Ruler and annotations setup"
the link was working but the help window wasn't usable. The modal
setup dialog was hiding the help window.
2019-09-05 22:59:08 +02:00
Matthias Koefferlein
fa72885020
issue #317 : provide undo combination for the paste+move sequence in 'interactive paste'. Same for 'interactive dup'
2019-09-04 23:47:05 +02:00
Matthias Koefferlein
70a4ce82b3
First implementation of infix mode
...
Three mode menu items appear in "Targets for Key Binding"
in the setup dialog and can be bound to a key.
"Move Interactive" will immediately start moving the
selection.
"Paste Interactive" and "Duplicate Interactive" will
paste and then immediately start moving.
Remaining issue: when Paste or Duplicate moves are
cancelled the pasted objects will still be there and
at the original location. So they are may be hard to
see. Also with Undo, two undo items are there: Paste
and Move.
2019-09-03 22:53:32 +02:00
Matthias Koefferlein
50573edad0
Added Ellipse Outline code, fixed doc.
2019-09-03 20:26:22 +02:00
Matthias Koefferlein
25e2151e28
Tiny enhancement of measurement algorithm gives more reliable results on auto-measure for 'any direction'. The solution is taking vertexes into account and accepts them as counterpart for the seed.
2019-09-02 22:58:42 +02:00
Matthias Koefferlein
2e695bd048
Leaner solution: provide snap and swap
...
"Swap points": will swap P1 and P2
"Snap both": will take P2 into account (before it was only P1)
2019-09-01 23:14:21 +02:00
Matthias Koefferlein
9fa5277e41
Implementation proposal
...
The solution tries to be a bit more generic:
- four buttons are there to synchronize coordinates
- three buttons to snap p1, p2 and auto-measure from p1.
2019-09-01 19:59:03 +02:00
Matthias Koefferlein
c7ee35a4e3
WIP: documentation
2019-09-01 17:37:23 +02:00
Matthias Koefferlein
1106d3faac
Merge branch 'dvb'
2019-09-01 11:25:42 +02:00
Matthias Köfferlein
57cee7921a
Merge pull request #339 from KLayout/issue-337
...
Fixed #337 (cross style missing in Annotation class)
2019-08-30 14:02:04 +02:00
Matthias Köfferlein
16fd8741a5
Merge pull request #340 from KLayout/issue-338
...
Fixed #338 (broken doc)
2019-08-30 14:01:52 +02:00
Matthias Köfferlein
fde4fd42f9
Merge pull request #336 from KLayout/multiple-files-on-import
...
Stream import: support multiple files
2019-08-30 14:01:38 +02:00
Matthias Koefferlein
b9886e472a
Fixed #338 (broken doc)
2019-08-30 13:34:19 +02:00
Matthias Koefferlein
d767ef27c7
Fixed #337 (cross style missing in Annotation class)
2019-08-30 13:25:15 +02:00
Matthias Koefferlein
5cfadad54f
Updated test data.
2019-08-30 11:01:00 +02:00
Matthias Koefferlein
2a8f4c9610
Updated test data.
2019-08-30 10:52:51 +02:00
Matthias Koefferlein
550e2622bf
Put more amphasis on net names to resolve ambiguities
...
The problem was that with the floating test case, the
ambiguity resolution sometimes assigned the wrong pins
and floating pins/connected pins were swapped.
One option is to make the ambiguity resolver consider
the pin connection state when tenatively evaluating
nodes.
Another option is to put more emphasis on net names
and use them for ambiguity resolution. This has helped
here.
2019-08-30 10:24:55 +02:00
Matthias Koefferlein
60ed0cdc89
Updated test golden data (mainly: nets are not purged when there is a subcircuit pin on it)
2019-08-29 23:26:03 +02:00
Matthias Koefferlein
b1acfe9587
Tried a better deal with floating pins
...
1.) is_floating is now only true if there is no device
and no subcircuit on a net. This means we only purge
nets if they are really floating. So far we purged
nets without pins which lead to the mismatch:
Before purge:
Layout: (net) <--> DEVICE.TERMINAL
Schematic: PIN <--> DEVICE.TERMINAL
After purge:
Layout: (null) <--> DEVICE.TERMINAL
Schematic: PIN <--> DEVICE.TERMINAL
(null does not match any net)
2.) circuit pin matching was a bit picky. Only when
one circuit did not have pins, matching was sloppy.
In real cases however, circuits may have unconnected
pins:
- top level pins without a counterpart (no label)
- subcircuits pins which are not used
We catch both cases by refining the match: if a pin
is not used, it does not need to match against
any other pin. It's reported as "matching against null"
though.
2019-08-29 22:25:59 +02:00
Matthias Koefferlein
9a69d106fd
Fixed some small issues in the netlist compare
2019-08-29 00:19:24 +02:00
Matthias Koefferlein
f6492c80c5
Stream import: support multiple files
...
Multiple files can now be selected for "File/Import/Other Files into current".
NOTE: performance for many files may not be excellent
due to re-sorting of hierarchy and bounding box re-computation.
2019-08-26 22:28:35 +02:00
Matthias Koefferlein
de64f61903
Fixed issue #333 (automation of auto-measure rulers)
2019-08-26 21:34:57 +02:00
Matthias Koefferlein
3a12714593
Fixed some doc issues, added doc for hierarchical compare.
2019-08-26 18:55:35 +02:00
Matthias Köfferlein
cb541f935e
Merge pull request #332 from KLayout/gridline-colors
...
Implemented individual colors for grid lines, axes and rulers (backgr…
2019-08-26 00:19:32 +02:00
Matthias Koefferlein
db9ea27324
Re-run feature for DRC too.
2019-08-25 23:47:55 +02:00
Matthias Koefferlein
441f946f43
WIP: LVS rerun feature
2019-08-25 21:55:48 +02:00
Matthias Koefferlein
515b68b76f
WIP: provide a recipe registration facility for LVS rerun
2019-08-25 18:03:27 +02:00
Matthias Koefferlein
444e10d32f
WIP: rerun LVS, partial LVS
...
Rerun LVS: a button is provided which allows re-running
the LVS or netlist extraction from the netlist browser.
TODO: a generic concept for triggering the generators
"Partial LVS" is a feature where it's possible to
select a layout subcell - running LVS then will only
compare against the corresponding schematic subcell, not
the whole tree. The magic is done by "align" which will
remove the upper hierarchy part.
2019-08-24 22:56:20 +02:00
Matthias Koefferlein
c543fe7a44
Added test for floating device terminals.
2019-08-24 19:42:00 +02:00
Matthias Koefferlein
a9a2cb69c8
Avoiding one assertion by not considering floating device terminals
2019-08-24 09:58:08 +02:00
Matthias Koefferlein
1b6e42d70a
Fixed a segfault in the LVS result browser.
2019-08-24 08:53:19 +02:00
Matthias Koefferlein
3a93bc2162
Added test for mixed-hierarchy LVS case.
2019-08-24 00:13:38 +02:00
Matthias Koefferlein
3ae848bff4
Provide test case for spice reader with delegate for devices as subcircuits. Small bugfix in spice reader: wrong line number in warning.
2019-08-23 23:13:04 +02:00
Matthias Koefferlein
850e288a28
Implemented individual colors for grid lines, axes and rulers (background configuration page)
2019-08-23 22:31:01 +02:00
Matthias Koefferlein
b0aa9b6540
Spice reader test compatible with Windows (three-digit exponential)
2019-08-21 23:03:24 +02:00
Matthias Koefferlein
bceccd7ac0
Fixed issue #330
2019-08-21 00:38:57 +02:00
Matthias Koefferlein
6f2d29d05b
Fixed a segfault when running a PCell definition macro (segfault happened in update of library view because the library was gone). Fixed a dialog title.
2019-08-20 23:38:48 +02:00
Matthias Koefferlein
908ddbfb5b
Merge branch 'library-browser'
2019-08-20 23:14:37 +02:00
Matthias Koefferlein
45cdefcf9a
Provide strict mode for device classes, dmos3/dmos4 for LVS
2019-08-20 23:12:17 +02:00
Matthias Koefferlein
50a341232c
Documentation fixes (e.g. better LVS layout pictures)
2019-08-20 19:17:56 +02:00
Matthias Koefferlein
b7c83eaaa6
Spice reader: subcircuits w/o pins
...
This happens for subcircuits which only
connect to global nets.
Plus: ".global" now accepts more than just one net
2019-08-19 23:00:24 +02:00
Matthias Koefferlein
1bc03c3b79
Implement "M" parameter for Spice
...
This implementation is pretty simplistic and
applies "M" the following way:
* R: R(final) = R/M
* L: L(final) = L/M
* C: C(final) = C*M
* M: W(final) = W*M
* D: A(final) = A*M
* Q: AE(final) = AE*M
The other parameters (specifically the other
geometry parameters) are not scaled yet.
2019-08-19 22:51:22 +02:00
Matthias Koefferlein
207e44837c
LVS: allow missing device classes in reference schematic
...
Reasoning: some devices may simply not be used in the
reference schematic.
2019-08-19 22:26:50 +02:00
Matthias Koefferlein
fa4da4ba0b
Doc typo fixed.
2019-08-19 21:58:32 +02:00
Matthias Koefferlein
24b985f32e
Better .include for Spice reader
...
* .inc is allowed as synonym
* Paths can be URL's (with HTTP)
* Relative resolution of paths/URL's vs. parent of .include
2019-08-19 21:45:40 +02:00
Matthias Koefferlein
9fecc4b674
Merge branch 'dvb'
2019-08-19 21:06:37 +02:00
Matthias Köfferlein
15f45fb09d
Merge pull request #327 from KLayout/query-performance-fix
...
Fix for layout query performance improvement: needs to check for qual…
2019-08-19 19:37:15 +02:00
Matthias Koefferlein
fe4396d872
Merge branch 'issue-306'
2019-08-19 00:03:39 +02:00
Matthias Koefferlein
e148898d4c
Fixed an issue with drawing canvas and undo
...
When a "create instance" operation with a library cell
was undone the following issue could be seen: as the library
cell might create new layers in the target layout, these
needed to be undone when the operation was reverted.
But then the canvas bit planes got messed up because the
"LayoutView::set_view_ops" call was missing. Now this
happens inside the manipulation functions for deleting
and inserting layers. This should also reduce the
necessity to call LayoutView::update_content explicitly.
2019-08-18 23:56:00 +02:00
Matthias Koefferlein
e9eed3842b
Fix for layout query performance improvement: needs to check for qualified cell name (with lib), not pure cellname
2019-08-18 19:09:07 +02:00
Matthias Köfferlein
c75a1bc2eb
Merge pull request #313 from KLayout/query-performance
...
Query performance
2019-08-18 17:31:17 +02:00
Matthias Köfferlein
16ae0346b8
Merge pull request #314 from KLayout/vars-for-queries
...
Vars for queries
2019-08-18 17:31:11 +02:00
Matthias Köfferlein
bf41da69da
Merge pull request #315 from KLayout/lib-browser
...
Lib browser
2019-08-18 17:31:02 +02:00
Matthias Köfferlein
46128e4141
Merge pull request #319 from KLayout/issue-316
...
Fixed issue #316 (Text capture box has zero dimension for move)
2019-08-18 17:30:54 +02:00
Matthias Köfferlein
46d2fef0fa
Merge pull request #323 from KLayout/issue-321
...
Fixed issue #321
2019-08-18 17:30:47 +02:00
Matthias Köfferlein
757855cb9c
Merge pull request #324 from KLayout/issue-322
...
Fixed issue #322 by skipping used layer indexes - will also help with…
2019-08-18 17:30:39 +02:00
Matthias Koefferlein
2cc6909d2c
Second fix for issue #306 (round function problem)
...
This fix adds a "amend" option to the rounded corners
dialog - disabling this option allows to skip the "undo rounding"
step in case the algorithm does not determine the rounding
properties of the input properly.
Without "amend" enabled, the rounding will always be
applied atop of any existing rounding.
2019-08-18 17:25:28 +02:00
Matthias Koefferlein
8981ed434a
First fix for issue-306: some polygons are not recognized as rounded, more robust radius extraction.
2019-08-17 23:55:49 +02:00
Matthias Koefferlein
9c3f70342b
key bindings and menu items visibility string packing/unpacking for scripts
...
New convenience functions are provided which simplify
manipulation of key bindings and menu item visibility
configuration strings. AbstractMenu#pack_key_binding
and AbstractMenu#unpack_key_binding turn a path/key
map into a single string and back. The string format
is the same than for the key-binding configuration key.
The same is provided for the menu item visibilily
with AbstractMenu#pack_menu_item_visible and
Abstract#unpack_menu_item_visible.
2019-08-17 19:54:18 +02:00
Matthias Koefferlein
7b163728ab
Added UI comment
2019-08-17 19:23:14 +02:00
Matthias Koefferlein
4659569333
Primary fix issue #318 (unable to remove key binding)
...
For a backward compatible solution, a key binding
target of '' still means "take default". For
"nothing", a new pseudo-key "none" was defined.
For scripting, this value is available as
constant "Action#NoShortCut".
2019-08-17 19:17:40 +02:00
Matthias Koefferlein
aa72d03526
Fixed issue #322 by skipping used layer indexes - will also help with DXF and other named-layer formats
2019-08-17 15:30:47 +02:00
Matthias Koefferlein
06a1cafdf4
Fixed issue #321
...
This is a small paradigm shift in the configuration hierarchy:
plugins (as children of root) now inherit the configuration
from the parent - now only through configure, but also through
config_get (pull with config_get vs. push with configure).
TODO: both methods are not entirely consistent as configure
can block propagation of configuration settings. But that's a
feature hardly used anyway and rather an optimization thing.
2019-08-17 14:54:48 +02:00
Matthias Koefferlein
19e3d6eab0
Fixed issue #316 (Text capture box has zero dimension for move)
2019-08-04 23:45:46 +02:00
Matthias Koefferlein
25aa54eebf
Updated doc for library view
2019-08-04 01:54:16 +02:00
Matthias Koefferlein
7c0dd07d42
WIP: lib browser - cleanup and small bug fixes.
2019-08-04 00:49:08 +02:00
Matthias Koefferlein
a104352a93
WIP: library browser - cleanup of unused cells in lib browser, some bug fixed, enhancements to parameter editor on drop
2019-08-04 00:08:39 +02:00
Matthias Koefferlein
ed2cdc6c7e
WIP: lib browser - open properties dialog after dropping PCell. TODO: needs to be modal with cancel option
2019-08-03 01:03:59 +02:00
Matthias Koefferlein
9daf63403a
WIP: lib-browser - icons for lib cells.
2019-08-03 00:45:42 +02:00
Matthias Koefferlein
5ec06b9f24
WIP: library browser - show BASIC PCell variants with more parameters so they can be told apart.
2019-08-03 00:17:02 +02:00
Matthias Koefferlein
741434dc13
WIP: library browser - take selected layer for default if there is no default layer
2019-08-02 23:40:54 +02:00
Matthias Koefferlein
de9db84ac7
WIP: library browser - drag & drop of PCell instances
2019-08-02 22:49:55 +02:00
Matthias Koefferlein
56bf9dd8d5
WIP: lib browser - persistence of tree state during update
2019-08-02 21:46:15 +02:00
Matthias Koefferlein
fda5d86b4b
Performance enhancement of netlist compare (avoid O(2) loop)
2019-08-02 01:39:07 +02:00
Matthias Koefferlein
67944240b2
WIP: lib browser, drag and drop partially works
2019-08-02 00:53:24 +02:00
Matthias Koefferlein
a567002e6c
Search feature for library browser plus two bugfixes
...
Bugfixes:
1.) A crash due to wrong key_event_handler pointer
(relevant for hierarchy view)
2.) When switching cellview the focus wasn't changed
and selection stayed in old cellview
2019-08-01 23:15:07 +02:00
Matthias Koefferlein
4428ef808b
WIP: library browser - PCell variants as children of PCells
2019-08-01 22:52:20 +02:00
Matthias Koefferlein
0c18171e63
WIP: library browser - basic setup. Not much functionality yet.
2019-07-31 23:46:48 +02:00
Matthias Koefferlein
5faf762571
WIP: libraries view - basic skeleton
2019-07-30 23:22:26 +02:00
Matthias Koefferlein
dfd713016b
Added some unit tests for performance improvement of queries.
2019-07-29 22:36:39 +02:00
Matthias Koefferlein
0dcfeabaf4
Query performance improvement for the cell tree recursion case by introducing optimization hints ('filter state objectives')
2019-07-29 22:27:36 +02:00
Matthias Koefferlein
e329f60257
WIP: attempt to improve performance by using name match shortcuts
2019-07-28 19:05:25 +02:00
Matthias Koefferlein
e33c2f7b66
Less dependencies on compiler details for RBA/pya tests.
2019-07-28 16:36:31 +02:00
Matthias Koefferlein
49c1bacb98
Introducing variables for layout queries:
...
1.) The ExpressionContext class is a mapping of tl::Eval
and allows providing a variable context for the LQ.
Expression class is derived from ExpressionContext now.
2.) The variable lookup has been changed so that variables
can be modified even if they come from a parent context.
3.) LayoutQuery and iterator has been given an argument to
supply the context
2019-07-28 01:33:30 +02:00
Matthias Köfferlein
9a324727d2
Merge pull request #312 from KLayout/dvb
...
Dvb
2019-07-27 22:32:59 +02:00
Matthias Koefferlein
71f646c24f
WIP: updated test data for latest updates, don't sort LVSDB on reading for consistency
2019-07-27 21:42:51 +02:00
Matthias Koefferlein
169cc5246d
WIP: updated golden data for new device sorting in cross reference.
2019-07-27 20:37:41 +02:00
Matthias Koefferlein
2993a6411a
WIP: some enhancements to cross reference and browser
...
Devices: try to pair unmatching ones similar to subcircuits
Don't sort devices by the device name but by class name
Show the device parameters for netlist devices (same as
for netlist browser)
2019-07-27 20:21:13 +02:00
Matthias Koefferlein
2e034c2172
Bugfix: net names need HTML escaping.
2019-07-27 00:53:21 +02:00
Matthias Koefferlein
b4fa4b1bae
Flattening of layout with circuit flattening.
...
Technically, the layout isn't flattened, but connections are made
which allow regenerating the layout even after the circuit
has been flattened.
2019-07-27 00:37:22 +02:00
Matthias Koefferlein
4f9208577b
Added option to configure capture range.
2019-07-25 00:06:50 +02:00
Matthias Koefferlein
19b6347f3f
Reproducible layer order for different ruby versions.
2019-07-24 20:50:28 +02:00
Matthias Koefferlein
9cad9ca024
Fixed missing initialization of device_scaling in LayoutToNetlist.
2019-07-24 20:49:56 +02:00
Matthias Koefferlein
afb5cea576
Added "device_scaling" to LVS
...
Plus: added some missing files
Implementation details:
* scaling factor was introduced in DeviceExtractor::extract
* for easy implementation this is available in "sdbu"
* "sdbu" is made available in GSI
* to test this, the db::compare_netlist had to be enhanced to
exactly check device parameters
* enhancement of LVS script framework and doc updates
2019-07-24 00:16:47 +02:00
Matthias Koefferlein
5dabd6093d
Provide new 'align' feature in LVS for automatic circuit flattening.
2019-07-23 01:12:12 +02:00
Matthias Koefferlein
aff8212f2f
Provide 'align' method to auto-align circuit and cell hierarchy in LVS
2019-07-23 00:14:43 +02:00
Matthias Koefferlein
14d9689498
Added .global to Spice reader.
2019-07-22 23:02:31 +02:00
Matthias Köfferlein
d87c27b4cd
Merge pull request #310 from KLayout/issue_293
...
Fixed #293 : window title of setup form is 'Setup'
2019-07-21 23:49:38 +02:00
Matthias Köfferlein
8a66f59b6e
Merge pull request #308 from KLayout/issue-305
...
Fixed issue #305 (CIF reader issue with rotated boxes)
2019-07-21 23:49:11 +02:00
Matthias Köfferlein
fbb8a432c4
Merge pull request #307 from KLayout/dvb
...
Dvb
2019-07-21 23:48:55 +02:00
Matthias Koefferlein
39011e3a37
Fixed #293 : window title of setup form is 'Setup'
2019-07-21 23:22:10 +02:00
Matthias Koefferlein
8f21cdf449
Fixed issue #305 (CIF reader issue with rotated boxes)
2019-07-21 22:57:02 +02:00
Matthias Koefferlein
9d250d6df9
Using a larger branch complexity than default for LVS full test's netlist compare
...
In addition: typo fixed, added doc for complexity configuration
parameters.
2019-07-21 22:24:07 +02:00
Matthias Koefferlein
df7195b81f
Compatibility with ruby 1.8, force garbage cleanup for LVS/DRC and tests.
2019-07-21 10:23:08 +02:00
Matthias Koefferlein
6e6e449eef
Consolidated test data for lvs:full - there are too many variants to support pure text compare. We use the netlist comparer now.
2019-07-21 09:20:44 +02:00
Matthias Köfferlein
f82e7929d8
Fixed a conversion issue with ints on MSVC
...
Because long is 32bit on Windows (like int), the
conversion from long to unsigned int was subject
to sign overflow. This was fixed by going to
unsigned int via unsigned long.
2019-07-20 00:28:32 +02:00
Matthias Koefferlein
0215d05a12
Fixed unit tests.
2019-07-19 00:02:05 +02:00
Matthias Köfferlein
7fc907cf7e
Fixed a segfault from the testsuite
2019-07-16 23:17:29 +02:00
Matthias Köfferlein
4e1736a181
Updated golden data of two tests for Windows.
2019-07-16 01:27:08 +02:00
Matthias Köfferlein
630f7e56d8
Merge pull request #303 from KLayout/issue-302
...
Fixed #302 and plus a potential invalid memory access fixed
2019-07-16 00:44:00 +02:00
Matthias Köfferlein
b3e9915259
Provide special LVS test golden data for Windows (slight differences in shape order etc.)
2019-07-16 00:40:43 +02:00
Matthias Köfferlein
df23830a1c
Fixed a runtime issue on Windows
2019-07-16 00:39:39 +02:00
Matthias Köfferlein
e4efaac12f
MSVC builds fixed - XML source needs to accept URLs (specifically resource URLs) also with EXPAT
2019-07-15 23:23:19 +02:00
Matthias Köfferlein
9820e57031
Don't write third terminal for R or C (WithBulk variants)
2019-07-15 23:19:03 +02:00
Matthias Köfferlein
eb9ffb4a35
Another msvc2017 build warning fixed
2019-07-15 23:18:20 +02:00
Matthias Köfferlein
9a371b8fd2
Fixed some build warnings with msvc2017 (maybe real issues and memory leaks)
2019-07-15 23:17:24 +02:00
Matthias Köfferlein
350ae397aa
MSVC builds fixed - XML source needs to accept URLs (specifically resource URLs) also with EXPAT
2019-07-15 00:18:18 +02:00
Matthias Köfferlein
ede217cd0b
Fixed #302 and plus a potential invalid memory access fixed
2019-07-15 00:17:01 +02:00
matthias
89ce2be5c2
Merge remote-tracking branch 'origin/master' into dvb
2019-07-14 01:28:11 +02:00
Matthias Köfferlein
1b08656835
Merge pull request #300 from KLayout/issue-264
...
Issue 264
2019-07-14 00:12:58 +02:00
Matthias Köfferlein
397e86f4b4
Merge branch 'dvb' of https://github.com/klayout/klayout into dvb
2019-07-13 23:39:16 +02:00
Matthias Köfferlein
4172b60d60
Fixed a build issue on Windows.
2019-07-13 23:38:26 +02:00
matthias
8b17a4da4f
A few utility functions
...
Polygon#is_rectilinear?, Polygon#is_empty?
and same for SimplePolygon
2019-07-13 22:45:22 +02:00
matthias
5f27341995
Some refactoring, better templates
...
1.) tl::Stream now can read from resources
(:<path> URL's)
2.) LVS/DRC templates are kept as resource,
"create_template" uses the URL to read them.
3.) Added samples for LVS
4.) Configured LVS to match sample
2019-07-13 18:40:00 +02:00
matthias
ebca5e1ce6
Bugfix: small LVS and DRC macro iessues (LVS and DRC menus not working etc.)
2019-07-13 17:00:05 +02:00
Matthias Koefferlein
1251fb2cd6
Added < and > to allowed chars for net names in Spice reader
2019-07-13 08:50:13 +02:00
Matthias Koefferlein
2d57a11f8c
Fixed #287 (RecursiveShapeIterator to ObjectInstPath)
...
There is a new constructor for ObjectInstPath to
create one from a RecursiveShapeIterator.
2019-07-12 23:13:50 +02:00
Matthias Koefferlein
e8ff8156a0
fix for #264
...
1. Errors in coerce_parameters are now shown as
red label + warning icon in the parameters dialog
2. Errors during produce are always logged now
Plus: the scroll bars of the PCell parameters page
don't jump back on "Apply".
2019-07-12 21:13:18 +02:00
Matthias Koefferlein
c7e883cdb2
SPICE reader now assigned net names as pin names.
2019-07-12 19:00:27 +02:00
Matthias Koefferlein
f66b094e88
Merge branch 'dvb' into dvb_test
2019-07-12 17:44:11 +02:00
Matthias Koefferlein
a47190f3ab
Write short versions of LVS and L2N DB by default.
2019-07-12 17:43:43 +02:00
Matthias Koefferlein
85717beca6
Allow saving LVS DB files from netlist browser.
2019-07-12 17:29:44 +02:00
Matthias Koefferlein
d109a22cf5
Renaming (distro nodes->virtual nodes)
2019-07-11 23:20:42 +02:00
Matthias Koefferlein
e32ee570c7
Alternative algorithm for subcircuit matching - tests updated, refactoring
2019-07-11 23:19:02 +02:00
Matthias Koefferlein
7bc4acd8f6
WIP: new version of subcircuit match algorithm - needs refactoring.
2019-07-11 23:14:53 +02:00
Matthias Koefferlein
0d9273aaf6
WIP: new subcircuit match algorithm
2019-07-11 00:16:36 +02:00
Matthias Koefferlein
2f01c7a0bd
WIP: other algorithm for handling subcircuits in netlist compare
2019-07-10 23:40:16 +02:00
Matthias Koefferlein
67f786035c
WIP: during refactoring
2019-07-10 00:32:53 +02:00
Matthias Koefferlein
1fd069ca99
Provide a better description for net mismatch with warning.
2019-07-09 20:29:35 +02:00
Matthias Koefferlein
cef96902ad
Boundary for circuits, reverted automatic generation of global pins
...
- global pins have been generated for device cells too and lead
to implicit pins which may not be desired. The original problem
was how to make abstract circuits comparable. This has to be
solved differently.
- Circuit boundaries are good for displaying the boxes for
abstract circuits
2019-07-09 19:55:48 +02:00
Matthias Koefferlein
0c6ead6f90
WIP: introduced boundary into L2N format so we have something to display for abstracts.
2019-07-09 01:18:23 +02:00
Matthias Koefferlein
c9e08c4500
WIP: propagate global nets to parent hierarchy even if there is no shape inside the cell.
2019-07-08 23:11:35 +02:00
Matthias Koefferlein
bdb8a7bcc2
WIP: reverted modifications on SPICE reader.
2019-07-08 21:51:59 +02:00
Matthias Koefferlein
9625caea65
WIP: added full LVS test.
2019-07-08 21:43:06 +02:00
Matthias Koefferlein
b48453633f
WIP: some fixes and small enhancements. New tests.
2019-07-08 00:09:10 +02:00
Matthias Koefferlein
bc2d9448d6
Providing LVS tests.
2019-07-07 21:33:28 +02:00
Matthias Koefferlein
95a1e38fe3
WIP: better reproducablility for .lvsdb layer names, updated tests.
2019-07-07 19:39:00 +02:00
Matthias Koefferlein
993ef78575
WIP: some cleanup/enhancement
...
General topic: abstracts and swappable pins.
Issue: we work bottom up and assign pins. This is the
basis for net graph building. But swappable means those
pins can change. The compare works fine, but debugging
output is strange: as the pin assigned is fixed, the nets
found to be attached to a circuit might not fit any
proposed pin pair (which does not contain swapping).
The problem gets worse with abstracts.
The enhancements are
- Such cases generate only warnings in the browser
and the message says swapping might be the case
- Floating nets are treated differently. This should
lead to a better performance for abstracts/black boxes,
but in case of disconnected pins (due to wire errors),
floating nets happen to create mismatches in the nets above.
- Net graph building does not consider swappable nets. In
case of two swappable pins this wouldn't be an issue, but
for more than two this would create ambiguities and
prevent topological matching.
Plus: Debug output option for net graph
Tests updated
2019-07-07 18:17:14 +02:00
Matthias Koefferlein
ace0788f85
WIP: Spice reader reads pin names from nets
2019-07-07 00:05:22 +02:00
Matthias Koefferlein
0e5ecdc36b
Attempt to make LVS compare output a little more predictable with boundary cases
...
- For unattached subcircuit pins no error should be reported
- For abstract nets, graph propagation through subcircuit pins isn't attempted.
Abstract nets are only dummy-associated currently.
2019-07-06 23:40:49 +02:00
Matthias Koefferlein
903b1f7505
WIP: fixed 'equivalent_pins'
2019-07-06 21:47:25 +02:00
Matthias Koefferlein
5ce8dd2684
WIP: added circuit blankout.
2019-07-06 19:50:20 +02:00
Matthias Koefferlein
fb8a64b0e1
WIP: updated LVS doc.
2019-07-06 09:37:54 +02:00
Matthias Koefferlein
24a0c3dd00
LVS template for macros. Enhancement: 'schematic' statement can now be anywhere in LVS script.
2019-07-06 09:35:51 +02:00
Matthias Koefferlein
a179705a03
WIP: more refactoring.
2019-07-06 09:15:33 +02:00
Matthias Koefferlein
0595ec2e0f
WIP: one more test for LVS
2019-07-06 09:08:32 +02:00
Matthias Koefferlein
2f6aae7204
WIP: refactoring, added first tests for LVS
2019-07-06 08:52:40 +02:00
Matthias Koefferlein
15022709b4
WIP: doc update, robustness of LVS browser model (xref)
2019-07-05 23:35:14 +02:00
Matthias Koefferlein
a6a0d9946c
Updated documentation
2019-07-05 21:45:50 +02:00
Matthias Koefferlein
fade779238
WIP: doc update.
2019-07-05 17:48:23 +02:00
Matthias Koefferlein
153bfa9c52
Updated doc.
2019-07-04 23:56:04 +02:00
Matthias Koefferlein
68f98d9f0d
Some typos fixed, connect_implicit now can be used multiple times (but without glob pattern)
2019-07-04 23:55:46 +02:00
Matthias Koefferlein
71777670de
Fixed unit tests.
2019-07-04 01:24:19 +02:00
Matthias Koefferlein
5e70f4fa03
Fixed an edit bug.
2019-07-04 01:18:25 +02:00
Matthias Koefferlein
bd5fbc065a
WIP: updated doc.
2019-07-04 01:16:08 +02:00
Matthias Koefferlein
07ae488652
WIP: bugfix - don't uppercase file names in SPICE .include, typos fixed.
2019-07-04 00:57:52 +02:00
Matthias Koefferlein
20c8c6bdaa
WIP: more LVS doc.
2019-07-04 00:57:04 +02:00
Matthias Koefferlein
437ead7699
WIP: updated doc.
2019-07-03 01:48:55 +02:00
Matthias Koefferlein
0399b07ff3
WIP: Added sample / xs for vertical BJT
2019-07-03 01:25:26 +02:00
Matthias Koefferlein
d913d2352c
WIP: doc updated, small typos fixed.
2019-07-03 00:45:11 +02:00
Matthias Koefferlein
66a9fa41e7
WIP: added more docs, confine BJT combination to emitter parameters.
2019-07-02 21:09:32 +02:00
Matthias Koefferlein
8aa6f4edcf
WIP: added more test data, doc links
2019-07-02 02:03:58 +02:00
Matthias Koefferlein
87ca28a83f
WIP: updated LVS doc.
2019-07-02 01:49:56 +02:00
Matthias Koefferlein
9f26553d4b
Added inverter test layout
2019-07-02 00:25:31 +02:00
Matthias Koefferlein
3c4c1b9c4f
WIP: bugfixes
...
1.) Don't error out in batch mode (without view)
2.) Don't add nets to connectivity when they just
serve for device recognition
2019-07-02 00:07:50 +02:00
Matthias Koefferlein
f931b6a1c1
Bugfix: avoid an assertion in the netlist browser
...
Reason: when a circuit does not have pins and is top level,
but the reference has pins, the reference pins are regarded
to match against (nil). This case has to be reported properly,
otherwise the model can't be built consistently.
2019-07-02 00:01:11 +02:00
Matthias Koefferlein
1e49338fe9
WIP: doc.
2019-06-30 23:36:51 +02:00
Matthias Koefferlein
2f66f3ee3b
WIP: Extraction of DRC and LVS doc, added doc to classes
2019-06-28 18:44:36 +02:00
Matthias Koefferlein
ef1441e546
WIP: fixed unit tests.
2019-06-28 17:08:04 +02:00
Matthias Koefferlein
6ed3838baf
WIP: fixed an edit failure
2019-06-28 14:43:52 +02:00
Matthias Koefferlein
ed41af9b4b
WIP: added documentation to LVS script.
2019-06-28 12:50:55 +02:00
Matthias Koefferlein
a8f8ca0d7d
WIP: fixed a display issue and a segfault in the netlist browser.
2019-06-28 11:45:58 +02:00
Matthias Koefferlein
80d86cc425
WIP: netlist browser - allow switching between L2N and LVSDB view
2019-06-28 11:27:43 +02:00
Matthias Koefferlein
910a36b83d
WIP: better matching of subcircuits - attempt to map them even if not identical. This hopefully makes solving subcircuit connection problems easier.
2019-06-28 11:05:43 +02:00
Matthias Koefferlein
3310d34cf3
WIP: better tooltips and comments for LVS browser.
2019-06-27 00:14:18 +02:00
Matthias Koefferlein
955d21a656
WIP: case insensitive compare of netlists (after reading Spice, the names are caseless)
2019-06-26 20:58:42 +02:00
Matthias Koefferlein
0cbfa698f0
WIP: debugging, development
...
- LVS DSL debugging, enhancements
- Allow polygons with holes in L2N
- Spice Reader: was creating too many class objects
- Device class categorizer: allow associating A->C,B-C
- ...
2019-06-26 20:41:49 +02:00
Matthias Koefferlein
37012efba0
WIP: fixed unit tests, bug fix in DeepRegion -> and and not shall return a DeepRegion always.
2019-06-24 20:56:20 +02:00
Matthias Koefferlein
33bb85e4f3
WIP: live actions for netlist extraction - connect etc. are no longer delayed for better error messages
2019-06-24 19:41:02 +02:00
Matthias Koefferlein
624811d55e
WIP: fixed a basic issue with empty layers
...
Previous: empty layers occupied a special layer in the DSS
But what when empty layers are required as outputs?
ONE layer isn't good -> would overwrite the layer and it's
no longer empty for others.
So we need to keep the layers separate.
2019-06-23 23:44:15 +02:00
Matthias Koefferlein
464a1f35fb
WIP: enhancements to DRC DSL for net extraction, some bug fixes in L2N browser etc.
2019-06-23 23:23:36 +02:00
Matthias Koefferlein
0f9c50c405
WIP: new macro category: LVS
2019-06-23 16:57:41 +02:00
Matthias Koefferlein
04f0edc814
WIP: split DRC into multiple files, bug fixed from lym management.
2019-06-23 09:25:16 +02:00
Matthias Koefferlein
717e7ca0ab
WIP: Fixed Spice reader/writer delegate, tests.
2019-06-23 00:08:49 +02:00
Matthias Koefferlein
a1a0b62a10
WIP: doc fixes, added Netlist::simplify as convenience method
2019-06-22 22:18:55 +02:00
Matthias Koefferlein
621c3f74ed
WIP: reader delegate - GSI binding, tests.
2019-06-22 22:03:32 +02:00
Matthias Koefferlein
343e340e22
WIP: SPICE reader delegate, unit tests + debugging
2019-06-22 19:44:33 +02:00
Matthias Koefferlein
d174fb73fd
WIP: preparations for SPICE reader delegate.
2019-06-22 18:37:32 +02:00
Matthias Koefferlein
4f41d99126
WIP: better probing of nets, fixed a bug when hiding browser.
2019-06-22 11:34:44 +02:00
Matthias Koefferlein
46dafd50ea
WIP: unit tests updated
2019-06-22 10:15:32 +02:00
Matthias Koefferlein
847f60947d
WIP: BJT - don't place base and emitter terminals over each other.
2019-06-22 02:19:49 +02:00
Matthias Koefferlein
8881851537
WIP: netlist browser - config UI, some fixes.
2019-06-22 01:35:54 +02:00
Matthias Koefferlein
9647c94c68
WIP: added NE parameter for BJT3/4, AE and NE are primary parameters now.
2019-06-21 23:41:08 +02:00
Matthias Koefferlein
6f6b9e898b
WIP: reduced number of warnings with clang
2019-06-21 23:22:42 +02:00
Matthias Koefferlein
391484b276
Enhancement: drawing of cross fill
...
* Polygons were not filled
* Restrict cross filling to box-only shapes.
2019-06-20 17:55:44 +02:00
Matthias Koefferlein
32dc52143c
Removed a wrong RESOURCE statement that sneaked in
2019-06-19 23:24:12 +02:00
Matthias Koefferlein
a4d2be7fbf
Merge remote-tracking branch 'origin/master' into dvb
2019-06-19 23:14:27 +02:00
Matthias Köfferlein
9ca1a8ae5a
Merge pull request #279 from KLayout/issue-275
...
Fixed #275 (don't write PCell context with OASIS)
2019-06-18 18:45:08 +02:00
Matthias Köfferlein
38ec560458
Merge pull request #280 from KLayout/issue-276
...
Fixed #276 (Layer properties name cannot be updated)
2019-06-18 18:44:55 +02:00
Matthias Köfferlein
2ef403e0ac
Merge pull request #282 from KLayout/issue-281
...
Fixed #281 (proper reporting of width/space violations in the kissing…
2019-06-18 18:44:41 +02:00
Matthias Köfferlein
782790fe2e
Merge pull request #283 from KLayout/issue-277
...
Fixed #277 (min_coherence not recognized by region size)
2019-06-18 18:44:28 +02:00
Matthias Köfferlein
fcec51e936
Merge pull request #284 from KLayout/issue-278
...
Fixed #278 (lost reference to Shape object from ObjectInstPath)
2019-06-18 18:44:13 +02:00
Matthias Köfferlein
46acf1ac36
Merge pull request #285 from KLayout/issue-271
...
Fixed #271 (proposal, more choices for the cell origin on 'make cell')
2019-06-18 18:44:02 +02:00
Matthias Koefferlein
9d7c8d31fc
Fixed #272 (error message if macro interpreter isn't available)
2019-06-18 02:03:54 +02:00
Matthias Koefferlein
03bc7e7d9a
Fixed non-Qt build.
2019-06-18 01:13:41 +02:00
Matthias Koefferlein
eecb62906c
Fixed #271 (proposal, more choices for the cell origin on 'make cell')
2019-06-18 00:52:13 +02:00
Matthias Koefferlein
2fd43ec656
Fixed #278 (lost reference to Shape object from ObjectInstPath)
2019-06-17 23:37:35 +02:00
Matthias Koefferlein
303cda6981
Fixed #277 (min_coherence not recognized by region size)
2019-06-17 21:40:37 +02:00
Matthias Koefferlein
2389d2b391
Fixed #281 (proper reporting of width/space violations in the kissing-corner case)
2019-06-17 20:48:07 +02:00
Matthias Koefferlein
56c622053f
Fixed #276 (Layer properties name cannot be updated)
...
In addition, this fix includes Python-related fixes: because
of the short lifetime of Python references, the functionality
was not as expected sometimes. Keeping copies of LayerPropertiesIterators
helped. Some tweaks were required to maintain the delete() semantics.
2019-06-16 21:42:07 +02:00
Matthias Koefferlein
c7fe1cb189
Fixed #275 (don't write PCell context with OASIS)
...
The ability to disable PCell context on OASIS output
with the "write_context_info" option was added.
2019-06-16 16:48:30 +02:00
Matthias Koefferlein
0794290fb5
WIP: added RBA basic tests for device extractors.
2019-06-15 21:48:02 +02:00
Matthias Koefferlein
a91c3d3a4e
WIP: fixed BJT4 class, added RBA tests for new device classes.
2019-06-15 21:11:15 +02:00
Matthias Koefferlein
e939d51104
WIP: BJT4 device, more parameters for resistor (W,L), BJT devices for Spice writer, tests updated
2019-06-15 18:22:04 +02:00
Matthias Koefferlein
1b2a611d83
WIP: diode extraction test.
2019-06-15 09:34:04 +02:00
Matthias Koefferlein
c717eb1efa
WIP: fixed RBA unit tests.
2019-06-15 00:01:40 +02:00
Matthias Koefferlein
0b5db06ca8
WIP: tests for BJT extraction
2019-06-14 23:45:04 +02:00
Matthias Koefferlein
4212a783a5
WIP: test cases for device extractors R/C with bulk
2019-06-14 21:21:11 +02:00
Matthias Koefferlein
020b874083
WIP: more device classes - unit tests for classes
2019-06-14 20:41:38 +02:00
Matthias Koefferlein
a979b669db
WIP: new device classes
2019-06-14 19:08:09 +02:00
Matthias Koefferlein
3569ce391c
Fixed implementation of duplicate instance removed
2019-06-13 15:52:36 +02:00
Matthias Koefferlein
0d623bc57a
Avoid netlist extraction issues with duplicate instances
...
So far, duplicate instances have lead to net propagation
into parent cells and floating nets. This is fixed by ignoring
duplicate instances where possible.
2019-06-13 13:33:28 +02:00
Matthias Koefferlein
8e1dadbe59
Updated golden data of unit tests.
2019-06-13 09:02:47 +02:00
Matthias Koefferlein
ebd00c186b
Enhancements for net export feature
...
- some refactoring
- better performance (was slow because layer iteration
was done outside of loop and recursive cluster iterator)
- with selected nets, only the required hierarchy is
produced. For this a new argument is added to
LayoutToNetlist::create_cell_mapping (nets) which
allows selecting the nets for which a cell mapping
is requested
2019-06-12 22:55:24 +02:00
Matthias Koefferlein
ad041a63bc
Windows build fix.
2019-06-11 08:37:39 +02:00
Matthias Koefferlein
efbe847a27
Netlist browser: Pins are not sorted as their order matters, unit tests fixed
2019-06-09 22:33:13 +02:00
Matthias Koefferlein
a64726e5aa
Performance enhancement of netlist model (issue was sorting by expanded name)
2019-06-09 10:05:45 +02:00
Matthias Koefferlein
13f4547789
More progress reporting, performance enhancements
...
Main performance enhancement: don't update layouts
between make_layer in DeepRegion
2019-06-09 09:40:45 +02:00
Matthias Koefferlein
7c220c63e1
Functional netlist hierarchy tree.
2019-06-06 01:36:07 +02:00
Matthias Koefferlein
577edea08b
Added tree model for netlist hierarchy browser (LVS/L2N)
2019-06-01 22:38:27 +02:00
Matthias Koefferlein
23ba97e07b
.. and one more fix of gcc 4.4.7
2019-05-31 23:25:01 +02:00
Matthias Koefferlein
22439f1a31
Syntax error fixed
2019-05-31 23:20:32 +02:00
Matthias Koefferlein
14c1f7a4d6
Another fix of gcc 4.4.7
2019-05-31 23:16:43 +02:00
Matthias Koefferlein
9c898f536b
Merge branch 'dvb' into dvb_enhancements
2019-05-31 23:00:40 +02:00
Matthias Koefferlein
7d6237a90a
Unescaping of net names on Spice reader -> writer/reader should be self-compatible.
2019-05-31 22:55:09 +02:00
Matthias Koefferlein
985cffc099
Unique net names for Spice netlist writer
2019-05-31 22:19:51 +02:00
Matthias Koefferlein
6f263211e2
Some more fixes for picky gcc 4.4.7
2019-05-31 00:41:11 +02:00
Matthias Koefferlein
9409cfce5c
Some more fixes for gcc 4.4.7 :)
2019-05-31 00:36:14 +02:00
Matthias Koefferlein
c684633dd6
Some enhancements for netlist extraction and writer
...
* Spice writer can now be configure to skip the debug
comments
* < and > are allowed chars in spice names now
* global net names have second prio over labels now
2019-05-31 00:11:28 +02:00
Matthias Koefferlein
98207cb454
Another fix for gcc 4.4.7
2019-05-30 23:45:27 +02:00
Matthias Koefferlein
e9cc9345f1
Fixed build on gcc 4.4.7
2019-05-30 22:53:27 +02:00
Matthias Koefferlein
d4634f8620
Try to establish reproducability of clock tree compare test.
2019-05-30 07:12:49 +02:00
Matthias Koefferlein
9c6ed3e956
Merge remote-tracking branch 'origin/master' into dvb
2019-05-29 22:32:05 +02:00
Matthias Koefferlein
f59e49d678
Small bugfix for glob pattern matcher.
2019-05-29 22:27:58 +02:00
Matthias Koefferlein
1935ee7ff9
Tried to fix unit tests for MSVC
2019-05-29 22:09:39 +02:00
Matthias Koefferlein
dea2b76dc8
Added unit tests for res and cap device extractors.
2019-05-29 21:35:02 +02:00
Matthias Koefferlein
3b3791204d
Fixed two more unit tests and renamed new 'define_layer' to 'define_opt_layer' for disambiguation
2019-05-29 01:22:11 +02:00
Matthias Koefferlein
10667d8e35
Bugfixed last commit, fixed unit tests.
2019-05-29 00:51:42 +02:00
Matthias Koefferlein
9d01cb5282
Some updates (res/cap device ex, flatten preserved geometry)
...
- Two new device extractors for resistors and caps
(two-terminal only)
- R and C device classes have A and P parameters now
- A generic concept to supply terminal output layers
for device extractors (tX).
- Converted offset to transformation for devices:
this was required to make circuit flattening preserve
the geometry (transformation of devices)
L2N/LVSDB formats have been extended for this.
2019-05-29 00:10:10 +02:00
Matthias Koefferlein
f4939a6efc
[BUGFIX] crash when setting the line style/width > 1
2019-05-28 00:04:32 +02:00
Matthias Koefferlein
85e6cb074d
Added pya test for NetlistCrossReference
2019-05-27 20:58:04 +02:00
Matthias Koefferlein
9a1f4e1973
Added pya test for LayoutVsSchematic
2019-05-27 20:36:53 +02:00
Matthias Koefferlein
759cc835d9
Added LayoutToNetlist test for pya.
2019-05-27 20:28:48 +02:00
Matthias Koefferlein
7f6afe1f8b
Allow some compiler warnings in favor of passing unit tests ...
2019-05-27 18:55:27 +02:00
Matthias Koefferlein
419ed7dd78
Bugfixed the pya and RBA GSI initialization after last refactoring.
2019-05-27 18:44:42 +02:00
Matthias Koefferlein
7b7e35d3d5
Fixed some compiler warnings.
2019-05-27 18:05:38 +02:00
Matthias Koefferlein
23aa79f8a7
Bugfixed pya initialization.
2019-05-27 18:05:10 +02:00
Matthias Koefferlein
5ed61bcb5a
RBA/pya: don't inject child classes into module
...
Previously, child classes have also appeared in
the module. Now, they only appear in the parent
class.
2019-05-27 00:54:33 +02:00
Matthias Koefferlein
4858f3418a
Some refactoring of the GSI class generation scheme
...
The main fix was to not register the original class when
adding it as a child class. Otherwise duplication happened.
This requires sorting of some kind when generating the classes.
Some refactoring has been applied here.
2019-05-26 22:38:03 +02:00
Matthias Koefferlein
2bf3f3d5c9
Fixed unit tests, bug fixes in netlist DB model.
2019-05-26 18:28:35 +02:00
Matthias Koefferlein
eb81a7e5a6
GSI binding of LVS objects.
2019-05-26 09:01:21 +02:00
Matthias Koefferlein
89cbe930ae
WIP: GSI binding of LVS framework, tests and debugging
2019-05-26 01:37:45 +02:00
Matthias Koefferlein
14bc72039e
WIP: integration of LVSDB into LayoutView (GSI)
2019-05-25 23:22:24 +02:00
Matthias Koefferlein
58b9cfa3c5
WIP: corrected some bugs in the GSI binding of LVS objects.
2019-05-25 22:59:52 +02:00
Matthias Koefferlein
09fe41294b
WIP: GSI binding for LayoutVsSchematic and NetlistCrossReference.
2019-05-25 22:33:35 +02:00
Matthias Koefferlein
01f7939918
LVSDB browser: filter based on status ('show all')
2019-05-25 10:12:35 +02:00
Matthias Koefferlein
895b17b1c7
WIP: LVSDB browser styling
2019-05-25 01:19:19 +02:00
Matthias Koefferlein
33b836d243
LVSDB browser: styling.
2019-05-24 23:30:55 +02:00
Matthias Koefferlein
875609ffb1
Styling of LVSDB browser
2019-05-23 23:54:51 +02:00
Matthias Koefferlein
3269c4cd15
WIP: further debugging of crossref model + tests.
2019-05-23 00:06:37 +02:00
Matthias Koefferlein
57f9efa611
WIP: debugged cross-reference model
2019-05-22 23:47:38 +02:00
Matthias Koefferlein
f1fc16d55f
WIP: LVS DB model
2019-05-22 00:46:15 +02:00
Matthias Koefferlein
abc3d38ba4
Some more fixes for Linux builds
2019-05-21 21:05:38 +02:00
Matthias Koefferlein
0b8fa69551
Added build dependency to fix some Linux builds
2019-05-21 20:49:45 +02:00
Matthias Koefferlein
252622e3f8
Fixed unit tests, support floating pins for netlist compare
2019-05-20 23:48:07 +02:00
Matthias Koefferlein
625b173379
Reworked l2n and lvsdb format such that reading/writing gets more reproducible: maintain unnamed state of devices, subcircuits and pins
2019-05-20 22:33:23 +02:00
Matthias Koefferlein
834dcc7474
WIP: LVSDB reader/writer fixes
2019-05-19 23:42:31 +02:00
Matthias Koefferlein
ea8320dcf8
WIP: LVSDB reader/writer: bugfixes, refactoring, tests.
2019-05-19 22:55:03 +02:00
Matthias Koefferlein
81e512e1cd
WIP: Debugging of LVS DB writer
2019-05-19 10:13:20 +02:00
Matthias Koefferlein
b2fee5da3d
WIP: LVS DB writer.
2019-05-19 00:34:14 +02:00
Matthias Koefferlein
bee662eea8
WIP: refactoring of LVS/L2N DB readers
2019-05-18 22:24:58 +02:00
Matthias Koefferlein
c09db62cf6
Supply a base class binding for netlist compare event receivers
2019-05-18 22:24:35 +02:00
Matthias Koefferlein
3a11951175
WIP: LVS DB structure, reader
2019-05-18 21:39:54 +02:00
Matthias Koefferlein
d006d0c91e
WIP: some refactoring
2019-05-17 21:49:40 +02:00
Matthias Koefferlein
65ea72c569
WIP: netlist cross reference - refactoring of sorting, more robust
2019-05-16 23:26:49 +02:00
Matthias Koefferlein
95caca1dd5
WIP: netlist cross reference - tests and bugfixes
2019-05-16 22:43:28 +02:00
Matthias Koefferlein
924daa65b7
WIP: tests for netlist cross ref.
2019-05-16 00:09:06 +02:00
Matthias Koefferlein
a46d991c6f
WIP: netlist cross-reference
2019-05-15 23:00:02 +02:00
Matthias Koefferlein
67e68e9e4f
WIP: fixed net colorizer
2019-05-13 23:56:49 +02:00
Matthias Koefferlein
829e337462
WIP: prepared dual mode for netlist browser.
2019-05-13 23:50:16 +02:00
Matthias Koefferlein
a433361c53
WIP: prepared dual mode for netlist browser.
2019-05-13 23:36:59 +02:00
Matthias Koefferlein
6b7e4c2713
Netlist browser: tree items are sorted now.
2019-05-12 10:13:00 +02:00
Matthias Koefferlein
cd34eb19f1
WIP: some refactoring.
2019-05-12 08:52:47 +02:00
Matthias Koefferlein
590f078d6a
WIP: cleanup.
2019-05-11 22:37:24 +02:00
Matthias Koefferlein
f72790e808
WIP: glob pattern - GSI binding to enable compatible implementations.
2019-05-11 22:35:50 +02:00
Matthias Koefferlein
dfb9cdad4f
WIP: refactoring of glob pattern
2019-05-11 18:31:42 +02:00
Matthias Koefferlein
b171ee5ae1
WIP: refactoring of glob pattern (goal is to support more pattern)
2019-05-11 18:23:31 +02:00
Matthias Koefferlein
72cadf6d5d
WIP: more powerful glob pattern
2019-05-11 02:29:38 +02:00
Matthias Koefferlein
252b1551dc
Bugfix: strmrun issues
...
- strmrun did not support x[rb] notation for file type
- x.y.py was rejected because y.py was taken as the suffix
- reason was extension() function for which there is
an extension_last() now
- but this function is no longer used as the lym::Macro
object is used now
2019-05-10 23:43:57 +02:00
Matthias Koefferlein
56f6143e4f
Added RBA::Technology#clear_technologies
2019-05-10 23:24:04 +02:00
Matthias Koefferlein
bfe5c7c2b9
Fixed #265 : put CIF at the end of the detection chain
...
The CIF format is kind of fuzzy and supports a high
degree of syntactic freedom. Hence the format detection
is not quite reliable. Do CIF as last resort.
2019-05-10 23:10:14 +02:00
Matthias Koefferlein
6f689863b6
Fixed MSVC build, fixed unit tests.
2019-05-10 21:09:19 +02:00
Matthias Koefferlein
0f0dd42b4d
Refactoring and GSI binding for combined device interface.
2019-05-10 18:32:05 +02:00
Matthias Koefferlein
675a96eb9e
WIP: some refactoring.
2019-05-10 00:40:49 +02:00
Matthias Koefferlein
dda7ee8b60
WIP: a small refactoring.
2019-05-10 00:18:58 +02:00
Matthias Koefferlein
ea28530c55
L2N: combined device persistance (complex concept - needs simplification?)
2019-05-10 00:15:51 +02:00
Matthias Koefferlein
db1e813635
WIP: combined devices and geometry/L2N DB representation. Yet to do: device cell transformation beyond vector?
2019-05-09 01:07:54 +02:00
Matthias Koefferlein
9a361ee234
WIP: Support for combined devices
2019-05-08 00:14:08 +02:00
Matthias Koefferlein
2302036d6f
Fixed a compiler warning, build compatibility with Qt5
2019-05-06 19:06:06 +02:00
Matthias Koefferlein
1dbb25b2e8
Some refactoring (reuse cell context cache)
2019-05-06 01:54:10 +02:00
Matthias Koefferlein
a3da8231a2
Netlist browser fixes
...
- Reverted sorting of circuits top-down because the solution
was inconsistent -> needs to be solved by proxy
- Provide a sample transformation for subcircuits without connections
(potential for refactoring!)
2019-05-06 01:20:00 +02:00
Matthias Koefferlein
99b47f732a
Netlist browser enhancements
...
- better performance when changing layer properties (by deferred
execution of the callback)
- coloring of nets (net color has precedence)
- sorting of circuits top-down
2019-05-06 00:09:31 +02:00
Matthias Koefferlein
30fdb0089b
Integration of netlist extractor with net tracer plugin (-> "trace all nets")
2019-05-05 22:30:07 +02:00
Matthias Koefferlein
a48f190bcb
Merge remote-tracking branch 'origin/master' into dvb
2019-05-05 01:31:41 +02:00
Matthias Koefferlein
c33fd40ec9
Switched l2n format to relative mode by default (relative mode is an option and maybe shorter)
2019-05-04 23:06:18 +02:00
Matthias Koefferlein
655d4bccdd
Netlist browser: command line option -mn to open netlist DB from command line.
2019-05-04 22:18:15 +02:00
Matthias Koefferlein
20eb53d626
Netlist browser: Esc now clears the selection rather than closing the browser window.
2019-05-04 22:09:23 +02:00
Matthias Koefferlein
6cf4df1cb1
BUGFIX (general): closing a cellview did not adjust the hidden cell flags properly.
2019-05-04 21:54:06 +02:00
Matthias Koefferlein
4c31d5ed1b
Netlist browser: some refactoring, fixed unit tests.
2019-05-04 21:46:25 +02:00
Matthias Koefferlein
00bd297e3b
WIP: netlist browser - highlighting of devices, subcircuits
2019-05-04 20:43:21 +02:00
Matthias Koefferlein
ceb3d39ddb
WIP: netlist browser - device links
2019-05-04 19:39:58 +02:00
Matthias Koefferlein
7e9e0dd5e6
WIP: netlist browser
2019-05-04 19:24:17 +02:00
Matthias Koefferlein
bc26e32a68
WIP: netlist browser
2019-05-04 18:48:57 +02:00
Matthias Koefferlein
548f16f1df
WIP: tried to provide a more consistent net building feature (here: building hierarchical nets with properties as net annotation - needs cell variants if properties are assigned to subcells too)
2019-05-04 00:37:38 +02:00
Matthias Koefferlein
2aaec56adb
WIP: netlist browser - extended the net export scheme of build_net to support net annotation and flattening.
2019-05-03 23:33:37 +02:00
Matthias Koefferlein
062b74aad7
WIP: net export feature, first part
2019-05-02 23:30:44 +02:00
Matthias Koefferlein
18bbc24484
Netlist browser: allow different database units between storage layout and original layout
2019-05-01 23:17:01 +02:00
Matthias Koefferlein
08d1cff797
DRC documentation images updated - have not been made with full hierarchy. Fixed script.
2019-05-01 23:03:14 +02:00
Matthias Koefferlein
71d1f4567c
Netlist browser: net icons for connections.
2019-05-01 22:26:05 +02:00
Matthias Koefferlein
086ddeace7
Netlist browser bugfix: show subcircuit nets in coordinate system of subcircuit
2019-05-01 21:42:10 +02:00
Matthias Koefferlein
60216ee3f6
Netlist browser: some bug fixes in search, probe net feature.
2019-05-01 00:24:43 +02:00
Matthias Koefferlein
4e15b3df92
Netlist browser: detailed info box.
2019-04-30 00:18:11 +02:00
Matthias Koefferlein
e661bac0a7
Netlist browser: fixed a segfault on 'unload all'
2019-04-28 22:57:06 +02:00
Matthias Koefferlein
0983ebc854
Fixed unit tests.
2019-04-28 21:19:08 +02:00
Matthias Koefferlein
c4b5c648b7
Netlist browser: warning if not all shapes are highlighted.
2019-04-28 19:40:55 +02:00
Matthias Koefferlein
d68c61394a
Netlist browser: find text feature.
2019-04-28 19:22:39 +02:00
Matthias Koefferlein
bfea3fdc2f
Netlist browser - some bugfixes, multiple selection of nets, colorizing
2019-04-28 16:28:39 +02:00
Matthias Koefferlein
f8d09a642b
WIP: netlist browser - coloring
2019-04-28 00:41:47 +02:00
Matthias Koefferlein
dc3f200119
Aligned net browser config with net tracer.
2019-04-27 00:30:45 +02:00
Matthias Koefferlein
c613ddb633
WIP: netlist browser: context menu.
2019-04-26 23:32:26 +02:00
Matthias Koefferlein
97fb852579
WIP: some refactoring.
2019-04-26 23:27:16 +02:00
Matthias Koefferlein
b4d5fcbf16
Netlist browser: full information display for single netlist.
2019-04-26 21:51:52 +02:00
Matthias Koefferlein
c19dc41506
WIP: netlist browser
2019-04-25 01:47:16 +02:00
Matthias Koefferlein
9ee58b161f
WIP: netlist browser
2019-04-25 01:23:36 +02:00
Matthias Koefferlein
5500ca45d8
Icons for netlist browser
2019-04-23 23:34:07 +02:00
Matthias Koefferlein
13cd80376a
Fixed a segfault when closing the netlist browser.
2019-04-23 19:52:22 +02:00
Matthias Koefferlein
7f9da5e8de
Introduced concept of device class templates
...
This concept allows to persist at least the standard
(built-in) device classes into L2N DB files. This way
device classes are persisted.
2019-04-23 19:44:07 +02:00
Matthias Koefferlein
46b47ff0d9
WIP: netlist browser - removed self test, is unit test now.
2019-04-22 22:00:47 +02:00
Matthias Koefferlein
0410ae765e
WIP: netlist browser - some debugging
2019-04-22 21:53:53 +02:00
Matthias Koefferlein
611cf9eb7b
WIP: some refactoring
2019-04-22 21:28:19 +02:00
Matthias Koefferlein
969d4e80cd
WIP: netlist browser.
2019-04-22 09:28:26 +02:00
Matthias Koefferlein
5b8a9cf49c
WIP: netlist browser
2019-04-22 01:25:48 +02:00
Matthias Koefferlein
59aa5758f5
WIP: netlist browser.
2019-04-21 10:54:25 +02:00
Matthias Koefferlein
ae9064021c
WIP: netlist browser.
2019-04-21 10:41:20 +02:00
Matthias Koefferlein
20b984cc50
Naming of layers isn't required anymore for connect et al: names are given automatically now.
2019-04-20 20:30:12 +02:00
Matthias Koefferlein
767f6a7c48
WIP: first code pieces
2019-04-20 10:33:56 +02:00
Matthias Koefferlein
8121f70e65
Netlist compare: Net mismatches reported if nets don't match but we still will proceed
2019-04-18 00:01:21 +02:00
Matthias Köfferlein
e42b731e41
Merge pull request #262 from KLayout/issue-261
...
Fixed #261 (iterator must not be incremented while value is used)
2019-04-17 22:15:36 +02:00
Matthias Koefferlein
567769f13d
More robust WebDAV test by sorting the order of collection items
2019-04-17 22:01:56 +02:00
Matthias Koefferlein
e73c853873
Another fix for CenOS6 builds.
2019-04-17 07:24:31 +02:00
Matthias Koefferlein
0bde41446a
Fixed #261 (iterator must not be incremented while value is used)
2019-04-16 23:54:11 +02:00
Matthias Koefferlein
42cb95188d
Fixed build issue on CentOS6
2019-04-16 20:48:58 +02:00
Matthias Koefferlein
197d99ab62
Unit test fixed.
2019-04-16 07:10:34 +02:00
Matthias Koefferlein
b5d21dadd0
Fixed a segfault in an application test.
2019-04-16 00:09:41 +02:00
Matthias Koefferlein
eabf558186
netlist exaction: selective net joining with labels
...
Now, a glob pattern can be used to identify the labels
which implicitly join nets. Also, net joining now
only happens on top level.
2019-04-15 23:24:27 +02:00
Matthias Koefferlein
3ebdfa83f9
Netlist compare: successfully applied the netlist compare to a bigger example.
2019-04-14 19:38:31 +02:00
Matthias Koefferlein
9f3bea92fb
WIP: less strict pin matching (for top levels with/without pins). Fixed tests.
2019-04-14 19:22:07 +02:00
Matthias Koefferlein
699e94a45f
WIP: added configuration options (complexity, depth) for net compare
2019-04-14 19:11:42 +02:00
Matthias Koefferlein
92524dcf57
WIP: netlist compare - bugfixed latest version and updated tests.
2019-04-13 19:56:08 +02:00
Matthias Koefferlein
4e85ae7db0
WIP: netlist compare (better backtracking)
2019-04-13 02:48:10 +02:00
Matthias Koefferlein
e855d8df35
WIP: fixed unit tests.
2019-04-12 00:31:48 +02:00
Matthias Koefferlein
187baf2941
WIP: enhanced backtracking of netlist compare.
2019-04-12 00:15:36 +02:00
Matthias Koefferlein
e03a524fcf
WIP: netlist compare, bug fixes.
2019-04-11 00:47:36 +02:00
Matthias Koefferlein
c0b1c4f775
WIP: enhanced backtracking for netlist compare
2019-04-11 00:13:19 +02:00
Matthias Koefferlein
f34d161e2f
WIP: new backtracking algorithm for net matching.
2019-04-09 23:13:40 +02:00
Matthias Koefferlein
a3edd95f94
WIP: new backtracking algorithm for net matching.
2019-04-09 22:31:03 +02:00
Matthias Koefferlein
6b6cc5a34f
WIP: network compare, debugging output.
2019-04-09 16:44:47 +02:00
Matthias Koefferlein
2e9422a753
Netlist compare: a little less freedom when picking derived net pairs ...
2019-04-08 21:32:41 +02:00
Matthias Koefferlein
7cdd40dabb
Netlist compare: more detailed derivation of net assignments from known nets (pairing by deduction)
2019-04-08 21:21:34 +02:00
Matthias Koefferlein
be35646c24
Spice reader/writer: more consistent with respect to allowed characters now.
2019-04-08 21:20:22 +02:00
Matthias Koefferlein
c0bf5d955c
Removed a debug statement.
2019-04-07 11:49:59 +02:00
Matthias Koefferlein
c474fa6550
Bugfix: Spice reader needs to transform length units to micrometer
2019-04-07 11:09:08 +02:00
Matthias Koefferlein
f6836b96a2
WIP: some enhancements
...
Spice writer: don't prefix model name with "M"
Added "device_class_mismatch" message to netlist compare
Assertion if device classes or circuits are nil on
"same_..."
2019-04-07 10:15:57 +02:00
Matthias Koefferlein
df2bd5e80a
Netlist: flatten subcircuits, circuits
2019-04-06 23:36:08 +02:00
Matthias Koefferlein
18ee59023e
Speedup of Spice format netlist reader
2019-04-06 21:14:25 +02:00
Matthias Koefferlein
8f1db684c0
Fix: account for rounding errors when doing default compare of device parameters.
2019-04-06 20:33:29 +02:00
Matthias Koefferlein
aad52b77ba
Netlist compare: added the ability to filter small caps and high resistance devices
2019-04-06 19:46:13 +02:00
Matthias Koefferlein
da5680ef24
Netlist compare: configurable device parameter compare scheme.
2019-04-06 15:19:43 +02:00
Matthias Koefferlein
43f65e4d29
Added tests for GSI binding of dbNetlistCompare
2019-04-06 00:18:37 +02:00
Matthias Koefferlein
c5a56dbc5f
WIP: GSI binding for netlist comparer.
2019-04-04 23:41:46 +02:00
Matthias Koefferlein
52fb8b0f65
Merge remote-tracking branch 'remotes/origin/master' into dvb
2019-04-04 07:35:43 +02:00
Matthias Köfferlein
6be05609e8
Merge pull request #255 from KLayout/issue-252
...
Issue 252
2019-04-04 07:31:51 +02:00
Matthias Köfferlein
a1bac382dc
Merge pull request #256 from KLayout/issue-251
...
Fixed #251 - exit handler missing? [skip ci]
2019-04-04 07:30:13 +02:00
Matthias Köfferlein
053db73e85
Merge pull request #257 from KLayout/spell-fixes
...
Fixed some spelling errors (allow to, allows to)
2019-04-04 07:30:02 +02:00
Matthias Koefferlein
5310a37f75
Fixed #251 - exit handler missing? [skip ci]
...
RBA::MainWindow::instance.destroyed do
RBA::MessageBox::info("It's Over!", "The main window was destroyed", RBA::MessageBox::Ok)
end
at_exit do
puts "It's over!"
end
RBA::Application::instance.aboutToQuit do
RBA::MessageBox::info("It's Over!", "The main window was destroyed", RBA::MessageBox::Ok)
end
2019-04-03 23:29:40 +02:00
Matthias Koefferlein
eacd5fc19d
Fixed some spelling errors (allow to, allows to)
2019-04-03 19:15:09 +02:00
Ruben Undheim
d287b6958b
A few more spelling fixes
2019-04-03 08:23:27 +02:00
Matthias Koefferlein
61a61a2a5a
WIP: added lib module to qmake-based python module build
...
This works:
import klayout.db
import klayout.lib
print(klayout.db.Library.library_names()) # says ["Basic"]
Also works:
from klayout import *
Does not work:
# import klayout.lib needs to be done before the libraries
# are used initially
import klayout.db
print(klayout.db.Library.library_names()) # says []
import klayout.lib
print(klayout.db.Library.library_names()) # says []
2019-04-03 01:07:22 +02:00
Matthias Koefferlein
8e9f15669f
WIP: utilizing netlist compare for DRC checks as well
...
+ Some enhancements (e.g. enable pin swapping for pins
without names and devices or subcircuits)
2019-04-02 22:39:29 +02:00
Matthias Koefferlein
89ffd7e3da
WIP: Simple SPICE reader.
2019-04-01 22:46:33 +02:00
Matthias Koefferlein
9613ad72c8
WIP: netlist compare - using it for more tests
...
Issue solved: some circuit pins may not have a net - these
need to be ignored.
Requirement: all pins with a net must be mapped.
Detached pins are not present in the mapping table.
A dummy mapping table was introduced to allow dropping
of pins in the second circuit too.
Output of compare should not depend on memory location
anymore and pin mismatch reporting should include all
pins.
2019-03-31 23:59:43 +02:00
Matthias Koefferlein
06e326dfd9
WIP: netlist compare - some more tests by netlist compare. Needs fixing.
2019-03-31 19:00:42 +02:00
Ruben Undheim
5d26cf4c77
Spelling errors in code and comments fixed
2019-03-31 15:25:18 +00:00
Matthias Koefferlein
b391b4510f
WIP: can compare empty circuits now
...
Empty circuits play a role as abstracts. They
are compared by using the pin names the nets
are attached to. The implementation change is:
* nodes without device terminals or subcircuit pins
are compared through their net properties (count
and name of pins attached)
* some enhancements of the net string serializer
have been made to account for pin name mismatches.
2019-03-31 09:53:51 +02:00
Matthias Koefferlein
2452c72d2d
WIP: netlist compare deployed for netlist extractors
...
Some enhancements were required:
* Clusters left over from joined clusters must not be
turned into nets: this leads to dummy nets.
* null Nets can happen as targets of edges. Don't assert
in this case but treat null nets as identical for both
netlists.
* Don't resolve ambiguous nets if there are options to
do this non-ambiguously.
* logger can be null
* Added compare_netlists to dbTestSupport
2019-03-30 23:04:57 +01:00
Matthias Koefferlein
f06d435b05
WIP: netlist comparer - moved into it's own files.
2019-03-29 00:37:45 +01:00
Matthias Koefferlein
e8d59504dd
WIP: netlist compare - forced matching of circuits.
2019-03-29 00:13:13 +01:00
Matthias Koefferlein
d255617051
WIP: netlist compare - tests for device class equivalence mapping, added Netlist#device_class_by_name
2019-03-28 18:01:22 +01:00
Matthias Koefferlein
cefd6e91cf
WIP: some refactoring, netlist compare. Goal: support explicit device class and circuit mapping.
2019-03-27 23:17:35 +01:00
Matthias Koefferlein
b44a55d901
WIP: netlist compare - pin swapping.
2019-03-26 23:38:36 +01:00
Matthias Koefferlein
46cd80d606
WIP: netlist compare - terminal swapping of devices.
2019-03-26 22:05:08 +01:00
Matthias Koefferlein
e0cb3f6303
WIP: netlist compare - subcircuit matching enhanced.
2019-03-26 20:54:49 +01:00
Matthias Koefferlein
93d2341bc7
WIP: netlist compare
2019-03-26 00:10:10 +01:00
Matthias Koefferlein
fec2348d97
WIP: Net compare.
2019-03-25 23:26:46 +01:00
Matthias Koefferlein
1a30a3919d
WIP: Net compare with subcircuits.
2019-03-25 22:14:16 +01:00
Matthias Koefferlein
55052038ea
WIP: netlist compare
2019-03-24 21:14:08 +01:00
Matthias Koefferlein
bb2d3765b8
WIP: netlist compare, ambiguous net resolution, device mapping.
2019-03-24 00:45:58 +01:00
Matthias Koefferlein
25b7ab9dab
WIP: netlist comparer
2019-03-23 10:31:29 +01:00
Matthias Koefferlein
5fe67e802f
Applied Qt binding fix to qt5 as well.
2019-03-23 01:10:01 +01:00
Matthias Koefferlein
7042cdb98b
Ported netlist normalization for #246 merge (unit test compatibility windows/linux)
2019-03-22 21:54:45 +01:00
Matthias Köfferlein
d1acd722ad
Merge pull request #246 from KLayout/issue-245
...
Issue 245
2019-03-22 21:49:39 +01:00
Matthias Koefferlein
4e63b38092
Further normalization of Spice test files (unit tests)
2019-03-22 21:47:52 +01:00
Matthias Koefferlein
8f34a93891
Fixed RBA unit tests (load font from resource)
2019-03-22 21:42:40 +01:00
Matthias Köfferlein
85808527c6
Merge pull request #244 from KLayout/issue-241
...
Fixed issue-241 (no TextGenerator.default_generator for pymod)
2019-03-22 17:52:22 +01:00
Matthias Koefferlein
5dfc609724
Normalize netlists before compare for windows/linux compatibility.
2019-03-22 17:51:37 +01:00
Matthias Köfferlein
0a3b068443
Merge pull request #239 from KLayout/pointer-to-temp-in-qtbinding
...
Bugfix: crash on Ubuntu in pya:qtbinding
2019-03-22 07:34:36 +01:00
Matthias Koefferlein
522156b467
Renamed generated .cc files (fonts, glyphs) so they don't need to be excluded in pymod builds.
2019-03-22 07:26:51 +01:00
Matthias Koefferlein
e545d6af3f
Refined solution for issue-245 by providing a better name mapping (checked with ngspice)
2019-03-22 00:05:17 +01:00
Matthias Koefferlein
9356f32026
Fixed issue-245 (support Spice netlist with names instead of numbers)
...
The option is in the Spice writer (writer.use_net_names=true).
2019-03-21 23:34:16 +01:00
Matthias Koefferlein
69282f8fef
Fixed issue-241 (no TextGenerator.default_generator for pymod)
...
The issue was there because the fonts got imported
through Qt Resources. But in pymod there is no Qt.
The solution is to import them though compiled-in
blobs.
2019-03-21 23:11:52 +01:00
Matthias Koefferlein
e424a88c90
WIP: netlist compare algo
...
1.) Can identify transistor netlists without subcircuits
2.) Ambiguities stay unresolved
Next steps: assign ambiguous nets one by one and continue
in case of ambiguitites.
2019-03-21 22:13:23 +01:00
Matthias Koefferlein
c568838bbe
WIP: netlist compare
2019-03-20 23:00:43 +01:00
Matthias Koefferlein
2d4f23abd1
Updated tests.
2019-03-19 00:08:47 +01:00
Matthias Koefferlein
d7eb9162ce
WIP: unified to_string/to_parsable_string of db::Netlist, step 1
2019-03-18 19:28:20 +01:00
Matthias Koefferlein
e4078ca750
String serialization for netlists.
2019-03-18 02:00:33 +01:00
Matthias Koefferlein
de85058ecf
Bugfix: crash on Ubuntu in pya:qtbinding
...
Reason: a reference to a temporary object was passed
to a function. This happened for a default value.
The solution is to create a heap object to such default values.
2019-03-17 18:22:19 +01:00
matthias
4db632b799
Maxbe fixed issue-236
...
At least it's no longer reproducible with valgrind.
2019-03-13 17:36:30 +01:00
matthias
e361a528a9
DRC layer's flatten now returns a proper DRCLayer object, enabled flat layers to become input also for deep mode L2N
2019-03-13 16:14:27 +01:00
Matthias Koefferlein
57fb764f16
Removed ambiguity for 64bit coordinate builds.
2019-03-12 00:09:52 +01:00
Matthias Koefferlein
01ff0684f2
Tried to fix a compiler issue on CentOS6
2019-03-11 21:33:33 +01:00
Matthias Koefferlein
21f8ba6f35
Tried to fix CentOS6 build fails.
2019-03-11 07:38:51 +01:00
Matthias Koefferlein
6e93942c5b
Fixed build for CentOS6
2019-03-11 07:15:58 +01:00
Matthias Koefferlein
566746823c
Merge remote-tracking branch 'origin/dvb'
2019-03-10 23:08:46 +01:00
Matthias Koefferlein
15040101ec
Fixed a small issue in the adjust cell origin dialog.
2019-03-10 22:38:27 +01:00
Matthias Koefferlein
41fdd74189
Custom devices for device extractor - tests in the DRC framework
2019-03-10 22:37:32 +01:00
Matthias Koefferlein
510c675d21
Test cases for DRC-based net extraction and flat extraction
...
Flat extraction requires that texts of subcells are not
considered. Otherwise they pollute the net namespace of
the top cell.
2019-03-10 19:35:13 +01:00
Matthias Koefferlein
ab8107de2d
Bugfix: Spice writer needs 'P' suffix for source/drain area of MOS
2019-03-10 01:26:52 +01:00
Matthias Koefferlein
5ea8c56db3
A minor doc fix.
2019-03-09 23:23:45 +01:00
Matthias Koefferlein
37cc84908e
Updated test because of edge pair normlization
2019-03-09 20:25:45 +01:00
Matthias Koefferlein
6932977273
A few bug fixes and test updates
...
- edge pairs are normalized before turning them into polygons.
This makes flat and deep implementation more consistent.
- deep region and flat regions were not cooperating in geo
checks
- unnamed layers are not registered in make_layer - this
does not make sense and will just hold a fake ref
- tests now use GDS to represent texts after transformation
(with orientation, OASIS can't do this)
- texts are more consistently handled in the tests
- test debug output is not written in the same format
than golden data unless special normalization is
requested.
- a non-orientable polygon was converted to orientable in
a text because this can be represented in GDS consistently
- DRC testsuite uses "polygons" instead of "input" to achieve
identical behavior for deep and flat mode with respect to
texts
- dbRegionTests are updated because texts are not allowed
for non-original layers too
2019-03-09 19:40:38 +01:00
Matthias Koefferlein
745696507f
Two bug fixes in DRC related to flatten:
...
- Merge semantics wasn't transferred to flat region
- Merge semantics wasn't set at all in deep region
2019-03-09 09:59:23 +01:00
Matthias Koefferlein
bcc506adc6
Updated DRC doc.
2019-03-06 07:55:20 +01:00
Matthias Koefferlein
b30a9278d6
WIP: updated test cases.
2019-03-06 07:41:44 +01:00
Matthias Koefferlein
8b29b30ff9
WIP: more consistent text handling
...
Texts are not only kept inside original layers, but
also inside deep layers. This enables using texts
from DRC.
However, texts in deep layers are kept as markers.
Mostly they are converted back to texts, but the
orientation will be lost.
The change eliminates the need to using Iterators
in DRC instead of original layers and use of
label layers in deep mode.
A drawback is the presence of marker shapes in
deep mode (unless polygon layers are created).
Also, text output to RDB is not supported from
deep layers currently.
2019-03-06 00:34:56 +01:00
Matthias Koefferlein
c07d7e92d4
Fixed three compiler warnings.
2019-03-04 17:58:40 +01:00
Matthias Koefferlein
bacd565d05
Bugfix: Spice writer added one pin too much to MOS4 transistors.
2019-03-04 17:26:35 +01:00
Matthias Koefferlein
604a634bf1
Generalization of layout index for LayoutToNetlist
2019-03-03 18:10:52 +01:00
Matthias Koefferlein
49621aa13a
Fixed some documentation issues, DRC doc updated.
2019-03-03 10:17:54 +01:00
Matthias Koefferlein
b9127a93bf
Build issue fixed.
2019-03-02 17:35:15 +01:00
Matthias Koefferlein
d7cb2913c9
Fixed a problem with the documentation generator.
2019-03-02 17:22:27 +01:00
Matthias Koefferlein
32c44a8693
Fixed some unit tests by cleaning up resources properly.
2019-03-02 12:10:10 +01:00
Matthias Koefferlein
9c75ee8c92
Added DRC tests for antenna check.
2019-03-02 11:23:40 +01:00
Matthias Koefferlein
5c9b652771
Integration of LayoutToNetlist into DRC framework ('Netter')
...
First steps are made towards providing an antenna check
2019-03-02 10:41:16 +01:00
Matthias Koefferlein
261fb027fd
GSI binding of antenna check function + tests.
2019-03-02 00:38:51 +01:00
Matthias Koefferlein
8d3b94201e
Antenna check: tests added, 'catchall' diode protection
2019-03-01 23:07:28 +01:00
Matthias Koefferlein
9f4f2d58d7
First version of antenna check.
2019-02-28 23:56:49 +01:00
Matthias Koefferlein
f83278207c
WIP: don't keep a reference to DeepLayer inside DeepShapeStore - that's against the design.
2019-02-28 22:42:40 +01:00
Matthias Koefferlein
4035c804b7
WIP: fixed bugs, added tests.
2019-02-28 22:23:20 +01:00
Matthias Koefferlein
fccdee5186
WIP: provisions for DRC/network extractor integration.
2019-02-28 00:55:06 +01:00
Matthias Koefferlein
36a3540e16
Allow empty regions for device extractor.
2019-02-25 23:51:21 +01:00
Matthias Koefferlein
21ea37f747
Updated test golden data.
2019-02-25 22:52:37 +01:00
Matthias Koefferlein
9b31bd3214
Fixed crash by introducing a new scheme for storing cluster refs
...
The previous implementation was based on the Instance
pointers, but these got invalidated during device cell
construction. Now an explicit copy of the instance is
kept.
2019-02-25 22:36:24 +01:00
Matthias Koefferlein
d4ed21f42a
Just new tests
2019-02-25 22:34:06 +01:00
Matthias Koefferlein
adc21b43d8
Another fix for Windows build (for gcc)
2019-02-24 00:17:33 +01:00
Matthias Koefferlein
50c73dbae8
Merge branch 'issue-234'
2019-02-23 18:16:01 +01:00
Matthias Koefferlein
60a2ce6037
Another fix for issue-234: linewidth parameter of save_image_with_options did not have any effect.
2019-02-23 18:13:49 +01:00
Matthias Koefferlein
fc486062d8
Fixed issue-234 by enhancing the drawing algorithm.
2019-02-23 10:23:47 +01:00
Matthias Koefferlein
f40d437a96
Fixed #232 by limiting the allowed number of string to the maximum supported stipple height (32).
2019-02-23 09:52:14 +01:00
Matthias Koefferlein
3c6aafcc0c
Region: hierarchical text object detection implementated.
2019-02-23 00:56:55 +01:00
Matthias Koefferlein
c7b17fb65a
Merged master into dvb branch
2019-02-22 23:16:44 +01:00
Matthias Koefferlein
792de1e0e9
'break' function for regions (split polygons into pieces if required)
2019-02-22 23:10:26 +01:00
Matthias Koefferlein
18f74bac1e
Enabled transformations for deep regions/edges/edge pairs - important for handling layouts with different DBUs in DRC
2019-02-22 01:02:48 +01:00
Matthias Koefferlein
d830318a1f
Further Windows build fixes.
2019-02-20 23:59:23 +01:00
Matthias Koefferlein
03d744cc5b
Further Windows build fixes.
2019-02-20 23:20:40 +01:00
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