Matthias Koefferlein
0ae2ed49f8
Merge branch 'master' into wip
2024-01-06 17:28:51 +01:00
Matthias Koefferlein
d9f41c1585
Now fixing unit tests for 32bit coordinates :(
2024-01-04 16:43:27 +01:00
Matthias Koefferlein
5e096bd433
Fixing unit tests for 64 bit coordinates
2024-01-04 00:33:21 +01:00
Matthias Koefferlein
38de2d685f
Fixed 64bit coordinate mode: numerical stability for DRC and LVS enabling. Main problem is representation of the 'world' box which does not transform properly when going through double.
2024-01-03 01:57:27 +01:00
Matthias Koefferlein
2b4a583f05
Update copyright year
2024-01-01 17:27:59 +01:00
Matthias Koefferlein
d248bfddf3
Updating copyright to new year
2024-01-01 17:06:23 +01:00
Matthias Koefferlein
d1695b88af
Merge branch 'wip'
2023-12-23 18:05:54 +01:00
Matthias Koefferlein
b701390e6a
Enabling cheats for edges and (implicit) polygon merges
...
DRC "cheats" have not been effective on "size"
for example. Also they have not been effective at
all for edges.
2023-12-03 21:50:03 +01:00
Matthias Koefferlein
86c1e6ad2b
Some more refactoring
2023-11-19 00:14:46 +01:00
Matthias Koefferlein
dd81fda27d
Refactoring with the goal to reduce the overhead for variant computation
2023-11-18 21:42:24 +01:00
Matthias Koefferlein
b0648e1c45
Experimental: sparse cell variants table
2023-11-18 21:21:00 +01:00
Matthias Koefferlein
01b65d3699
WIP
2023-11-17 00:13:20 +01:00
Matthias Koefferlein
795aeba322
WIP
2023-11-17 00:11:59 +01:00
Matthias Koefferlein
969ceb84bb
FEATURE: Added Layout#error_layer.
2023-11-11 23:09:05 +01:00
Matthias Koefferlein
1cf34b0ee9
Merge branch 'wip' of github.com:KLayout/klayout into wip
2023-10-19 21:25:07 +02:00
Matthias Koefferlein
261d0249e8
Merge branch 'wip'
2023-10-19 21:23:07 +02:00
Matthias Koefferlein
883b7e7db8
Fixed category assignement in device extractor
2023-09-26 22:45:13 +02:00
Matthias Koefferlein
b3992ab25c
Simplified test code
2023-09-26 22:18:33 +02:00
Matthias Koefferlein
e71a4dfb92
Simplified test code
2023-09-26 22:13:19 +02:00
Matthias Koefferlein
2a85ae8e5c
Added tests
2023-09-24 21:33:28 +02:00
Matthias Koefferlein
1b4c81ac7b
Rework: unifying device extractor logger entries and LayoutToNetlist ones
2023-09-24 18:16:19 +02:00
Matthias Koefferlein
a5bee51046
Updated tests
2023-09-24 00:07:50 +02:00
Matthias Koefferlein
1fbb907c5b
Fixed some unit tests
...
The flatten test now reduces pins of subcircuits if they
would connect to the same net internally
2023-09-23 23:47:08 +02:00
Matthias Koefferlein
b09d63e780
Doc update, test updates
2023-09-23 00:57:57 +02:00
Matthias Koefferlein
b72dfe34b4
WIP: aligned new implementation better with original one
2023-09-23 00:35:11 +02:00
Matthias Koefferlein
4f3522961e
WIP
2023-09-22 23:35:09 +02:00
Matthias Koefferlein
1333856337
WIP
2023-09-17 19:58:22 +02:00
Matthias Koefferlein
06321cdea7
Bugfix: deep region 'transform' with plain shift was not working properly with scaled instances
2023-08-24 22:55:55 +02:00
Matthias Koefferlein
aef2979896
Fixed unit tests
2023-08-20 23:32:12 +02:00
Matthias Koefferlein
d01589c26c
Fixed a build issue
2023-08-20 22:52:24 +02:00
Matthias Koefferlein
83243f06be
Triangles: solving a numerical issue
2023-08-20 16:48:58 +02:00
Matthias Koefferlein
1b60adf6c1
WIP
2023-08-20 10:19:11 +02:00
Matthias Koefferlein
dfe6699ef9
Triangles: some cleanup
2023-08-19 19:24:56 +02:00
Matthias Koefferlein
18a3c53c2d
Triangles: WIP + more tests
2023-08-19 18:56:51 +02:00
Matthias Koefferlein
0a67aa361c
Triangles: Added a more complex test case for triangulation and providing a min_length parameter for stopping infinite recursion
2023-08-19 15:25:21 +02:00
Matthias Koefferlein
5c46cdfda3
Triangles: Performance improvement
2023-08-19 00:39:31 +02:00
Matthias Koefferlein
2f8144b507
Performance optimization of Triangle insert
2023-08-17 21:50:22 +02:00
Matthias Koefferlein
1e3e918b90
Debugging.
2023-08-17 01:05:15 +02:00
Matthias Koefferlein
2acedfde6f
Fixed some compiler warnings
2023-08-16 22:20:25 +02:00
Matthias Koefferlein
e07d802500
Delaunay refinement, tests etc.
2023-08-16 00:05:46 +02:00
Matthias Koefferlein
26f1219cc5
Triangle: bug fixes
2023-08-15 21:05:08 +02:00
Matthias Koefferlein
bfccd24016
Triangles: Better numerical stability
2023-08-15 19:57:11 +02:00
Matthias Koefferlein
7351810e55
WIP
2023-08-15 15:56:15 +02:00
Matthias Koefferlein
512cf604d0
Triangles: new test, bugfix
2023-08-15 15:49:11 +02:00
Matthias Koefferlein
03497f05b8
Triangles: tests fixed
2023-08-15 15:33:17 +02:00
Matthias Koefferlein
6e9eb922a2
Triangles: constrain
2023-08-15 14:55:41 +02:00
Matthias Koefferlein
3cc35ce3ee
Triangles: ensure_edge
2023-08-15 14:05:20 +02:00
Matthias Koefferlein
a2e91532c4
WIP: remove vertex implemented for triangles
2023-08-13 21:40:09 +02:00
Matthias Koefferlein
576eacd0bf
WIP
2023-08-13 21:14:58 +02:00
Matthias Koefferlein
82b49dfb77
WIP
2023-08-13 18:40:24 +02:00
Matthias Koefferlein
88fd5ad8ca
WIP
2023-08-13 18:13:33 +02:00
Matthias Koefferlein
745eb9b625
First tests pass for triangles.
2023-08-13 16:37:01 +02:00
Matthias Koefferlein
0941bc214c
WIP
2023-08-12 20:27:05 +02:00
Matthias Koefferlein
789ae93b52
WIP
2023-08-12 18:45:13 +02:00
Matthias Koefferlein
14f8c1a61b
WIP
2023-08-12 16:21:10 +02:00
Matthias Koefferlein
c93e490968
WIP
2023-08-12 15:30:29 +02:00
Matthias Koefferlein
079c4f9760
WIP
2023-08-12 15:13:44 +02:00
Matthias Koefferlein
b69cf67c14
WIP
2023-08-12 10:43:57 +02:00
Matthias Koefferlein
fa301b0d32
WIP
2023-08-12 10:38:04 +02:00
Matthias Koefferlein
495da3de23
WIP
2023-08-12 00:46:23 +02:00
Matthias Köfferlein
112d0843a7
Merge pull request #1443 from KLayout/issue-1441
...
Fixed issue #1441 (RDB support for text attributes like size, font, h…
2023-08-06 22:15:45 +02:00
Matthias Koefferlein
d958d71e2e
Fixed unit tests and MSVC build
2023-08-05 21:02:26 +02:00
Matthias Koefferlein
76a1450f32
Fixed issue #1441 (RDB support for text attributes like size, font, halign/valign)
2023-08-01 22:48:28 +02:00
Matthias Koefferlein
3736b59156
it's -> its
2023-07-30 14:46:58 +02:00
Matthias Koefferlein
63f6abf734
Fixed a unit test failing in non-editable mode
2023-06-10 09:17:00 +02:00
Matthias Koefferlein
7f8eeb3a09
Fixed issue #1281 (Layout diff should ignore shape or instance duplicates)
...
A new option in the diff tool and strmcmp has been added
(-1|--ignore-duplicates in strcmp).
In RBA/pya, the "IgnoreDuplicates" flag has been added.
2023-06-10 09:11:39 +02:00
Matthias Koefferlein
5bcb9e0207
Merge branch 'xor-perf-trial' into wip2
2023-06-09 23:32:14 +02:00
Matthias Koefferlein
0959676b5a
Another shortcut for two-input box scanner, but does not make a large difference
2023-06-09 23:26:49 +02:00
Matthias Koefferlein
078258bf09
New branch for XOR performance improvement in deep mode
2023-06-06 23:35:40 +02:00
Matthias Koefferlein
f11500996f
New methods: Layout#copy_layer, Layout#move_layer and Layout#clear_layer with shape selector, Shapes#clear with shape selector
2023-05-31 22:49:02 +02:00
Matthias Koefferlein
0400261641
Added testcase for issue-1366
2023-05-20 23:26:20 +02:00
Matthias Koefferlein
331bb5aed4
Fixing a performance issue on hole insertion for polygons with many holes
2023-05-20 23:09:57 +02:00
Matthias Koefferlein
3e60aabe7a
Fixed issue #1373 (shapes with user properties are skipped from second input of flat region's '+' operator)
2023-05-14 22:48:31 +02:00
Matthias Köfferlein
641d2404d2
Merge pull request #1358 from KLayout/wip2
...
Wip2
2023-05-12 23:31:26 +02:00
Matthias Koefferlein
ffd47e1341
Fixed issue-1353 (problem with recursive instance iterator)
2023-04-29 23:28:20 +02:00
Matthias Koefferlein
3361802a20
Tests and bugfixing for meta info persistence in OASIS + GDS
2023-04-19 00:51:11 +02:00
Matthias Koefferlein
78da3effa2
Next steps - persistency of meta info
2023-04-18 21:24:26 +02:00
Matthias Koefferlein
1a0542f155
Fixed two compiler warnings of hidden virtual methods
2023-04-16 21:31:02 +02:00
Matthias Köfferlein
fc014efe80
Merge pull request #1331 from KLayout/issue-1321
...
Implemented tilde expansion, internal stream path names are now absol…
2023-04-13 22:54:12 +02:00
Matthias Koefferlein
19fbc5c144
Implemented tilde expansion, internal stream path names are now absolute, fixed tests
2023-04-07 00:19:10 +02:00
Matthias Koefferlein
02e9f605d9
Implemented .lib for Spice reader - issue #1320
2023-03-24 14:31:49 +01:00
Matthias Koefferlein
a39441cdbd
Some alignment of Spice reader details with ngspice (not all possible ways of specifying R, L or C elements are supported currently)
2023-03-24 13:29:14 +01:00
Matthias Koefferlein
ffbcfc5490
Trying to reduce memory overhead of tiling processor - using box objects when possible
2023-03-12 22:10:49 +01:00
Matthias Koefferlein
db8f9d5bcb
Spice reader enhancements
...
Basic goal is to align ngspice and KLayout Spice
format comprehension. ".options scale" was implemented
together with a number of other patches.
Consistency has been confirmed with respect to these
features and formula evaluation.
2023-03-12 15:36:50 +01:00
Matthias Koefferlein
be0d155848
Fixed issue #1309
...
Fixed polygon rasterizer.
Reason was the clip edge function that delivered
vertical edges from skew ones due to rounding.
These must not be skipped when exactly on a pixel
boundary as true vertical edges are.
2023-03-04 22:20:06 +01:00
Matthias Koefferlein
4ead7b46a1
Test updates
2023-02-27 21:27:19 +01:00
Matthias Koefferlein
ebcf242a9e
Merge branch 'more-spice' into issue-1304
2023-02-27 00:21:20 +01:00
Matthias Koefferlein
69d975c736
Update to test data
2023-02-27 00:19:14 +01:00
Matthias Koefferlein
3ac1385d87
Another testcase for Spice reader with parametric subcircuits, .param statements, bug fixes
2023-02-26 21:31:34 +01:00
Matthias Koefferlein
be5e16c125
WIP: bug fixing, new test cases
2023-02-22 13:11:30 +01:00
Matthias Koefferlein
18f2b57c3d
WIP: generlizing parameter values for spice reader - can be strings too
2023-02-22 10:15:05 +01:00
Matthias Koefferlein
51c4b7ed28
WIP
2023-02-22 09:48:08 +01:00
Matthias Koefferlein
80fa7e47e2
WIP: tests pass
2023-02-21 00:49:23 +01:00
Matthias Koefferlein
026e0fa591
Fixed issue #1275 (size after smooth does not work)
2023-02-04 19:56:06 +01:00
Matthias Koefferlein
2d6091cf0a
Fixed MSVC builds
2023-01-26 21:51:07 +01:00
Matthias Koefferlein
f924109bcd
WIP: implemented some TODOs
2023-01-21 16:35:01 +01:00
Matthias Koefferlein
1a9edbf6a9
WIP: refactoring - allow properties constraints modes which do not copy properties. In DRC that is default.
2023-01-21 15:13:39 +01:00
Matthias Koefferlein
9f27aa9f51
WIP: refactoring, more property support, DRC integration, bug fixes ...
2023-01-20 19:08:21 +01:00
Matthias Koefferlein
7ba3133afc
WIP: using net name/circuit name instead of net ID for property value as this is more stable for better regression testing.
...
Bug fix: re-enabling of trace all nets tests, establishing dummy
names for layers in all cases - otherwise layers do not have a
reference for LayoutToNetlist persistence.
2023-01-20 01:16:30 +01:00
Matthias Koefferlein
220c1b714a
WIP: support for 'flatten' with properties
2023-01-19 22:20:07 +01:00
Matthias Koefferlein
984c001f56
WIP: debugging and unit test for net-aware booleans
2023-01-19 21:15:41 +01:00
Matthias Koefferlein
e1ddd6f8d2
WIP: polishing the region to net generator feature.
2023-01-19 17:25:07 +01:00
Matthias Koefferlein
1b9a532f48
WIP: net generation from region layers
2023-01-19 14:44:17 +01:00
Matthias Koefferlein
fb60e01f45
WIP: refactoring. Goal is to supply a netlist builder object for caching netlist build information
2023-01-19 12:08:50 +01:00
Matthias Koefferlein
c16082654f
WIP: fixed unit tests
2023-01-19 01:05:26 +01:00
Matthias Koefferlein
d230691ae4
WIP: bug fixing, new tests for property filters
2023-01-19 00:56:17 +01:00
Matthias Koefferlein
75c20aa03a
WIP: fixed unit tests
2023-01-19 00:29:30 +01:00
Matthias Koefferlein
8ac08778c2
WIP: reworked and implemented a property translation/selection/enabling scheme for the shape containers + GSI binding.
2023-01-19 00:25:07 +01:00
Matthias Koefferlein
4edf4ab1f7
WIP: Added support for size with properties
2023-01-18 16:22:36 +01:00
Matthias Koefferlein
71d2d9ef3f
WIP: tests for complex DRC ops with properties
2023-01-18 15:46:09 +01:00
Matthias Koefferlein
9f6f0e2d43
[BUGFIX] WIP: property support for DRC functions, bugfix: DRC check against raw (non-merged semantics) second input did not work
2023-01-18 12:34:47 +01:00
Matthias Koefferlein
1b7b077cea
WIP: refactoring, started implementing DRC checks with property support
2023-01-18 01:36:22 +01:00
Matthias Koefferlein
40267dddb6
WIP: polygons to edges with properties
2023-01-17 19:07:32 +01:00
Matthias Koefferlein
dfac3b1b44
WIP: Implemented property support for two-boolean
2023-01-17 11:24:08 +01:00
Matthias Koefferlein
99887a15f0
WIP: refactoring, enabling properties for flat processing
2023-01-17 01:00:27 +01:00
Matthias Koefferlein
58ab6ce9fd
WIP: fixed tests, dropped property constraint on XOR and OR (not implemented properly), added 'ignore' property constraint - in the 'no properties' case, properties are passed from the first input.
2023-01-16 16:27:31 +01:00
Matthias Koefferlein
3b4a460581
WIP: Further test updates
2023-01-16 02:29:03 +01:00
Matthias Koefferlein
48b55f142a
WIP: flat region tests, partially working
2023-01-16 02:06:21 +01:00
Matthias Koefferlein
70d16425e1
WIP: added tests for as if flat regions
2023-01-16 01:02:30 +01:00
Matthias Koefferlein
bf47805b29
WIP: support for properties in deep andnot, tests
2023-01-16 01:00:03 +01:00
Matthias Koefferlein
b7c515bf91
WIP: enabling booleans with property constraints
2023-01-15 20:23:32 +01:00
Matthias Koefferlein
9f633b813d
WIP: property management for flat shape containers
2023-01-15 13:34:47 +01:00
Matthias Koefferlein
33b5723068
WIP: property mapping between layouts
2023-01-15 11:56:41 +01:00
Matthias Koefferlein
9f632f29d3
WIP: updated test data
2023-01-14 23:46:48 +01:00
Matthias Koefferlein
053269e0b2
WIP: added test
2023-01-14 22:31:48 +01:00
Matthias Koefferlein
478b838589
WIP: properties for regions, starting with deep regions
2023-01-09 00:05:31 +01:00
Matthias Koefferlein
0ba719ad84
WIP: properties for regions, tests for flat and original layer regions
2023-01-08 22:44:23 +01:00
Matthias Koefferlein
1dfa5abc9a
WIP: introducing properties for FlatRegion and others
2023-01-08 19:27:41 +01:00
Matthias Koefferlein
f9ccb60dd9
WIP: experimental - introducing net DRC, first steps
2023-01-07 23:42:59 +01:00
Matthias Koefferlein
af30695ab3
WIP: experimental - introducing net DRC, first steps
2023-01-07 21:56:25 +01:00
Matthias Koefferlein
a85dbd3d31
Updating copyright notice to 2023
2023-01-01 22:27:22 +01:00
Matthias Koefferlein
420f8cfdc3
Fixed issue #1240 (Layer is not activated from layer properties file on first creation)
2023-01-01 18:45:37 +01:00
Matthias Koefferlein
884203149a
Added tests for recent changes
2022-12-17 20:33:50 +01:00
Matthias Koefferlein
d81e0ba51e
Merge branch 'points-as-db-objects'
2022-12-07 21:59:02 +01:00
Matthias Koefferlein
5a252f2b29
Updated golden test data for fast DRC
2022-12-07 21:58:24 +01:00
Matthias Koefferlein
0c89d8fec8
WIP: points as db objects - added tests, bug fixes
2022-12-04 19:54:29 +01:00
Matthias Koefferlein
13874986b2
Bugfix, tests updated
2022-11-28 23:40:11 +01:00
Matthias Koefferlein
5597ee8960
DeepRegion performance: take fast path for DeepRegion::edges if merged polygons are available.
2022-11-27 21:59:06 +01:00
Matthias Koefferlein
5db45d7aee
Proper setting of merged status after interacting/inside etc.
2022-11-27 19:43:53 +01:00
Matthias Koefferlein
f6f4dbeb67
Edges#in/in_and_out: tests added
2022-11-27 15:31:25 +01:00
Matthias Koefferlein
0304930136
WIP: introducing Region#in_and_out and Edges#in_and_out, support for hierachical Edges#in, Tests updated
2022-11-27 14:53:30 +01:00
Matthias Koefferlein
9008464268
WIP: hierarchical mode for Region#in and Region#not_in
2022-11-27 10:26:01 +01:00
Matthias Koefferlein
20b6608410
Test updated
2022-11-24 22:12:01 +01:00
Matthias Koefferlein
32928b583c
Bug fixes (border cases), tests
2022-08-30 22:12:30 +02:00
Matthias Koefferlein
34f6e7bdba
Bug fixes, tests
2022-08-30 20:43:32 +02:00
Matthias Koefferlein
5662f962d2
Bug fixes, tests.
2022-08-30 00:53:14 +02:00
Matthias Koefferlein
e591d205c7
Bug fixes, tests.
2022-08-30 00:23:22 +02:00
Matthias Koefferlein
f92d86a1e1
Bug fixes
2022-08-29 23:47:24 +02:00
Matthias Koefferlein
aa267744dc
Exposed more functions for db::Edges, more tests, debugging
2022-08-29 22:48:17 +02:00
Matthias Koefferlein
bf91938133
Bug fixes, tests.
2022-08-29 22:17:37 +02:00
Matthias Koefferlein
4af9b8b01c
WIP: predicates for Edges implementation
2022-08-28 23:35:45 +02:00
Matthias Koefferlein
0b59697189
First new test
2022-08-27 22:28:15 +02:00
Matthias Koefferlein
318a462cb4
WIP: first code pieces
2022-08-27 21:31:40 +02:00
Matthias Koefferlein
38d2b8378d
Merge remote-tracking branch 'origin/master' into wip
2022-08-10 20:40:27 +02:00
Matthias Köfferlein
7ffdc211e5
Fixed issue-1135 (LVS mismatch on parallel devices) ( #1136 )
...
* Fixed issue-1135 (LVS mismatch on parallel devices)
The fix consists of a more elaborate device identity analysis
following the topological matching. In this step, the devices
are identified according to their connections and parameters.
It is important to properly identify devices taking their
parameters into account as well as their connections.
* Second part of issue fixed (inverter chain ambiguity)
* Added test
* Updated tests
* Updated golden test results
* Updated golden test data for Windows
Co-authored-by: klayoutmatthias <matthias@klayout.org>
2022-08-10 20:27:11 +02:00
Matthias Koefferlein
0083021220
[Consider merging] Some refactoring of L2N and LVSDB readers for more future compatibility
2022-08-07 00:24:05 +02:00
Matthias Köfferlein
716369de63
Issue 1126 ( #1128 )
...
* First attempt to fix. Rather experimental.
* Debugging and bug fixing
The basic issue was a missing break
However, correct computation of cache results for instance-to-instance cluster
interaction is implemented
Plus: identical and overlapping instances are no longer ignored except in the
case of exact duplicates. Otherwise these instance generate dead nets which
are not connected elsewhere.
* Added tests, fixed duplicate cells test, added missing files.
* Code simplification (removed invariant from transformation in cluster-to-cluster interaction cache)
* Skipping cell instance duplicates as some real-world testcases mandate so
* Updated test data
2022-08-01 18:50:07 +02:00
Matthias Köfferlein
7d78194cf0
Issue 1021 ( #1026 ) - LVS match issue on SRAM sample
...
* First step for solution:
Problem was: the ambiguity resolver was making decisions which later resulted in
a name conflict. Later on, another branch of the backtracking algorithm came
across the same situation but decided based on names, creating an conflict.
First part of the solution is to establish the backtracking information
during ambiguity resolution and using that rather than an alternative branch
later on. This avoids this conflict, but does not favor names as mandated
by the "use_names" flag. This will be the second step of the solution.
* Bugfixed solution (partially)
* Introducing third pass in netlist compare
The second pass is "ambiguity resolution by name" and
is skipped if "consider_net_names" is false. The third
pass then is ignoring the names.
* Bugfix
* Comment fixed, test updates
* Added tests
* Added test data variant for CentOS 8
2022-03-15 21:14:32 +01:00
Matthias Koefferlein
4acd0aabc5
Removed D25 tech component
2022-03-06 10:07:23 +01:00
Matthias Koefferlein
cd07a21ae3
Merge branch '25d-with-booleans'
2022-03-05 14:59:17 +01:00
Matthias Köfferlein
ed7f77a86d
Split gates ( #1018 )
...
* First implementation, first basic tests.
* WIP: more tests, bug fixes
* split_gates feature, added test case
* Documentation
2022-03-05 14:56:52 +01:00
Matthias Koefferlein
ff3bc38aea
Merge branch 'master' into wip
2022-02-19 00:14:57 +01:00
Matthias Köfferlein
cee33a0099
Merge pull request #992 from KLayout/api-enhancements
...
Api enhancements
2022-02-18 23:28:28 +01:00
Matthias Koefferlein
834dfa6614
Bug fixes, enhancements, tests for snap and scale improvements.
2022-02-18 14:22:16 +01:00
Matthias Köfferlein
11a91300bd
issue-996 Providing a "refresh" function for triggering a refresh from inside t… ( #998 )
...
* Providing a "refresh" function for triggering a refresh from inside the lib
Some other glitches were fixed too:
* LibraryManager wasn't thread-safe
* Library destructor wasn't unregistering
* Crash when re-registering the same library again
* In LibrariesTest normalization of layouts must not include
re-creation of library references to avoid side effects.
Save without context.
* Added missing files
* Fixed unit tests.
2022-02-12 21:26:28 +01:00
Matthias Köfferlein
0199192e83
Fixed #989 (cannot convert <defunct> cell to static cell) ( #1002 )
...
Fixed some more glitches while doing so:
* cell.name (gsi) was giving "basic_name", now it's changed to the
internal name to be consistent with "name=". The "functional name"
is still available as "basic_name".
* The basic name was rendering "<defunct>..." for defunct cells
and has been changed to the functional name. Otherwise this
is not accessible.
2022-02-12 17:05:12 +01:00
Matthias Koefferlein
3f2ca1dfbe
micrometer-unit properties (ddbox, path_dtrans, dtrans etc) for custom queries
2022-02-10 23:14:08 +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
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
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
9fa82f01d8
WIP (code reduction and performance enhancement of basic DRC checks)
2021-11-07 21:46:18 +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
20f3733c58
WIP: lean recursive shape touch check
2021-10-27 00:38:12 +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
71b5695344
Fixed #905
2021-09-15 00:09:56 +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
ab3bceda75
Fixed #898 (netlist reader ignores last list)
2021-08-29 21:12:04 +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
37457aa02f
Spice reader flags existing parameters as primary
2021-07-27 22:13:45 +02:00
Matthias Koefferlein
722b45b721
Fixed tests
2021-07-19 07:47:41 +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 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
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
c62592ede1
Added test for device class factory.
2021-07-05 19:55:55 +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
3d6119f2a6
Updated tests, sloppy 'same_nets' in non-must-match mode
2021-06-29 08:43:28 +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
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
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
71e290b50e
Added test for the last commit
2021-06-13 23:02:53 +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 Koefferlein
43c941004a
Fixed embarrassing typo: Minkowsky -> Minkowski (Hermann Minkowski, 22 June 1864 – 12 January 1909)
2021-06-10 23:33:49 +02:00
Matthias Koefferlein
e57d573a42
Tests, so bug fixes, some refactoring
2021-05-29 09:43:12 +02: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
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
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
Matthias Koefferlein
9b7879b2a9
Faster hierarchical edges.
2021-04-06 21:05:02 +02:00
Matthias Koefferlein
173ba147b1
Rework for D25 tech management - compilation happens dynamically now.
2021-04-02 18:48:00 +02:00
Matthias Koefferlein
cf51130339
Fixed some build issues that appeared during merge
2021-03-30 23:20:39 +02:00
Matthias Koefferlein
94556c1448
Merge branch 'master' into lvs-enhancements
2021-03-30 18:56:27 +02:00
Matthias Koefferlein
3f37b0e5a4
Fill cell box introduced as a concept, added tests, overlapping fill cells supported.
2021-03-29 22:12:47 +02:00
Matthias Koefferlein
8fda92a9c4
Merge branch 'drc-enhancements' into fill-enhancements
2021-03-29 15:07:47 +02:00
Matthias Koefferlein
cefc2eeddb
Bug fixes.
2021-03-29 01:05:53 +02:00
Matthias Koefferlein
9f295523e4
explicit net joining - preparations
2021-03-27 21:56:53 +01:00
Matthias Koefferlein
866ee9bd81
DRC: tiling mode with global transformation, debug + tested
2021-03-21 23:27:42 +01:00
Matthias Koefferlein
afdc50d05a
Global transformations for DRC and RecursiveShapeIterator
2021-03-21 23:09:09 +01:00
Matthias Koefferlein
1495d9521c
Tests updated.
2021-03-15 16:51:56 +01:00
Matthias Koefferlein
f2b1661647
Merge branch 'drc-enhancements', remote-tracking branch 'origin' into lvs-debug
2021-03-14 23:52:03 +01:00
Matthias Koefferlein
4549da561b
Better information in LVS report - at least for skipped circuits for now.
2021-03-14 18:21:32 +01:00
Matthias Köfferlein
184f2bee50
Smooth bug ( #740 )
...
* Smoothing function: provide ability to keep horizontal/vertical lines (important for cut lines)
* Introducting API compatibility macros for generic plugins.
2021-03-14 12:27:36 +01:00
Matthias Koefferlein
d4f641bff8
WIP.
2021-03-09 23:45:53 +01:00
Matthias Koefferlein
7bd4a692d8
WIP
2021-03-08 20:45:52 +01:00
Matthias Koefferlein
637968cbc4
Centering of bounding box in fill tool - this allows using step vectors alone without a boundary layer
2021-03-06 00:31:05 +01:00
Matthias Koefferlein
0d04937c91
Added tests for fill tool
2021-03-05 16:27:57 +01:00
Matthias Koefferlein
dbeee1531e
Matrix2d and Matrix3d generalized for integer coordinates, added transformation methods for polygons, regions, boxes, edges, etc. Fill enhancements basically implemented. Needs testing.
2021-03-05 15:31:40 +01:00
Matthias Koefferlein
e639c30570
split_* operations in DRC (interacting/non_interacting in one step), doc, tests.
2021-03-01 21:04:57 +01:00
Matthias Köfferlein
82587e70c3
Merge pull request #731 from KLayout/recursive-inst-iterator
...
Recursive inst iterator
2021-02-25 21:27:41 +01:00
Matthias Koefferlein
9074c918bb
Fixed a linker name clash.
2021-02-21 22:11:33 +01:00
Matthias Koefferlein
0f4a10441d
RecursiveInstanceIterator: Doc fixes, tests, instance array iteration.
2021-02-20 22:17:43 +01:00
Matthias Koefferlein
a1bae225e3
Recursive instance iterator, tests
2021-02-20 17:50:32 +01:00
Matthias Koefferlein
ca11f0799a
Recursive instance iterator, selection of target cells.
2021-02-20 01:09:17 +01:00
Matthias Koefferlein
6527d29f8f
Recursive instance iterator, debugging.
2021-02-20 00:48:07 +01:00
Matthias Koefferlein
412056afed
Recursive instance iterator, first draft.
2021-02-20 00:40:05 +01:00
Matthias Koefferlein
a9fa5d73f9
Introducing 'with_holes' and 'without_holes' in DRC and RBA::Region.
2021-02-08 20:59:17 +01:00
Matthias Köfferlein
e31d7afb64
Reduce risk of DRC polygon split artefacts in deep mode ( #722 )
...
* Fixed a segfault with simple 'klayout -v'
* is_halfmanhattan polygon predicate, confine polygon splitting to halfmanhattan
Splitting any-angle polygons for area reduction in the
deep processor creates a risk of introducing grid-snap
artefacts. Hence we avoid this.
2021-02-05 23:28:04 +01:00
Matthias Köfferlein
4134829304
Issue 718 ( #719 )
...
* WIP: first part of fix - generation of hole cutlines
First problem was that hole cutlines got extended
over the whole length and sometimes lead to coincident
edges which are difficult to resolve for the polygon
cutter.
* Refined solution, fixed #718
- disabled elaborate hole insertion procedure for now as the
performance impact has to be assessed yet and the new scheme
will break many tests
- stricter rejection of ambiguous configurations in the polygon cutter
- fallback is boolean AND now since there is no need to re-invoke the
polygon cutter (we can't do so as we made it more strict).
Performance-wise we replace a merge by an AND step which may even be
faster the output is smaller and the polygon cutter does not need
to be re-invoked.
* Compatibility with other STLs
2021-01-31 19:21:15 +01:00
Matthias Köfferlein
bd41f7222d
Merge pull request #706 from KLayout/spline-as-api
...
Generalized spline interpolation of DXF reader
2021-01-26 23:39:51 +01:00
Matthias Koefferlein
d1e6845ae4
Replaced std::auto_ptr by std::unique_ptr because the latter is deprecated
2021-01-23 21:55:51 +01:00
Matthias Koefferlein
c8951c10cd
Generalized spline interpolation of DXF reader and provide a script binding (RBA::Utils).
2021-01-23 18:44:36 +01:00
Matthias Koefferlein
63d19bdb4c
More robustness against test variations on different platforms.
2021-01-19 21:49:38 +01:00
Matthias Koefferlein
73485a5061
More robustness against differences on different platforms.
2021-01-19 20:36:25 +01:00