Commit Graph

905 Commits

Author SHA1 Message Date
Matthias Köfferlein 46712e8866 Fixed #646 (crash on delete of library) (#685)
* Fixed a compiler warning

* Fixed #646 (crash on PCell Library "delete")

The issue was mainly caused by a "cleanup" call on
the library. Cleanup is supposed to remove excess
top level PCell variants. For libraries this is not
possible, as the library does not know which variants
are used and which are not.

In addition, some hardening against segfaults in
case of defect layouts has been applied.
2020-11-27 18:37:16 +01:00
Thomas Ferreira de Lima a452853c45 Adding clarification on GDS properties in cell, instance, shape and layout. 2020-11-11 22:38:07 -05:00
Matthias Köfferlein 4dbb4e72ca Fixed #652 (M scaling not working sometimes for Spice), provided test… (#653)
* Fixed #652 (M scaling not working sometimes for Spice), provided testcases

* One more patch (bugfix, Spice reader)
2020-10-10 23:22:48 +02:00
Matthias Köfferlein 9d3d3e8df6 Fixed #651 (DRC "select" feature issues) (#654)
* WIP: added test case, fixed dup problem and '-' shortcut

* WIP: updated DRC doc and could not resist the temptation to fix 'it's' vs. 'its'

* Deep mode also working with select now. Updated tests.
2020-10-10 23:22:15 +02:00
Matthias Koefferlein 4371df61cd Updated fix version in RBA::Layout documentation. 2020-09-14 18:47:53 +02:00
Matthias Koefferlein c816f91fb0 Provide multi-cell copy/move of shapes (GSI binding) 2020-09-14 18:47:48 +02:00
Matthias Koefferlein 72b12ffe1a Added multi-cell mapping for transferring multiple cells from one layout to another while including their hierarchy without duplicating cells. 2020-09-14 18:47:43 +02:00
Matthias Köfferlein cb6e8760d3 Fixed issue #617 (constness problem in netlist) (#622) 2020-09-14 18:43:05 +02:00
Matthias Köfferlein 2576d0a8af Fixed #609 (internal error on netlist extract) (#610)
Reason was: when caching instance-to-instance interactions,
the array descriptions need to be normalized too.
2020-07-07 18:25:53 +02:00
Matthias Köfferlein 1d5275d22f Implemented #586 (issues with duplicate cell names) (#605)
As discussed in the ticket, the implementation will
check for unique cell names upon *writing* of a layout
file.
2020-07-05 18:43:04 +02:00
Matthias af34116b81 Fixed compile issue happend during porting of Cell#transform from master to 0.26 2020-07-05 05:36:51 -07:00
Matthias Köfferlein 3d20290499 Fixed #596 (crash on library _destroy) (#597) 2020-07-03 23:43:45 +02:00
Matthias Köfferlein ec4fefdfbe Implemented issue #598 (Cell#transform) (#600) 2020-07-03 23:43:39 +02:00
Matthias Köfferlein c416c7faf9 Fixed #592 (layer mapping issue) (#601) 2020-07-03 23:43:24 +02:00
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 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 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 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 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 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 d503b8e4c8 Fixed #547 (better error messages on some Shape methods, fixed doc). (#550) 2020-05-11 19:25:22 +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 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 Koefferlein e56aac2859 MERGE: added Spice reader testcase for resistors with model names. 2020-04-04 20:33:44 +02:00
Matthias Koefferlein bccc7ee458 Updated unit test 2020-03-29 09:23:52 +02: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 39bf2a1b38 Provide timing information for Spice reader/writer 2020-03-28 12:33:03 +01:00
Matthias Köfferlein b0fad430df Fixed a severe bug in join_symmetric_nets 2020-03-03 22:24:58 +01:00
Matthias Koefferlein 6721cb9c5b Merge branch 'issue-482-update' 2020-03-02 18:57:40 +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