Matthias Köfferlein
572103ad23
Fixed issue-972 ( #1003 )
...
The implementation basically means making cell names valid
rather than quoting them. This involves unification.
2022-02-12 18:08:52 +01:00
Matthias Köfferlein
0005c5d742
Fixed #971 (double compare fails in LVS) ( #1001 )
2022-02-12 17:04:47 +01:00
Matthias Koefferlein
8091464916
Fixed unit tests
2022-02-11 19:12:57 +01:00
Matthias Koefferlein
2ed572e684
Merge branch 'api-enhancements'
2022-02-11 19:10:21 +01:00
Matthias Koefferlein
98dd0de139
clip method variants with dboxes and cell references in Layout
2022-02-08 23:49:28 +01:00
Matthias Koefferlein
3a422f2c38
Trans: mapping ctrans to * for harmonization
2022-02-08 23:13:37 +01:00
Matthias Koefferlein
a5e7395d10
Convenience initializer for CellInstArray and DCellInstArray that takes a vector instead of a transformation
2022-02-08 22:56:58 +01:00
Matthias Koefferlein
1a53cd00d2
Convenience 'each' for recursive shape iterator / recursive instance iterator
2022-02-08 22:28:09 +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
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
989daa82c1
Added a test case for klayout.lib
2022-02-06 23:28:51 +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
86cee4118b
Updated copyright for 2022 for remaining files.
2022-01-07 22:22:31 +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 Koefferlein
92f6f2fb67
New tests
2021-12-26 21:20:58 +01:00
Matthias Koefferlein
812e26aff9
Added missing file
2021-12-26 11:14:40 +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
533a72b7bd
Added tests, fixed implementation
2021-12-15 23:18:42 +01:00
Matthias Koefferlein
ca304b15c8
Enable multi-base support for RBA + Qt binding
2021-12-11 00:14:10 +01:00
Matthias Koefferlein
0aca56b1c6
Fixed pymod tests
2021-12-10 01:23:54 +01:00
Matthias Koefferlein
f15db66fc4
Providing a different implementation of the multi-base mixin concept for Python to support multiple bases in Qt binding (e.g. QIODeviceBase)
2021-12-10 00:53:51 +01:00
Matthias Koefferlein
9c0e94e63c
WIP: Allowing extension (mixin) classes
...
Needed to represent QIODeviceBase as a second base class for
QIOdevice, QFile etc. Additional base classes are supported but
in a rather limited way. They only contribute constants like enums.
No methods can be provided this way (a limitation of the method
enumeration scheme which only supports one base classe)
2021-12-07 23:24:08 +01:00
Matthias Koefferlein
6f9fa7a4a2
Merge branch 'qt6' of www.klayout.org:/home/matthias/git/klayout into qt6
2021-12-05 17:21:09 +01:00
Matthias Koefferlein
1777002d4a
WIP: fixed a unit test (Qt6 QActions seem to remember checked state even if not checkable)
2021-12-05 16:04:13 +01:00
Matthias Koefferlein
634f6da615
Fixed RBA basic test for Qt5.
2021-12-05 13:48:52 +01:00
Matthias Koefferlein
ab97a4722d
WIP: fixed some Qt binding and GSI issues, added tests
2021-12-04 22:15:04 +01:00
Matthias Koefferlein
e677cc7300
WIP: tests for QStringView and QByteArrayView bindings
2021-12-04 09:03:59 +01:00
Matthias Koefferlein
125543957d
WIP: Fixed GSI to some extent, some tests
2021-12-04 00:31:01 +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 Köfferlein
91d358398b
Merge pull request #937 from KLayout/more-macro-bindings
...
More macro bindings
2021-11-14 16:18:23 +01:00
Matthias Koefferlein
7d316b2a2c
Added missing file
2021-11-14 14:39:42 +01:00
Matthias Koefferlein
0ca82001ed
#935 fixed (checking for valid cell index)
2021-11-13 01:03:54 +01:00
Matthias Koefferlein
7ca01cdae9
Updated test data
2021-11-11 23:05:28 +01:00
Matthias Koefferlein
ac1167278e
Updated tests with 'enclosed' rule
2021-11-09 00:32:23 +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
ebe38912a6
Tests and documentation for dbTrans#is_complex?
2021-10-27 23:36:58 +02:00
Matthias Koefferlein
abe40ae99f
Bugfix plus more tests
2021-10-19 20:48:13 +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
a2e171b330
Merge pull request #899 from KLayout/issue-898
...
Issue 898 (Spice reader ignores last line)
2021-09-21 22:42:53 +02:00
Matthias Koefferlein
29384bf3f3
Convenience: simple version of DRC layer.with_holes and layer.without_holes
2021-09-20 21:36:46 +02:00
Matthias Koefferlein
c5607777a8
Updated testdata
2021-09-19 21:37:52 +02:00
Matthias Koefferlein
411869d255
Added missing test file
2021-08-29 21:14:08 +02:00
Matthias Köfferlein
93e789a861
Fixed #893 ( #894 )
2021-08-24 21:37:15 +02:00
Jan Petykiewicz
7d772f8884
Clean up trailing whitespace in .ot files
2021-08-10 22:44:22 -07:00
Jan Petykiewicz
565eed877f
Make some minor documentation fixes and improvements in the .ot templates
2021-08-10 22:44:04 -07:00
Jan Petykiewicz
9c59ad7902
Write "long zero" b-string for END record padding in mkoasis.tcl
...
0x80 ... 0x80 0x00
instead of
0x00 ... 0x00 0x00
which wasn't a valid b-string
2021-08-10 22:43:24 -07:00
Matthias Koefferlein
a22ee41414
Updated test data
2021-08-01 00:32:51 +02:00
Matthias Koefferlein
218e22dfa9
Updated test data
2021-07-31 23:12:12 +02:00
Matthias Koefferlein
23dc0e0f5a
testdata update
2021-07-31 22:18:42 +02:00
Matthias Koefferlein
58650a57dd
testdata update
2021-07-31 22:11:35 +02:00
Matthias Koefferlein
05050e6091
Added missing file
2021-07-31 08:44:21 +02:00
Matthias Koefferlein
48b5193414
Updated test data.
2021-07-31 00:53:18 +02:00
Matthias Koefferlein
b744f89dda
Updated test data.
2021-07-31 00:03:05 +02:00
Matthias Koefferlein
f7ebe9a950
Added test data for CentOS-7
2021-07-30 22:56:35 +02:00
Matthias Koefferlein
0f09dfe8eb
Added LVS tests, updated doc.
2021-07-29 22:56:11 +02:00
Matthias Koefferlein
9543cea952
Fixed tests
2021-07-29 22:24:22 +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 Köfferlein
df022316b9
Merge pull request #877 from KLayout/drc-extent-of-cells
...
Implemented extent(cell_filter) for DRC, added Layout#cells with name…
2021-07-21 23:37:10 +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
99d980cd16
Added two useful functions for RBA/pya CellView (context_trans, context_dtrans)
2021-07-20 19:31:54 +02:00
Matthias Koefferlein
23d0fcae8d
Added new tests
2021-07-19 08:32:55 +02:00
Matthias Koefferlein
2e21498422
Updated unit tests
2021-07-19 07:58:42 +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 Koefferlein
2fee924103
Updated the solution
2021-07-15 23:39:02 +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
4e54715d64
Merge branch 'wip-lvs'
2021-07-06 23:40:44 +02:00
Matthias Köfferlein
d10a28e96a
Merge pull request #850 from KLayout/ruby-3-enabling
...
Ruby 3 enabling
2021-07-06 23:38:40 +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
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
24c34f1d60
Updated test data
2021-07-05 22:29:33 +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
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
cd70bea9a0
Basic enabling of Ruby 3
2021-06-29 23:32:36 +02:00
Matthias Koefferlein
2d2cf11308
Added tests for new features.
2021-06-28 23:08:02 +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
dae5d3227a
Enhanced documentation for blank_circuit, consilidated 'blank_circuit' method provided which can be used anywhere
2021-06-28 19:51:57 +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
1d42711b65
Updated test data
2021-06-27 16:07:10 +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
4d9b27a017
Updated test data
2021-06-11 00:03:37 +02:00
Matthias Koefferlein
4c3729631a
Rework: need to properly parse NAME records in map files, adjusted test data
2021-06-08 22:49:22 +02:00
Matthias Koefferlein
15c97123b5
Changed test data to OASIS for better compression
2021-06-07 23:03:26 +02:00
Matthias Koefferlein
bfc534fa45
Fixed #826 - added test
2021-06-07 23:01:05 +02:00
Matthias Koefferlein
378a3b9045
Updated test data
2021-05-31 18:47:52 +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
fd1e206c56
Provide a solution for #809 (density goes outside the area)
2021-05-29 10:16:30 +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