Matthias Köfferlein
d49689078a
Netlist compare: Ambiguity resolution through name matching now default (can be turned off) ( #594 )
...
* WIP: some refactoring
* WIP: some refactoring
* Netlist compare: introducing ambiguity resolution by net names
By default now net names are used for resolving ambiguities.
If net names match, they will be used to associate nets if the
choice is ambiguous. This is usually much faster and more reliable
than trying to resolve ambiguities through topology analysis.
This feature can be disabled using "consider_net_names(false)" in
the LVS script.
* Some refactoring, Jenkinsfile modified for better test coverage
2020-06-29 20:52:04 +02:00
Matthias Koefferlein
f31803f332
Golden test data for Ubuntu 20 and Windows, pipe output stream for Windows.
2020-06-27 20:52:01 +02:00
Matthias Koefferlein
a66cd2a5fc
Provide a new option -o for unit test runner which sends the log to a file. This way we don't capture qWarning in the XML JUnit logs.
2020-06-27 20:50:22 +02:00
Matthias
a4c02357c3
Pipe streams supported for MacOS too.
2020-06-26 16:09:46 -07:00
Matthias
91eca19b3a
Merge remote-tracking branch 'origin/netlist-compare-hardening' into macos-fixes
2020-06-26 08:00:13 -07:00
Matthias Koefferlein
acdca4bc73
Updated testdata, added tests for breadth-first compare mode
2020-06-26 16:54:26 +02:00
Matthias Koefferlein
f3c549ca73
Net compare algorithm enhancement (pre-analsysis of node connections for shortcut)
2020-06-26 16:33:16 +02:00
Matthias Koefferlein
3a680eb167
WIP: preserving the order of device and subcircuit assignments for test data reuse
2020-06-26 01:01:11 +02:00
Matthias Koefferlein
b4732d818d
WIP: proper checking of device and subcircuit topologiy - don't entirely rely on the equivalence deduction.
2020-06-26 00:22:30 +02:00
Matthias Koefferlein
08e6df238b
WIP: bugfixes, enhancements for netlist compare
2020-06-25 00:53:56 +02:00
Matthias Koefferlein
fed563c6d4
Finalization of the net compare algorithm change
...
This patch will allow the algorithm to consider
device and subcircuit equivalences during tentative
evaluation too.
2020-06-23 22:43:31 +02:00
Matthias Koefferlein
5cb1f63c63
Updated testdata
2020-06-23 21:56:04 +02:00
Matthias Koefferlein
783f3e08df
Enhanced ambiguity resolution in netlist compare
...
The solution consists of considering device and subcircuit
equivalences during the evaluation of the node equivalence.
This will block certain paths and help resolving ambiguities
without creating contradictions.
2020-06-23 00:51:52 +02:00
Matthias Koefferlein
d65888fcd9
WIP: better handling of ambiguity resolution
2020-06-22 21:07:29 +02:00
Matthias Koefferlein
408a0b571d
Updated test cases
2020-06-22 21:07:16 +02:00
Matthias
29e8e148c9
Merge remote-tracking branch 'origin/netlist-compare-hardening' into macos-fixes
2020-06-21 14:46:51 -07:00
Matthias Koefferlein
b742542286
Remove net sorting which is not required and partially based on net pointers
2020-06-21 23:41:16 +02:00
Matthias
338e7ff862
Fixed GSI class registration under the conditions of unreliable RTTI information.
2020-06-20 14:17:13 -07:00
Matthias
ae2152eeda
Fixed a segfault happening because default-constructed iterators aren't null pointers on MacOS
2020-06-20 13:47:44 -07:00
Matthias
41dcb43a99
Fixed #493 (assertion in MacOS build)
...
Problem was: default-constructed iterators are not the same in clang's STL
2020-06-20 13:47:06 -07:00
Matthias Koefferlein
e71c0dcb23
Fixed a potential segfault.
2020-06-06 10:27:12 +02:00
Matthias Köfferlein
3898810760
Implemented #522 (skip // lines in RVE reader) ( #583 )
2020-06-05 12:11:44 +02:00
Matthias Köfferlein
cb199a489c
Implemented #560 (multiple technologies on libraries) ( #576 )
...
* First implementation.
* PORT BACK: fixed a few flaws (fixed-width side panel ..)
1. On "save as" the filename displayed in the cell view selection box
was not updated
2. The width of the library and cellview panel could not be reduced
below the width of the combo boxes in the headers. So the
panels might have become pretty wide without being able to reduce
them.
* Implemented #560 (multiple techs on libraries)
2020-06-05 10:59:10 +02:00
Matthias Köfferlein
96ec395a33
Fixed issue #578 (CIF writer issue with arbitrary angle) ( #581 )
...
* Fixed isse #578 (CIF writer issue with arbitrary angle)
* Added missing files.
2020-06-05 10:57:43 +02:00
Matthias Köfferlein
ba9cc8820d
Implemented #579 (perimeter_only mode for antenna check) ( #582 )
...
* WIP: added basic feature and tests.
* WIP: provide tests are GSI binding of new antenna check
* Fixed issue #579 (perimeter_only mode for antenna check)
* Updated DRC doc for 'perimeter_only'
2020-06-05 10:55:38 +02:00
Matthias Koefferlein
c0f7e5deb3
PORT BACK: fixed a few flaws (fixed-width side panel ..)
...
1. On "save as" the filename displayed in the cell view selection box
was not updated
2. The width of the library and cellview panel could not be reduced
below the width of the combo boxes in the headers. So the
panels might have become pretty wide without being able to reduce
them.
2020-06-01 10:22:54 +02:00
Matthias Köfferlein
6ed321c05f
Implemented #570 (perimeter included in antenna check) ( #572 )
...
* First implementation of the perimeter factor for antenna check, unit tests.
* Bugfix and unit tests for GSI binding of new antenna check version.
* DRC integration of perimeter-enabled antenna check.
* Enhanced DRC doc for antenna rule
2020-05-30 21:46:41 +02:00
Matthias Köfferlein
5126c6f761
Fixed #565 (SPICE global nets must not produce pins if not present) ( #567 )
...
* Fixed #565 (SPICE global nets must not produce pins if not present)
* Fixed unit tests.
2020-05-26 23:48:31 +02:00
Matthias Köfferlein
e45037a76a
Fixed bug #568 (CIF writer issue with small rotation angles) ( #569 )
...
* Fixed bug #568 (CIF writer issue with small rotation angles)
* Fixed the reader bug too which created the rounding issue.
2020-05-25 22:14:02 +02:00
Matthias Köfferlein
d503b8e4c8
Fixed #547 (better error messages on some Shape methods, fixed doc). ( #550 )
2020-05-11 19:25:22 +02:00
Matthias Köfferlein
7a40d36daa
Fixed #554 : using 64bit coordinates for RVE reader ( #555 )
2020-05-11 19:25:18 +02:00
Matthias Köfferlein
76c3175576
Fixed #548 (shield issue on space) ( #549 )
2020-04-30 22:05:17 +02:00
Matthias Köfferlein
c08d2f0684
Fixed #544 (ignore duplicate global nets in SPICE reader) ( #545 )
2020-04-26 16:55:29 +02:00
Matthias Köfferlein
2cb1df74f7
Fixed #539 (internal error on circuit flatten) ( #542 )
...
Previously, circuits which connected two pins through
a net could not be flattened. This capability now has
been added.
2020-04-26 16:55:16 +02:00
Matthias Koefferlein
eb774c08ab
Adjusted unit tests for latest fix.
2020-04-26 16:52:40 +02:00
Matthias Koefferlein
a6b4e46ca3
Fixed an issue in the strmxor implementation (output_cell wasn't initialized)
2020-04-26 16:52:31 +02:00
Matthias Koefferlein
75f7b10d35
Fixed a layout diff bug (compare of paths)
2020-04-26 16:52:17 +02:00
Matthias Köfferlein
6526ac0c24
Fixed #524 (failed query leaves layout in invalid state) ( #528 )
2020-04-05 15:20:10 +02:00
Matthias Köfferlein
17ed8d7d89
Fixed issue #530 (events are mentioned as getters two times) ( #531 )
2020-04-05 15:20:00 +02:00
Matthias Koefferlein
2ffe3f2fbd
MERGE: fixed a typo in the undo title.
2020-04-04 20:34:55 +02:00
Matthias Koefferlein
e56aac2859
MERGE: added Spice reader testcase for resistors with model names.
2020-04-04 20:33:44 +02:00
Matthias Koefferlein
f5bb371961
MERGE: Enhanced DRC and LVS documentation somewhat
2020-04-04 20:33:37 +02:00
Matthias Koefferlein
0e201f4ddb
MERGE: strmxor could not identify layers when one has a name and the other does not (but both have numbers)
2020-04-04 20:31:30 +02:00
Matthias Koefferlein
bccc7ee458
Updated unit test
2020-03-29 09:23:52 +02:00
Matthias Koefferlein
b4030a3781
Fixed a merge issue.
2020-03-29 00:37:21 +01:00
Matthias Koefferlein
2de479c3b1
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:54:00 +01:00
Matthias Koefferlein
7f7c7b607a
MERGE: documentation enhancements for LVS/DRC
2020-03-28 12:33:09 +01:00
Matthias Koefferlein
3411eeea4c
Added one more testcase for join_symmetric_nets
2020-03-28 12:33:07 +01:00
Matthias Koefferlein
8170177608
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-28 12:33:05 +01:00
Matthias Koefferlein
39bf2a1b38
Provide timing information for Spice reader/writer
2020-03-28 12:33:03 +01:00
Matthias Koefferlein
251220558c
Fixed #525 - report true source line in DRC and LVS verbose mode
2020-03-28 12:32:58 +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 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
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