Matthias Koefferlein
1a53cd00d2
Convenience 'each' for recursive shape iterator / recursive instance iterator
2022-02-08 22:28:09 +01:00
Matthias Köfferlein
285a5e9fca
Issue 983 ( #986 )
...
* WIP: first attempt to fix issue-983
* WIP: bugfixes
* Fixed a problem with displaying empty cell dimensions, one warning
* Another fix: don't allow proxy cells to be selected in the instance properties dialog. This creates a confusing behaviour
* Fixed a few flaws in the cell selection scheme on the instance properties dialog.
* Early warning when trying to build a recursive hierarchy.
* Another fix: avoid too much undo in case of errors thrown during 'apply' followed by 'cancel'
* Fixed issue-983 solution
* Fixed the modification status of PCell parameters for 'apply to all'
2022-02-08 19:06:27 +01:00
Matthias Koefferlein
e49b189f64
Doc clarification for Layout#create_cell
2022-02-07 23:27:10 +01:00
Matthias Koefferlein
88c56d8b64
Introducing unique_cell_name in Layout, fixed the RBA unit tests
2022-02-07 23:05:53 +01:00
Matthias Koefferlein
0bb0f400bf
Introducing world box.
2022-02-07 22:44:35 +01:00
Matthias Koefferlein
79be9aba41
RecursiveInstanceIterator uses weak pointer to Layout too
2022-02-07 22:09:57 +01:00
Matthias Koefferlein
c0b38f3706
Using a weak Layout pointer to avoid segfaults in RecursiveShapeIterator
2022-02-07 21:56:37 +01:00
Matthias Koefferlein
e2c6e7aedc
size/sized versions with Vector/DVector
...
Adds variants to size/sized which take a vector instead
of dx, dy and where the mode parameter is optional. So far
anisotropic sizing had to come with a mode argument.
2022-02-07 20:59:09 +01:00
Matthias Koefferlein
de98a30f38
Text/DText enhancements
...
* Enums for alignment values.
* bbox
* position
* typos fixed
2022-02-07 19:46:13 +01:00
Matthias Koefferlein
95b6af4bc6
Merge branch 'master' into qt6
2022-01-21 15:43:33 +01:00
Matthias Koefferlein
df60f49276
Fixed issue-969 plus a Qt warning
2022-01-12 22:49:20 +01:00
Matthias Koefferlein
12fd26663d
Merge branch 'qt6'
2022-01-06 21:48:02 +01:00
Matthias Koefferlein
10456516db
Updated copyright to 2022, preparations for 0.27.6 (was delayed due to code signing certificate issues)
2022-01-04 21:20:04 +01:00
Matthias Köfferlein
460ba9813a
Merge pull request #957 from KLayout/issue-954
...
Bugfix for #954
2021-12-26 19:14:44 +01:00
Matthias Koefferlein
e1cd6aaeb1
Bugfix for #954
...
The bug was that while iterating a Region during the gate traversal,
the "select_interacting" was triggering a sort() which changed the
order.
Solution is to pre-sort when iterators are issued also when the
iterator is non-region selecting. This way, plain and region query
iterators can be used together. In addition, the dirty flag scheme
of Cell+Shapes was cleaned up a little for bboxes.
2021-12-26 01:12:36 +01:00
Matthias Koefferlein
9cd77e5cec
WIP: expose a new method of PCellDeclaration called 'wants_lazy_evaluation'
2021-12-25 18:03:30 +01:00
klayoutmatthias
edd5884a1a
WIP: enabling build on MSVC2019 with Qt6
2021-12-15 00:31:13 +01:00
Matthias Koefferlein
279342e61a
Added more declarations for gcc in release mode
2021-12-12 16:48:44 +01:00
Matthias Koefferlein
ef62a126d4
WIP: format string problem fixed in 2.5d view
2021-12-05 00:08:08 +01:00
Matthias Koefferlein
125543957d
WIP: Fixed GSI to some extent, some tests
2021-12-04 00:31:01 +01:00
Matthias Koefferlein
6b49386b67
WIP: fixed some build errors
2021-11-29 23:27:26 +01:00
Matthias Koefferlein
132ad2ed8d
WIP: removing need to tl::type_traits
2021-11-29 22:54:28 +01:00
Matthias Koefferlein
ecc83aa579
Solved #879 : PCellDeclaration now knows the layout and layout knows the library
2021-11-14 17:45:52 +01:00
Matthias Koefferlein
0ca82001ed
#935 fixed (checking for valid cell index)
2021-11-13 01:03:54 +01:00
Matthias Koefferlein
719eb0bce8
Fixed a potential crash on application exit
2021-11-13 00:48:27 +01:00
Matthias Koefferlein
d2478881b5
Bugfix: threading issue - multiple threads accessed the same object
2021-11-10 22:30:32 +01:00
Matthias Koefferlein
379a22c86a
Restored performance of some checks
2021-11-09 21:55:55 +01:00
Matthias Koefferlein
319efc1f95
Bugfix: negative output wasn't working properly for enclosing and overlap.
2021-11-09 00:32:07 +01:00
Matthias Koefferlein
4a44329e38
Enabling 'enclosed' as a (sometimes) more efficient way of implementing an enclosing check.
2021-11-08 23:18:01 +01:00
Matthias Koefferlein
9fa82f01d8
WIP (code reduction and performance enhancement of basic DRC checks)
2021-11-07 21:46:18 +01:00
Matthias Koefferlein
a0367c1530
More specific clip variants after bounding boxes have been reduced in RecursiveShapeIterator
2021-11-01 17:27:52 +01:00
Matthias Koefferlein
bc54ba3b99
Merge branch 'performance' into head
2021-11-01 14:32:31 +01:00
Matthias Koefferlein
d244d5aac6
Debugging plus enhancments
...
Basic change: DeepShapeStore+CellMapping uses (new) hier_generation_id of Layout to figure out
if the hierarchy has changed and the cache needs update.
2021-11-01 13:49:00 +01:00
Matthias Koefferlein
64a6b3acdc
WIP
2021-11-01 09:53:51 +01:00
Matthias Koefferlein
902375cc4d
WIP: trying to reduce the number of DSS-internal cell mappings by caching cell maps
2021-10-31 00:59:42 +02:00
Matthias Koefferlein
455c40ced6
More consistent verbosity levels for cell mapping
2021-10-30 21:31:05 +02:00
Matthias Koefferlein
ebe38912a6
Tests and documentation for dbTrans#is_complex?
2021-10-27 23:36:58 +02:00
Matthias Koefferlein
20f3733c58
WIP: lean recursive shape touch check
2021-10-27 00:38:12 +02:00
Matthias Koefferlein
596080669d
WIP
2021-10-26 23:10:29 +02:00
Matthias Koefferlein
7881c0953c
WIP
2021-10-24 20:28:15 +02:00
Matthias Koefferlein
c6bd856331
WIP
2021-10-24 00:05:50 +02:00
Matthias Koefferlein
09df614d8a
Bugfix: array iterator must not iterate on empty search box.
2021-10-22 23:52:35 +02:00
Matthias Koefferlein
abe40ae99f
Bugfix plus more tests
2021-10-19 20:48:13 +02:00
Matthias Koefferlein
451f57bb25
Fixed #909 (Crash on DRC)
2021-09-21 23:37:57 +02:00
Matthias Köfferlein
80fd5b79be
Merge pull request #908 from KLayout/netlist-compare-performance2
...
Improving netist compare performance for array case + some enhancements
2021-09-21 22:43:37 +02:00
Matthias Köfferlein
f1e59a7dc6
Merge pull request #907 from KLayout/issue-905
...
Fixed #905 (Crash while deleting a Library)
2021-09-21 22:43:22 +02:00
Matthias Koefferlein
ceb0b2298f
Some cleanup, updated tests
2021-09-19 19:05:09 +02:00
Matthias Koefferlein
b7827f7b5f
Maybe found a solution for the matrix arrangement runtime problem
2021-09-19 18:29:57 +02:00
Matthias Koefferlein
930423bcc7
WIP
2021-09-19 17:26:28 +02:00
Matthias Koefferlein
a42d761e95
Some small refactoring
2021-09-17 22:46:56 +02:00
Matthias Koefferlein
71b5695344
Fixed #905
2021-09-15 00:09:56 +02:00
Matthias Koefferlein
0f4b0e4826
Ported some enhancements from WIP branch (debug output, capturing easy wins when max depth is exhausted)
2021-09-14 22:31:24 +02:00
Matthias Koefferlein
b671b1843b
Fixed a problem with net compare config - depth first wasn't considered in all cases
2021-09-12 22:35:08 +02:00
Matthias Koefferlein
89052660ee
Refactoring of the netlist compare code
2021-09-12 22:35:03 +02:00
Matthias Koefferlein
822709dd5a
Refactoring of the netlist compare code
2021-09-12 22:34:59 +02:00
Matthias Koefferlein
52c79feeed
Refactoring of the netlist compare code
2021-09-12 22:34:55 +02:00
Matthias Koefferlein
ab3bceda75
Fixed #898 (netlist reader ignores last list)
2021-08-29 21:12:04 +02:00
Matthias Köfferlein
225d3ab32d
issue-892 ( #895 )
2021-08-24 21:37:02 +02:00
Matthias Köfferlein
1916a4f683
Merge pull request #884 from KLayout/issue-881
...
Fixed #881 (typo in separation check and others)
2021-07-31 11:01:55 +02:00
Matthias Koefferlein
d7438b43ae
Fixed #881 (typo in separation check and others)
2021-07-30 23:13:24 +02:00
Matthias Koefferlein
9543cea952
Fixed tests
2021-07-29 22:24:22 +02:00
Matthias Koefferlein
8b970039c0
Using primary(layout) netlist as reference for primary parameters and compare delegate - this also removes some potential glitches
2021-07-29 01:15:35 +02:00
Matthias Koefferlein
a90e14b692
Some tests added.
2021-07-27 23:08:34 +02:00
Matthias Koefferlein
42b7290fe5
Device parameter comparer now also compares other (primary) parameters, parameters primary in both netlists are considered to be compared by default, 'ignore' feature in tolerance
2021-07-27 22:15:59 +02:00
Matthias Koefferlein
37457aa02f
Spice reader flags existing parameters as primary
2021-07-27 22:13:45 +02:00
Matthias Koefferlein
7a37a6b7ed
Implemented extent(cell_filter) for DRC, added Layout#cells with name filter
2021-07-21 18:31:51 +02:00
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