Matthias Koefferlein
722b45b721
Fixed tests
2021-07-19 07:47:41 +02:00
Matthias Koefferlein
bc74f189f8
Introducing asymmetric ambiguity groups for better matching of black box circuits with optional pins.
2021-07-18 23:33:01 +02:00
Matthias Koefferlein
70f4c7e2b5
A small refactoring.
2021-07-18 23:09:51 +02:00
Matthias Koefferlein
2c8d065eb3
Some enhancments + test update
...
1. Be more careful with net names
Net names are used now for sorting the graph nodes, but not for
strict compare. This is useful to derive swappable pins for
blackbox circuits.
2. Be more careful with pins from schematic netlist
Pins from schematic netlist without a corresponding pin on the layer
side are treated as mandatory unless connected to a trivial net.
Pins connecting to non-trivial nets inside the subcircuit are always
considered mandatory.
This way schematic pins enforce corresponding layout pins.
On the other hand, layout pins connecting to trivial nets inside
the subcircuit are considered non-mandatory.
2021-07-18 22:34:02 +02:00
Matthias Koefferlein
51d117e379
Refined black box pin heuristics
...
Pins are required to match if they are passive inside the
subcircuit but connected to a non-trivial net in the calling circuit.
2021-07-18 20:39:19 +02:00
Matthias Koefferlein
05386668b4
Re-introducing pin name mapping for net assignment
2021-07-18 20:20:23 +02:00
Matthias Koefferlein
23bea5dc07
Using real pin IDs for printing nodes in netlist compare debug output
2021-07-18 17:39:32 +02:00
Matthias Koefferlein
d018805c23
Some refactoring.
2021-07-18 16:54:27 +02:00
Matthias Koefferlein
2f3e113db0
Added missing subcircuit mismatch events to netlist compare
2021-07-17 22:06:06 +02:00
Matthias Koefferlein
3f3f4c9173
Fixed some compiler warnings.
2021-07-17 22:03:22 +02:00
Matthias Köfferlein
054bfa3be4
Merge pull request #865 from KLayout/issue-864
...
Fixed #864 (Shapes#copy_shapes does not support undo/redo)
2021-07-17 13:44:15 +02:00
Matthias Köfferlein
19f2769137
Merge pull request #862 from KLayout/matching-of-blackbox-circuits
...
Enhanced matching of blackbox/pin ambiguities
2021-07-17 13:43:59 +02:00
klayoutmatthias
1555daf68c
Adjustments for Windows build with MSVC2019 (VC 16.10.31419.357)
...
1. removed some duplicate symbol linker error
2. removed many compiler warnings (mainly size_t/int compatibility)
3. consistent definition of db::pcell_id_type
4. removed UTF-8 character codes from string constants
5. float constants for float arguments
6. timeout in tlHttp when no openssl lib is found (instead of stalling
app)
2021-07-17 00:20:55 +02:00
Matthias Koefferlein
2fee924103
Updated the solution
2021-07-15 23:39:02 +02:00
Matthias Koefferlein
d14892382c
Fixed #864 (Shapes#copy_shapes does not support undo/redo)
...
While doing so changed the following things too:
- Instance and Shapes methods raise an exception if not
in editable mode and with undo/redo
- Faster and leaner undo/redo on Shapes#clear
2021-07-15 00:44:28 +02:00
Matthias Koefferlein
2b447854f9
Enhanced matching of blackbox/pin ambiguities
...
Previously: matching of blackbox pins was enforced
by using pin names for passive nets in the compare.
Problem: no match was achieved when pins are not
named or not named consistently.
In this case, it's desirable to treat them as
ambiguous.
The new solution is to let the ambiguity resolver handle
that using an extended definition of the net names:
it will take the pin name into account if an unnamed net
is attached to a pin.
In addition, net ambiguities are projected to pin
equivalence now. This also will propagate symmetry
through nested blocks (dbNetlistCompareTests:20_BusLikeConnections).
2021-07-08 23:54:20 +02:00
Matthias Koefferlein
bad3232415
Trying to fix a linker problem.
2021-07-07 08:03:07 +02:00
Matthias Koefferlein
4e54715d64
Merge branch 'wip-lvs'
2021-07-06 23:40:44 +02:00
Matthias Köfferlein
e78d0d81ae
Merge pull request #849 from KLayout/lvs-blackbox
...
Lvs blackbox
2021-07-06 23:38:21 +02:00
Matthias Koefferlein
720057e071
Added a #include which was missing
2021-07-06 21:16:57 +02:00
Matthias Koefferlein
8f65ab099f
Fixed DeviceClass assignment operator
2021-07-06 07:56:27 +02:00
Matthias Koefferlein
4e0d8d92ef
Updated doc, reverted netlist writer to write all parameters - it will only write primary parameters for R, L and C
2021-07-05 22:45:40 +02:00
Matthias Koefferlein
e34fc8967a
Some enhancements
...
* Device#net_for_terminal with terminal name
* Spice writer now dumps all parameters for resistors and caps (also secondary)
* Enabled Spice writer delegate in LVS (spice_format(...))
* Device class factories for built-in device extractors
2021-07-05 22:22:13 +02:00
Matthias Koefferlein
ba35ac9bfe
Doc update, some tests
2021-07-05 21:06:02 +02:00
Matthias Koefferlein
c62592ede1
Added test for device class factory.
2021-07-05 19:55:55 +02:00
Matthias Koefferlein
4303e1ab73
Revert change of making spice parameters primary - will create problems in swappable parameters such as AD and AS
2021-07-04 19:58:15 +02:00
Matthias Koefferlein
ae6f77f45f
Serialization of custom device classes
2021-07-04 19:14:37 +02:00
Matthias Koefferlein
3220bdf60d
Added device class templates for CapWithBulk and ResWithBulk
2021-07-04 19:14:11 +02:00
Matthias Koefferlein
ce61145f1c
More control over primary/secondary flag of parameters in device extraction
...
- Spice reader will set primary flag for all (known) parameters
read from a Spice netlist
- "extract_devices" will return the device class object
- primary/secondary flag can be set on device class objects
through "enable_devices"
2021-07-04 17:05:17 +02:00
Matthias Koefferlein
1a0b05e663
Updated test data
2021-07-02 23:38:38 +02:00
Matthias Koefferlein
79c552b300
Fixed #858 (+ line continuation after blanks in Spice reader)
2021-07-02 23:31:54 +02:00
Matthias Koefferlein
fd5efe9f92
Fixed #854
2021-07-02 00:46:22 +02:00
Matthias Koefferlein
6f63fa09bf
Fixed #856
2021-07-02 00:44:17 +02:00
Matthias Koefferlein
3d6119f2a6
Updated tests, sloppy 'same_nets' in non-must-match mode
2021-06-29 08:43:28 +02:00
Matthias Koefferlein
ab70c42c68
Some enhancements for strong matching of nets
...
* same_nets! method for strong matching
* same_nets and same_nets! except glob pattern to circuits and nets
* both observe case sensitivity
* helper functions for case sensitivity Netlist#is_case_sensitive?, Netlist#case_sensitive=
* Netlist#nets_by_name to get nets from pattern
2021-06-28 22:33:46 +02:00
Matthias Koefferlein
72dc94197e
New method: Circuit#nets_by_name
2021-06-28 20:29:40 +02:00
Matthias Koefferlein
e0ccb4f980
Fixed a typo
2021-06-28 18:57:09 +02:00
Matthias Koefferlein
24afd571f0
LVS: can be used anywhere now: tolerance and join_symmetric_nets
2021-06-28 18:56:07 +02:00
Matthias Koefferlein
c24c0933bf
Bugfix: blackbox mode/abstract pins
...
Abstract pins are created when pins are not attached to any or only to passive nets
(passive nets are those without device terminals or subcircuit pins).
1. Such pins were treated swappable. Now named pins will not be treated
swappable but are mapped by name. This enables blackbox models where
the pins are labelled and must correspond to schematic pins.
2. A bug was present which lead to incorrect handling of abstract
nets in net compare.
2021-06-27 22:56:28 +02:00
Matthias Koefferlein
d65148ed0b
Fixed #846
2021-06-27 17:29:41 +02:00
Matthias Koefferlein
881e0010d5
Implemented with(out)_angle, with(out)_area on edge pairs (DRC, GSI). Deprecated 'with(out)_angle' on polygon layers (DRC) as this is now redundant with 'corners'
2021-06-27 14:18:04 +02:00
Matthias Koefferlein
5251520876
Added more filters for edge pairs: with_area, with_internal_angle. Added tests
2021-06-21 23:44:48 +02:00
Matthias Koefferlein
6e7c9192d4
Implemented #818
2021-06-20 21:45:51 +02:00
Matthias Koefferlein
2bbf6b6998
Merge branch 'clipped-25d-view'
2021-06-20 21:02:40 +02:00
Matthias Koefferlein
5fb2f024dc
Fixed some typos
2021-06-19 23:12:59 +02:00
Matthias Koefferlein
71e290b50e
Added test for the last commit
2021-06-13 23:02:53 +02:00
Matthias Koefferlein
d1f38a36b1
Not directly related (initially so): EdgeProcessor can restart now.
2021-06-13 23:02:09 +02:00
Matthias Koefferlein
3b22bc0a42
Fixed the fix: considering the case of non-layout hosted Shapes container too
2021-06-12 23:34:32 +02:00
Matthias Koefferlein
115593575d
Merge branch 'master' of github.com:KLayout/klayout into issue-835
2021-06-12 09:47:31 +02:00
Matthias Koefferlein
6f583b1b21
Fixed #835
2021-06-12 09:45:02 +02:00
Matthias Köfferlein
8bd58be534
Merge pull request #830 from KLayout/issue-824
...
Issue 824
2021-06-12 08:58:00 +02:00
Matthias Koefferlein
43c941004a
Fixed embarrassing typo: Minkowsky -> Minkowski (Hermann Minkowski, 22 June 1864 – 12 January 1909)
2021-06-10 23:33:49 +02:00
Eugene Zelenko
ed27447ce0
Fix misspellings in db.
2021-06-07 18:21:02 -07:00
Matthias Koefferlein
8b528a8a7a
Refactored the compound op node cache for multithreading support
2021-06-07 22:46:15 +02:00
Matthias Koefferlein
02ec262df0
Normalized resistor contact polygons for better test reproducibility.
2021-06-03 23:43:00 +02:00
Matthias Koefferlein
7aaddcf205
Normalize S/D choice on MOS transistor extraction for better test reproducability
2021-06-03 17:32:38 +02:00
Matthias Koefferlein
a762797d58
Typos fixed.
2021-06-01 21:32:24 +02:00
Matthias Koefferlein
ef01bbf81b
Restored merge behavior for DRC 'or' also in deep mode
2021-05-31 18:24:00 +02:00
Matthias Köfferlein
63f4d727e9
Merge pull request #813 from KLayout/wip
...
Wip
2021-05-29 23:59:44 +02:00
Matthias Koefferlein
83685a3715
Fixed a build issue.
2021-05-29 22:06:13 +02:00
Matthias Koefferlein
eeaab8a417
Bugfix: Region#flatten and Edges#flatten did not update the merged cache to flat and Region#flatten did not produce PolygonRefs
2021-05-29 19:28:56 +02:00
Matthias Koefferlein
5ceeafc0ff
Implemented #808 (Feature suggestion: DRC to report edges attached to corners as edge pairs). Solution is available for DRC layers and universal DRC expressions.
2021-05-29 17:57:38 +02:00
Matthias Koefferlein
e57d573a42
Tests, so bug fixes, some refactoring
2021-05-29 09:43:12 +02:00
Matthias Koefferlein
c8548709bb
Implemented edge pair filters, DRC: with(out)_angle, with(out)_length and with(out)_distance
2021-05-28 23:46:52 +02:00
Matthias Koefferlein
fcb966393a
Fixed #806 : first, the internal error gone. Second, the implementation of custom comparers is simplified as the 'equals' method does not need to be implemented.
2021-05-26 22:39:28 +02:00
Matthias Koefferlein
ef22ead019
Fixed a bug in the Spice writer implementation (res3 not considered)
2021-05-26 22:27:42 +02:00
Niko Savola
ff90c476c3
Fix typos systemically in gsiDecl*.cc
2021-05-26 13:18:23 +03:00
Niko Savola
99ef222f50
Fix more typos in gsiDeclDbLayoutToNetlist.cc
...
\\make_incluidelayer -> \\make_includelayer
sqaure -> square
2021-05-26 12:37:24 +03:00
Niko Savola
b27e5de023
Fix typo in gsiDeclDbLayoutToNetlist
...
reprfesenting -> representing
2021-05-26 12:31:46 +03:00
Niko Savola
bc16c4ad31
Fix missing 'to' typo
...
from another cell this cell -> from another cell to this cell
2021-05-26 10:33:07 +03:00
Matthias Koefferlein
6ad8ec5662
Bugfix: whole edge output for fragmented second input. No way to fix that for the compound ops. Restrict negative output for two-layer checks on first layer for the same reason.
2021-05-26 00:27:13 +02:00
Matthias Koefferlein
19b28982e7
WIP: updated test data (bugfix: bulk does not have layer properties), Fixed Region::count and Region::hier_count (was counting non-polygons too)
2021-05-25 23:08:38 +02:00
Matthias Koefferlein
3789e38ce3
WIP: avoid one more segfault.
2021-05-25 22:45:19 +02:00
Matthias Koefferlein
0d6ce92d6b
WIP: fixed a potential segfault
2021-05-25 21:41:27 +02:00
Matthias Koefferlein
0452e91e8c
WIP: Some hardening against internal state changes in RecursiveShapeIterator, tests fixed
2021-05-25 21:36:54 +02:00
Matthias Koefferlein
1c8442f485
Fixed #807 - now supporting incremental connect and clear_connections in DRC/LVS
2021-05-24 21:56:57 +02:00
Matthias Koefferlein
58afc47071
WIP: reduced space runtimes (OpenRAM sample) by selective edge processing
2021-05-24 18:27:16 +02:00
Matthias Koefferlein
05b1023fd5
Updated tests.
2021-05-24 16:49:00 +02:00
Matthias Koefferlein
2fc301a0b6
More efficient shape counts on OriginalLayer
2021-05-23 12:21:18 +02:00
Matthias Koefferlein
4bc665cbf3
Mapping deep-mode 'or' (DRC) to 'add' to avoid flat processing.
2021-05-22 22:32:29 +02:00
Matthias Koefferlein
560234cacb
Less noisy output with verbose debug mode
2021-05-22 22:29:57 +02:00
Matthias Koefferlein
6cfe14a418
Typo corrected
2021-05-22 22:29:10 +02:00
Niko Savola
feb5e7eece
Fix documentation typo in gsiDeclDbCell.cc
2021-05-21 14:35:21 +03:00
Matthias Koefferlein
aea8c4d1ad
3-terminal C's and R's for Spice writer too, using different default models for 2- and 3-terminal R and C
2021-05-13 21:13:41 +02:00
Matthias Koefferlein
4eb8f69a22
Spice reader: Support for resistance, capacitance and inductance values within parameters, basic support for 3-terminal resistors, more flexibility in SpiceReaderDelegate.
2021-05-13 20:40:28 +02:00
Matthias Köfferlein
9c5542d3d2
Merge pull request #788 from KLayout/issue-787
...
Issue 787 fixed
2021-05-08 22:26:10 +02:00
Matthias Koefferlein
70864e41af
Implemented Edge#cut_point for GSI (was missing)
2021-05-04 21:12:46 +02:00
Matthias Koefferlein
31cc8f32e2
Fixed #787 - the results of const reference return values need to be copied as the holder object may go out of scope
2021-05-02 23:00:38 +02:00
Matthias Koefferlein
1285868546
Skip private-only tests without private data access
2021-05-01 21:36:52 +02:00
Matthias Koefferlein
7c3c631515
Merge branch 'master' into feedback
2021-04-29 23:53:47 +02:00
Matthias Koefferlein
281681fffb
Limit hier processor instance/instance and instance/cluster cache depth to 20 entries per cell pair to avoid memory explosion
2021-04-28 22:51:00 +02:00
Matthias Koefferlein
855e8a3518
WIP: some enhancements with the effect of reducing instance interaction caching overhead and improving performance. More memory and cache metrics.
2021-04-27 22:27:22 +02:00
Matthias Koefferlein
2f204eaa21
Some refactoring of the instance-to-instance test in hier processor: gives some performance improvement with less memory for cache.
2021-04-26 23:15:27 +02:00
Matthias Koefferlein
6e52e6f0c6
WIP: introducing memory metrics for netlist/l2n
2021-04-26 22:26:31 +02:00
Matthias Koefferlein
7d8825a9fb
Ghost cells are not renamed in blend mode 'rename'
2021-04-24 21:30:03 +02:00
Matthias Köfferlein
f8e7e3b6e1
Merge pull request #770 from KLayout/lvs-enhancement
...
Lvs enhancement
2021-04-14 23:24:30 +02:00
Matthias Koefferlein
6ea04d6c27
Small LVS enhancement: reject backtracking branch if it leads to ambiguous name conflicts
2021-04-13 22:57:08 +02:00
Matthias Koefferlein
a02c2c8eeb
Merge branch 'master' into hierarchical-edges
2021-04-11 22:47:38 +02:00
Matthias Koefferlein
870fd2e0bd
Fixed some valgrind issues.
2021-04-08 23:30:47 +02:00
Matthias Koefferlein
c4e5310c95
Bugfix: holes and hulls are not neccessarily merged
2021-04-08 00:32:03 +02:00