Matthias Köfferlein
fa14afbbf3
Pcell limits ( #1654 )
...
* Klayout PyCell integration
-added tl::optional as derivate of std::optional for c++17 and above, reduced
implementation otherwise
-fixed missing include for c++17 and above
-added range constraints for PCell parameter
Signed-off-by: ThomasZecha <zecha@ihp-microelectronics.com>
* tl::optional now based on internal implementation, added tests and tl::to_string binding
* Refactoring the range into min_value and max_value attributes without action and resolution.
* Integration of feature into PCell framework
* Cleanup and fixed some compile issues
* Cleanup, added tests
* [consider merging] Added pymod distutil_src files to dependencies.
* Updated Python stubs
* User feedback: upon entering an invalid value string into an edit box, do not reset the field
---------
Signed-off-by: ThomasZecha <zecha@ihp-microelectronics.com>
Co-authored-by: ThomasZecha <zecha@ihp-microelectronics.com>
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-03-13 21:50:48 +01:00
Matthias Koefferlein
8de70c742a
WIP
2024-03-13 00:25:19 +01:00
Matthias Koefferlein
89c281f87a
Integration API into LVS+DRC
2024-03-12 23:24:54 +01:00
Matthias Koefferlein
d87e3de436
Merge branch 'lvs-issues' into 1598-support-for-soft-connections
2024-03-11 22:50:51 +01:00
Matthias Koefferlein
fd8ca56caf
Some tests for Connectivity
2024-03-11 21:14:00 +01:00
Matthias Koefferlein
284a907ffb
First steps: equipping the Connectivity object with soft connections
2024-03-10 23:35:56 +01:00
Matthias Koefferlein
d60583a9b4
Robustness of tests
2024-03-09 18:46:45 +01:00
Matthias Koefferlein
a92029b722
Merge branch 'master' into drc-procs-and-filters
2024-03-09 01:21:56 +01:00
Matthias Koefferlein
30df7a708e
Merge branch 'master' into wip
2024-03-09 01:18:43 +01:00
Matthias Koefferlein
1c836de07e
Merge branch 'master' into xor-performance
2024-03-09 01:02:07 +01:00
Matthias Koefferlein
45950f20d6
Supporting remote must-connect connections
...
So far, must-connect connections had to be made
one level up in the hierarchy or promoted further
using labels and such. Now, must-connect connections
can be made at any point up in the hierarchy.
2024-03-09 01:00:52 +01:00
Matthias Koefferlein
856fe4a8d3
LVS: Consider net names identical that differ in signal type suffix only - e.g. 'NET:I' is identical to 'NET'
2024-03-09 00:59:48 +01:00
Matthias Koefferlein
091995a5ff
Limit effort spent on analyzing failed matches in LVS compare
2024-03-09 00:59:43 +01:00
Matthias Koefferlein
5597eceece
Region#edges: Don't include an polygon to edge processor unless required
2024-03-07 23:03:36 +01:00
Matthias Koefferlein
28e96ee0c3
Added not_... versions of edge modes
2024-03-07 22:29:33 +01:00
Matthias Koefferlein
853de5b0ae
Introducing edge modes for DRC 'edges' function - allows easy extraction of convex edges only
2024-03-07 21:51:52 +01:00
Matthias Koefferlein
156f0f4477
More consistent behavior of dots in context of booleans, added tests
...
dots vs. polygon booleans now work as well.
This includes "&" and "-" and "inside_part", "outside_part"
and the "split_..." versions.
2024-03-07 18:34:12 +01:00
Matthias Koefferlein
9d6a6258aa
edge merge does not destroy dots now
2024-03-06 22:17:01 +01:00
Matthias Koefferlein
4ecf6a9ce1
Edge vs. dot booleans for edge collections
2024-03-06 21:46:33 +01:00
Matthias Koefferlein
fc787b19e3
Flat edge booleans enhancements
...
- Basic support for dots (only dots-vs.-dots)
- Some shortcuts for efficiency
2024-03-06 18:46:52 +01:00
Matthias Koefferlein
91e68cef02
Fixed a number of issues with edge booleans in deep mode
...
- andnot was falling back to flat
- "intersections" with second argument empty was delivering wrong results
- output of "intersections" is raw now to preserve dots
- enhanced tests for these cases
2024-03-06 17:39:30 +01:00
Matthias Koefferlein
03b04daa61
texts_as_dots returns raw edges (dots must not be merged)
2024-03-03 23:51:03 +01:00
Matthias Koefferlein
f9b4bb13c8
aligning deep and flat edge collections with respect to handling of degenerated edges
2024-03-03 23:24:51 +01:00
Matthias Koefferlein
65ccbabc26
Updating db::Edges tests
2024-03-03 22:58:13 +01:00
Matthias Koefferlein
80b86878b5
Added tests for new edge features
2024-03-03 22:35:39 +01:00
Matthias Koefferlein
8e09dfc016
Edge boolean robustness improvement
2024-03-03 22:35:14 +01:00
Matthias Koefferlein
db168d8a55
Considering degenerated edges for partial edge selectors
2024-03-03 22:34:19 +01:00
Matthias Koefferlein
8b6ed7f663
Update of testdata, edge 'outside' needs merged input too.
2024-03-02 21:40:57 +01:00
Matthias Koefferlein
c532a3a7e6
WIP
2024-03-02 19:32:51 +01:00
Matthias Koefferlein
ebc96d8de4
[consider merging] Bugfix: 'edge outside polygon' now consistently ignores the border of the polygon
2024-03-02 19:32:33 +01:00
Matthias Koefferlein
c5433a349a
WIP
2024-03-02 17:55:13 +01:00
Matthias Koefferlein
863935d664
WIP
2024-03-02 17:28:09 +01:00
Matthias Koefferlein
df3205282d
WIP
2024-03-02 16:57:23 +01:00
Matthias Koefferlein
1e323a0421
WIP
2024-03-01 23:32:22 +01:00
Matthias Koefferlein
a431f70ad4
Polygon#break, DPolygon#break, SimplPolygon#break, DSimplePolygon#break
2024-02-29 22:57:28 +01:00
Matthias Koefferlein
890b389102
Merge branch 'wip2'
2024-02-18 22:27:17 +01:00
Matthias Koefferlein
5187ddbfc0
Do not insert the same point twice into edge set in EdgeProcessor - this improves performance in the case of manifold intersecions in one point. Also: added edge count API
2024-02-17 21:20:24 +01:00
Matthias Koefferlein
4ed64fdfa1
GSI binding for tech specific grids
2024-02-16 15:19:32 +01:00
Matthias Koefferlein
1094fd2dd8
Merge branch 'master' into tech-specific-grids
2024-02-16 15:02:52 +01:00
Matthias Köfferlein
a1c08c0f89
DRC switch to exclude the kissing corner configuration (and more) ( #1600 )
...
* Some refactoring, introducing new configuration option for edge pair check core algorithm for zero distance handling.
* Bugfix
* Renaming for clarification of collinear edges vs. distance which is defined otherwise.
* Implemented low-level option for collinear edge handling in Edges and Region
* DRC integration of new features
* Simple test for collinear mode feature
* Updating documentation
* Experiment: extending collinear mode towards 'zero distance'
* DRC 'collinear mode' becomes 'zero distance mode'
With this change, the default implementation for kissing corners
is changed from collinear edges only to touching edges in general.
The original mode can be restored by using:
l1.space(600.nm, DRCZeroDistanceMode::new(RBA::ZeroDistanceMode::IncludeZeroDistanceWhenCollinearAndTouching)).output(103, 0)
* Adding test data
* Fixed unit tests
* Fixed unit test
* Renamed new DRC options to: without_touching_corners and without_touching_edges as this is more consistent
* Fixed GSI binding, so no internal error is thrown when generating the doc
---------
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 08:40:00 +01:00
Matthias Koefferlein
4a89304152
Merge branch 'master' into wip2
2024-02-11 14:23:47 +01:00
Matthias Köfferlein
f37e37340c
Issue 1608 ( #1615 )
...
* Fixed issue #1608 (Device extractor error shape)
* New test data
* Add-on: pressing Esc on the netlist or marker browser clears markers
* Updated test data
---------
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:34:21 +01:00
Matthias Köfferlein
df59641cad
Issue 1609 ( #1613 )
...
* Fixed issue #1609 (Cell.read doesn't read LayoutMetaInfo)
This also includes some more functions:
- Layout#merge_meta_info, Layout#copy_meta_info
- Layout#clear_all_meta_info
- Cell#merge_meta_info, Cell#copy_meta_info
In addition, meta info is merged when importing a layout from
another file (Layout/Import -> Other Layouts into current).
* Meta info support in layout diff (for testing), implemented meta info merge for GDS and OASIS readers with special conflict resolution modes
* Undo support for meta info - this way we do not loose meta info when we delete a cell and undo
---------
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:32:56 +01:00
Matthias Koefferlein
babf799016
[consider merging] OASIS Reader: error on duplicate CELLNAMEs
2024-02-10 18:45:56 +01:00
Matthias Koefferlein
dd9d2bfddd
First proposal for feature
2024-02-03 22:42:21 +01:00
Matthias Koefferlein
c4fee2cbc4
Fixed a linker issue
2024-01-28 23:51:37 +01:00
Matthias Koefferlein
7634c77c23
Generalization of polygon rasterizer to DPolygon for higher precision of pixel area values.
2024-01-28 23:18:49 +01:00
Matthias Koefferlein
596c6c0aac
Grayscale rasterizer for Region
2024-01-28 22:27:02 +01:00
Matthias Koefferlein
c1394eadef
Disabled assignment and copy for operators and filter objects
2024-01-28 16:14:53 +01:00
Matthias Koefferlein
8d6125dd74
More processors and tests
2024-01-28 15:57:01 +01:00
Matthias Koefferlein
ce88affa67
EdgePairs generic processor
2024-01-26 16:09:01 +01:00
Matthias Koefferlein
b7277631c3
Renaming of 'processor' to 'operator' to avoid name clash with EdgeProcessor, added edge operators.
2024-01-26 15:19:44 +01:00
Matthias Koefferlein
1a126ede45
Generic polygon to polygon processors
2024-01-26 13:05:09 +01:00
Matthias Koefferlein
9fbc926d67
Generic filters also for edge pair, edge and text collections
2024-01-26 11:49:15 +01:00
Matthias Koefferlein
2dca4158f2
Some refactoring.
2024-01-26 10:30:03 +01:00
Matthias Koefferlein
0b77ef996b
Removed unneccessary code
2024-01-25 23:27:39 +01:00
Matthias Koefferlein
b34f539fe1
Generic filter for polygons
2024-01-25 23:10:12 +01:00
Matthias Koefferlein
6ad1f3f73f
Fixed a numerical issue leading to an infinite loop on some compilers
2024-01-23 16:31:46 +01:00
Matthias Koefferlein
9a52095dd0
Merge branch 'master' into wip
2024-01-07 17:25:11 +01:00
Matthias Koefferlein
0ae2ed49f8
Merge branch 'master' into wip
2024-01-06 17:28:51 +01:00
Matthias Koefferlein
f26fac58fd
Implementation of fix for issue #1586
...
- the "to_dtrans" now behaves as expected
- the conversion constructors have been generalized by adding a 'dbu' argument
- the conversion constructors now are favoured instead of the to_xxx functions
- some of the to_xxx functions are ill-named and are deprecated
2024-01-05 23:24:50 +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
11fbad0104
eliminating some unnamed arguments
2023-12-28 21:35:14 +01:00
Matthias Koefferlein
f685fe3adf
WIP: keyword arguments for expressions
2023-12-28 01:03:21 +01:00
Matthias Koefferlein
702bcbe924
WIP: keyword arguments (for now: Python) + transformation alignment
...
pya.CplxTrans and pya.Trans are good classes for testing the
ability to resolve arguments through keyword parameters.
Keyword parameters are introduced to substitute positional
arguments.
2023-12-26 23:27:25 +01:00
Matthias Koefferlein
d1695b88af
Merge branch 'wip'
2023-12-23 18:05:54 +01:00
Matthias Köfferlein
3550d81c6f
Merge pull request #1555 from KLayout/issue-1531
...
Fixed issue #1531 (DEF format not recognized in symlink): use origina…
2023-12-08 07:26:07 +01:00
Matthias Köfferlein
3533adf8ab
Merge pull request #1554 from KLayout/issue-1549
...
Fixing issue #1549 (error layer handling in RecursiveShapeIterator)
2023-12-08 07:25:51 +01:00
Matthias Koefferlein
3e114bd69c
Fixed doc.
2023-12-08 07:24:46 +01:00
Matthias Koefferlein
b6d3f8be93
Added Edge#euclidian_distance
2023-12-07 23:09:04 +01:00
Matthias Koefferlein
d5f484bf92
Added EdgePair#distance
2023-12-05 22:09:57 +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
caf54bd77b
Fixed issue #1531 (DEF format not recognized in symlink): use original path to determine format
2023-12-02 22:10:31 +01:00
Matthias Koefferlein
c05f7c8bd9
Fixing issue #1549 (error layer handling in RecursiveShapeIterator)
2023-12-02 19:00:43 +01:00
Matthias Koefferlein
0efdbd4ebe
Doc updates
2023-11-26 10:32:26 +01:00
Matthias Koefferlein
0ea2610bf4
Reworking technology API a little: providing a way to register a new technology object, clarification of doc
2023-11-25 16:56:56 +01:00
Matthias Koefferlein
1e09bee1b6
Fixed issue #1534 (Layout::dup does not copy properties)
2023-11-19 20:48:44 +01:00
Matthias Koefferlein
86c1e6ad2b
Some more refactoring
2023-11-19 00:14:46 +01:00
Matthias Koefferlein
c2df163b8a
Added cell variants to polygon to edge processor
2023-11-18 23:27:20 +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
d0172d57f3
Further optimization/refactoring
2023-11-18 19:12:13 +01:00
Matthias Koefferlein
06afaf8692
Some refactoring
2023-11-18 18:57:08 +01:00
Matthias Koefferlein
877646d959
Debugging sized operator for generic DRC, new tests
2023-11-18 13:40:50 +01:00
Matthias Koefferlein
c368710253
Further bug fixes in generic DRC domain
2023-11-18 12:35:34 +01:00
Matthias Koefferlein
37334d40b9
WIP
2023-11-18 11:09:31 +01:00
Matthias Koefferlein
1b01d6e20a
First version that works with the test case
2023-11-17 00:21:15 +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
139723ed5d
Enabling db resource for the '-without-qt' case, specifically the default font
2023-11-12 22:25:53 +01:00
Matthias Koefferlein
969ceb84bb
FEATURE: Added Layout#error_layer.
2023-11-11 23:09:05 +01:00
klayoutmatthias
fcfc69529c
Fixing a static initialization problem on Windows
2023-11-09 22:03:23 +01:00
Matthias Koefferlein
4a152583e8
Trying to fix a problem on Windows
2023-11-09 21:56:55 +01:00
Matthias Köfferlein
041fb53d04
Merge pull request #1518 from KLayout/git-for-packages
...
Git for packages
2023-11-07 21:36:01 +01:00
Matthias Koefferlein
b56220d36d
[consider merging] Functional ut_runner binary also with -without-qt
2023-10-28 23:48:56 +02: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
72278b90ec
Added 'top_level' feature to tell LVS to perform in top level mode
2023-09-27 21:45:06 +02:00
Matthias Koefferlein
cd5204fdf1
Backwards compatible definition of LogDataEntry#to_s
2023-09-27 21:14:11 +02:00
Matthias Koefferlein
001c2240e2
Highlight error marker from netlist browser
2023-09-26 23:39:46 +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
e9eb8e7ebc
Using categories for device extractor errors
2023-09-26 21:57:50 +02:00
Matthias Koefferlein
2c88f7753d
Bug fix
2023-09-26 21:57:16 +02:00
Matthias Koefferlein
579f5ffca4
Doc updates
2023-09-25 23:33:15 +02:00
Matthias Koefferlein
2a85ae8e5c
Added tests
2023-09-24 21:33:28 +02:00
Matthias Koefferlein
6412c534b8
Updated tests
2023-09-24 19:01:30 +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
439e10c982
Bug fixes
2023-09-23 23:58:43 +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
4d41ca6f5c
Fixed tests. Note that now a net with two labels carries a combined net name and does not qualify for connect_implicit if one label matches
2023-09-23 21:44:35 +02:00
Matthias Koefferlein
c81388d830
Updated tests
2023-09-23 17:33:44 +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
e56cdaeaab
WIP
2023-09-22 22:59:43 +02:00
Matthias Koefferlein
2f1cbf2e01
WIP
2023-09-22 21:45:34 +02:00
Matthias Koefferlein
1639ffdf34
WIP
2023-09-19 23:42:19 +02:00
Matthias Koefferlein
034a2673d0
Implemented must-connect check
2023-09-19 23:39:02 +02:00
Matthias Koefferlein
e7a8569052
WIP: reimplementing connect_implicit on netlist basis
2023-09-19 23:10:51 +02:00
Matthias Koefferlein
93c570a6f9
[consider merging] Fixed an unitialized pointer
2023-09-17 22:04:36 +02:00
Matthias Koefferlein
1333856337
WIP
2023-09-17 19:58:22 +02:00
Matthias Koefferlein
7c1fd487d6
[consider merging] Bugfix for LayoutToNetlistReader
2023-09-17 19:58:04 +02:00
Matthias Koefferlein
7126375646
WIP
2023-09-17 19:26:18 +02:00
Matthias Köfferlein
70dcef25ce
Merge pull request #1476 from KLayout/issue-1474
...
Fixing issue-1474 (throw a FATAL ERROR when multiple cellname have th…
2023-09-12 07:22:37 +02:00
Matthias Koefferlein
9bb8b4e548
Bugfix: PCellDeclarationHelper was not present after 'import * from pya', more modern version of PCell samples
2023-09-10 23:41:51 +02:00
Matthias Koefferlein
64bcc6bb65
Bugfixed last commit
2023-09-10 22:51:22 +02:00
Matthias Koefferlein
22bab6d6a6
Some refactoring
2023-09-10 22:05:08 +02:00
Matthias Koefferlein
b7ee16b63f
Performance enhancement for instance sorting - done only on demand
2023-09-10 19:47:43 +02:00
Matthias Koefferlein
8adc14d22b
Fixing issue-1474 (throw a FATAL ERROR when multiple cellname have the same refnum)
2023-09-09 22:13:05 +02:00
Matthias Koefferlein
81e6141245
Fixed issue #1464 - Layout#get_info and Layout#set_info don't segfault on wrong layer index
2023-09-02 19:37:43 +02:00
Matthias Koefferlein
862f8a5c65
Restored a method which was renamed by mistake
2023-09-02 19:18:43 +02:00
Matthias Koefferlein
512183d55c
Fixed a documentation error
2023-08-30 21:48:09 +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
87fcbbecfa
Fixed some includes which where not there
2023-08-23 21:47:06 +02:00
Matthias Koefferlein
5075cad46a
Further trying to fix Windows builds
2023-08-23 20:43:58 +02:00
Matthias Koefferlein
8ac4113abc
Further trying to fix Windows builds
2023-08-23 20:39:03 +02:00
Matthias Koefferlein
3313f5588e
Trying to fix more Windows build issues
2023-08-23 20:33:41 +02:00
Matthias Koefferlein
6027510c19
Fixing Windows build
2023-08-23 00:03:59 +02:00
Matthias Koefferlein
9153763a1c
Fixing Windows build - template point<C> and vector<C> are fully inlined and 'to_string' function pointer for SFINAE creates duplicate symboles
2023-08-22 23:27:10 +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
5941ee688a
Fixed a build error.
2023-08-20 22:33:06 +02:00
Matthias Koefferlein
4e8c83e7b6
Fixed a build error.
2023-08-20 22:31:45 +02:00
Matthias Koefferlein
2c2fbea94f
Some useful aliases for RBA as in-place operators do not really do what they are supposed to in Ruby.
2023-08-20 19:15:08 +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
5de45000db
Triangles: integration into Region processor
2023-08-19 21:50:05 +02:00
Matthias Koefferlein
e416c04a1c
Triangles: enhanced API
2023-08-19 20:40:15 +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
31caa8a04d
Small optimization
2023-08-19 13:29:37 +02:00
Matthias Koefferlein
ef7a5a1331
Triangle: some performance optimization
2023-08-19 13:16:19 +02:00
Matthias Koefferlein
c6b7908499
Triangles: Memory optimization
2023-08-19 01:55:04 +02:00
Matthias Koefferlein
ae3588ab16
Triangles: potential performance improvement in degenerate point set (circle) case.
2023-08-19 01:13:09 +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
5679540c85
Some refactoring
2023-08-16 22:21:49 +02:00
Matthias Koefferlein
2acedfde6f
Fixed some compiler warnings
2023-08-16 22:20:25 +02:00
Matthias Koefferlein
da1251ada2
Fixed a numerical issue with vprod_sign etc. - was using a too coarse precision value to decide about the sign
2023-08-16 22:19:33 +02:00
Matthias Koefferlein
fe90164a8a
Fixed some compiler warnings
2023-08-16 22:18:53 +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
255f2dd572
WIP
2023-08-12 21:34:45 +02:00
Matthias Koefferlein
b710b32fbe
WIP
2023-08-12 21:23:00 +02:00
Matthias Koefferlein
1756ddfafa
WIP
2023-08-12 20:44:30 +02:00
Matthias Koefferlein
0941bc214c
WIP
2023-08-12 20:27:05 +02:00
Matthias Koefferlein
f86f56fbb0
WIP
2023-08-12 19:20:02 +02:00
Matthias Koefferlein
789ae93b52
WIP
2023-08-12 18:45:13 +02:00
Matthias Koefferlein
a242336834
WIP
2023-08-12 18:30:00 +02:00
Matthias Koefferlein
dfa0a0619b
WIP
2023-08-12 18:12:44 +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 Koefferlein
254015617d
Merge branch 'wip' into wip2
2023-08-11 19:17:01 +02:00
Matthias Koefferlein
141f7d78cd
Hopefully fixing Windows builds
2023-08-07 00:25:01 +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
476c7156ab
Merge branch 'master' into wip2
2023-08-01 21:48:00 +02:00
Matthias Koefferlein
3736b59156
it's -> its
2023-07-30 14:46:58 +02:00
Matthias Koefferlein
6e4ac71442
WIP
2023-07-28 23:48:34 +02:00
Matthias Koefferlein
e766b12c3e
Allowing PCell layer parameters without default (-> empty)
2023-07-28 21:52:51 +02:00
Matthias Koefferlein
8b44a3ba13
Fixing PCellDeclaration helper (correct use of 'raise'
2023-07-28 21:26:05 +02:00
Matthias Koefferlein
0f47a9e54d
Refined solution for #1425 (exact match has priority in find_layers), doc updates
2023-07-23 18:19:21 +02:00
Matthias Koefferlein
393aacbcff
Fixed issue #1425 : enhancement - allow searching for layers in layouts by name even if they have layer/datatype
2023-07-23 10:05:20 +02:00
Matthias Koefferlein
e965f87f58
Merge branch 'master' into wip
2023-07-15 22:48:53 +02:00
Matthias Koefferlein
7bcbd607b7
Meta infos in GDS2 files do not make old KLayout versions fail always
...
Only these cases are not supported by old versions:
* Layout-object meta info
* Meta info on top cell (renders an empty layout)
2023-07-11 01:01:43 +02:00
Matthias Köfferlein
6b1aa882eb
Merge pull request #1412 from KLayout/wip2
...
Wip2
2023-07-05 18:31:38 +02:00
Matthias Koefferlein
37cf773a70
Introduces a 'greedy hierarchy' mode for DeepShapeStore for special applications (e.g. strmxor)
2023-07-04 07:56:58 +02:00
Matthias Koefferlein
3980476455
Trying to improve deep mode performance by avoiding multiple cell mapping operations due to partial hierarchy transfer. On the cost side, the hierarchy is always duplicated.
2023-07-04 00:19:55 +02:00
Matthias Koefferlein
01f2868e5d
Fixed issue #1407 (clip does not support polygons with holes)
2023-07-02 22:14:13 +02:00
Matthias Koefferlein
07b8362368
Small performance enhancement of cell mapping
2023-06-29 23:09:16 +02:00
Matthias Koefferlein
6a8d18ed05
Doc update
2023-06-26 14:19:29 +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
a0c70a2cc7
Another small optimization of hierarchical processor, makes a small difference
2023-06-09 23:31:39 +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
d604003e3f
Changing XOR implementation to mapped
...
The previous implementation for two layouts
was based on the twofold traversal of hierarchies
but that is less efficient than first mapping and
then doing the XOR within the single layout.
2023-06-08 19:03:57 +02:00
Matthias Koefferlein
078258bf09
New branch for XOR performance improvement in deep mode
2023-06-06 23:35:40 +02:00
Matthias Koefferlein
9817f12385
Speedup of hierarchy processor (context computation) in case if deeply hierarchical two-input cases
2023-06-04 09:13:20 +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
Sebastian Goeldi
293590acb0
fix add_meta_info of Layout and Cell
2023-05-25 13:45:46 +02:00
Matthias Köfferlein
fa9e7e7c12
Merge pull request #1379 from KLayout/wip2
...
Wip2
2023-05-23 19:44:49 +02:00
Matthias Koefferlein
c1e0b1a40b
Small update: code patch for fixing debug output
2023-05-21 21:07:43 +02:00
Matthias Koefferlein
01eeee1b76
WIP: simplification, needs testing
2023-05-21 20:20:46 +02:00
Matthias Koefferlein
ca05f59168
WIP: some performance enhancement, but not compatible
2023-05-21 20:02:46 +02:00
Matthias Koefferlein
0400261641
Added testcase for issue-1366
2023-05-20 23:26:20 +02:00
Matthias Koefferlein
44965bf19c
Approx 2x performance improvement of issue-1366 testcase due to more efficient filling of scanline queue
2023-05-20 23:10:03 +02:00
Matthias Koefferlein
c37be0884c
Potential performance fix for issue #1366
2023-05-20 23:10:01 +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
ba0aaef132
Merge branch 'master' into wip2
2023-05-18 19:00:24 +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 Koefferlein
8f25c3470d
Small enhancement to 'decompose_convex' with the goal to avoid thin slivers
2023-05-14 18:33:53 +02:00
Matthias Köfferlein
641d2404d2
Merge pull request #1358 from KLayout/wip2
...
Wip2
2023-05-12 23:31:26 +02:00
Matthias Koefferlein
f25d20be20
[bugfix] making 'R', 'L' and 'C' parameters too for the respective Spice elements (beside 'value')
2023-05-11 23:40:20 +02:00
Matthias Koefferlein
da52eeb7c3
Fixed text bbox computation under the presence of global view transformations and 'apply text transformation' false
2023-05-11 20:05:28 +02:00
Matthias Koefferlein
1422dfb93d
Bugfix, text reference made the program assert
2023-05-11 18:57:24 +02:00
Matthias Koefferlein
45394b801a
Debugging TextInfo, added tests
2023-05-09 21:37:15 +02:00
Matthias Koefferlein
e8048d6686
WIP: preparations - introducing TextInfo
2023-05-07 19:51:15 +02:00
Matthias Koefferlein
5fd54fa40a
Netlist reader: anonymous circuits are not checked for known parameters
2023-05-06 00:00:56 +02:00
Matthias Koefferlein
7bdc8efc81
Displaying meta info in user properties dialog box for information
...
Copy of meta info from cell to other layout now preserves names.
In addition two bugs have been fixed:
* Display of meta info for layout on statistics page did not show description
* ghost cell status now is copied on cell copy
2023-05-02 21:48:13 +02:00
Matthias Koefferlein
ffd47e1341
Fixed issue-1353 (problem with recursive instance iterator)
2023-04-29 23:28:20 +02:00
Matthias Koefferlein
707ebc4114
Copying meta information of cells on various occasions too (e.g. clipboard copy & paste)
2023-04-29 23:27:42 +02:00
Matthias Koefferlein
c8d97871fd
Enabling build of version agnostic plugins
2023-04-22 21:26:39 +02:00
Matthias Koefferlein
70b6306635
Tests for complex data for meta info, doc updates
2023-04-22 00:16:12 +02:00
Matthias Koefferlein
d9e0d107b1
Bug fixes, RBA tests for meta info
2023-04-21 23:33:42 +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
b36eb04afa
Meta info persistency also for OASIS
2023-04-18 22:34:11 +02:00
Matthias Koefferlein
78da3effa2
Next steps - persistency of meta info
2023-04-18 21:24:26 +02:00
Matthias Koefferlein
b14c630ce9
Scheduling update for 0.28.8
2023-04-16 21:40:53 +02:00
Matthias Koefferlein
541f9a377f
Small refactoring, added persisted flag for meta info
2023-04-16 21:31:25 +02:00
Matthias Koefferlein
1a0542f155
Fixed two compiler warnings of hidden virtual methods
2023-04-16 21:31:02 +02:00
Matthias Koefferlein
df4221cfc9
First features to support cell meta data
2023-04-16 20:25:30 +02:00
Matthias Köfferlein
d560027790
Merge pull request #1334 from KLayout/issue-1327
...
Issue #1327 fixed (segfault in pymod finalization code)
2023-04-13 22:55: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
63a4fe8d77
Issue #1327 fixed (segfault in pymod finalization code)
2023-04-07 10:59:30 +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
fd0c60761f
Merge branch 'master' into wip
2023-03-24 15:56:48 +01: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
b979219007
Fixed previous implementation - was not fully effective
2023-03-16 20:06:07 +01:00
Matthias Koefferlein
178cb29773
Fixed a function call typo
2023-03-16 10:05:36 +01:00
Matthias Koefferlein
2166f2bb21
Some memory optimization potential with tiled processor to improve XOR memory footprint (box-like polygons stored as boxes, polygon references)
2023-03-15 23:22:04 +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
bcaefefded
Cleanup of box scanner implementation
2023-03-12 19:45:39 +01:00
Matthias Koefferlein
741c9d9ac5
Performance enhancement of flat space DRC in some cases
2023-03-12 19:45:24 +01:00
Matthias Koefferlein
55dbf85b4b
Some refactoring of Spice reader with the goal to simplify delegate implementation, removing static instance of default delegate
2023-03-12 17:03:15 +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
6955d7d0c7
Better handling of inputs in deep mode after manipulating the hierarchy of the input layout
2023-03-12 00:26:18 +01:00
Matthias Koefferlein
047455c560
Merge branch 'master' into wip2
2023-03-12 00:10:23 +01:00
Matthias Koefferlein
5a1e845a64
[consider merging] regenerating pyi stubs, sorting methods by name for better stability of files, small patch (missing box ctor arg names)
2023-03-11 19:56:02 +01:00
Matthias Koefferlein
ce31f47918
[consider merging] regenerating pyi stubs, sorting methods by name for better stability of files, small patch (missing box ctor arg names)
2023-03-11 19:55:06 +01:00
Matthias Koefferlein
068849a634
Refactoring, primary goal is to centralize the definition of PCellDeclarationHelper in Python
2023-03-10 23:22:30 +01:00
Matthias Koefferlein
3e8f03ef5f
Synchronizing Python PCellDeclarationHelper between the two implementations (for standalone module + build-in for app)
2023-03-07 23:43:12 +01:00
Matthias Koefferlein
1b3e8e14c5
Netlist reader: anonymous circuits are not checked for known parameters
2023-03-06 22:38:10 +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
ceb82a15d8
Fixed merge issues
2023-02-27 00:27:23 +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
0fa9bc6e2b
Fixed issue #1304 (terminal order for MOS devices)
2023-02-26 23:30:17 +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
2e3c859cd3
Specified release version for Spice reader enhancements
2023-02-26 19:52:05 +01:00
Matthias Koefferlein
d20e4b2128
Bug fixes, adjusted test data
2023-02-22 15:54:28 +01:00
Matthias Koefferlein
be5e16c125
WIP: bug fixing, new test cases
2023-02-22 13:11:30 +01:00
Matthias Koefferlein
44e123f343
WIP: Spice reader - resolve model and net names by variables
2023-02-22 10:20:48 +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
715c7ed282
WIP: rewriting Spice expression parser to support more functions
2023-02-21 18:10:36 +01:00
Matthias Koefferlein
80fa7e47e2
WIP: tests pass
2023-02-21 00:49:23 +01:00
Matthias Koefferlein
49d3edd26a
WIP: debugging, first tests pass.
2023-02-21 00:17:41 +01:00
Matthias Koefferlein
ac5616a583
WIP
2023-02-21 00:15:22 +01:00
Matthias Koefferlein
736676701d
WIP
2023-02-20 23:54:04 +01:00
Matthias Koefferlein
459de47448
WIP: spice reader refactoring to support parametric subcircuits
2023-02-20 23:25:23 +01:00
Matthias Koefferlein
2214345df2
WIP
2023-02-20 22:59:03 +01:00
Matthias Koefferlein
40fd350d85
WIP
2023-02-20 22:06:45 +01:00