Matthias Koefferlein
38a3b8305e
Fixing issue #1651 (errors when adding polygons with 4 points) - needs some testing
2024-03-23 15:24:18 +01:00
Matthias Koefferlein
b4d170fa66
Implemented issue #1656 (Display-->Goto Position dialog should accept + as well as - for number prefixes)
2024-03-23 14:53:34 +01:00
Matthias Koefferlein
fe61627b96
Some cleanup
2024-03-23 08:45:38 +01:00
Matthias Koefferlein
a79d286f61
Cleanup
2024-03-22 23:27:08 +01:00
Matthias Koefferlein
1874e95d67
Doc update
2024-03-22 23:26:52 +01:00
Matthias Koefferlein
554fff1d23
Added a large test case for soft connections
2024-03-22 22:44:58 +01:00
Matthias Koefferlein
91dae8b471
[consider merging] stray bug: fixed a small issue with error messages on missing resources (redundant 'ERROR')
2024-03-22 22:36:59 +01:00
Matthias Koefferlein
f4df6ec4ff
Doc updates
2024-03-22 19:04:13 +01:00
Matthias Koefferlein
10cf9c0bb6
More tests
2024-03-21 22:46:05 +01:00
Matthias Koefferlein
917439b84e
New testdata, bugfix: considering the case of partial net formation through soft, upward inter-instance connections. Enhanced reporting (report multiple partial nets of the same circuit at different instances)
2024-03-21 21:31:20 +01:00
Matthias Koefferlein
366249645a
Another test
2024-03-20 23:37:10 +01:00
Matthias Koefferlein
265b5680de
Added soft-connect test for valid layout
2024-03-20 23:29:25 +01:00
Matthias Koefferlein
400becb6b6
Bugfix: proper handling of soft-connected instance connectors
2024-03-20 02:03:53 +01:00
Matthias Koefferlein
a0122f49d9
Netlist browser: log tab will be visible also for L2N database now
2024-03-19 23:25:50 +01:00
Matthias Koefferlein
33d8befa1b
[consider merging] avoid a segfault when loading a l2n db with '-mn' into KLayout
2024-03-19 21:25:06 +01:00
Matthias Koefferlein
a04bcbc9a3
Some refactoring (renaming)
2024-03-19 20:41:42 +01:00
Matthias Koefferlein
92a9b49139
Added images for doc
2024-03-17 23:08:20 +01:00
Matthias Koefferlein
3011e77439
Need to differentiate between non-connected pins and pins with up+down connection - introducing a pin direction mode
2024-03-17 20:42:30 +01:00
Matthias Koefferlein
203a62f0af
Place diodes in debug mode for soft connections, but still generate log entries
2024-03-17 20:41:45 +01:00
Matthias Koefferlein
6f48893cdb
Enabling special mode (hidden) for generating diodes for soft connections
2024-03-17 20:40:44 +01:00
Matthias Koefferlein
c04d468c55
Providing log entries with indents (for details)
2024-03-17 20:40:11 +01:00
Matthias Koefferlein
8984531a8c
Small enhancements of netlist browser: multiple items can be selected in log view (for manyfold geometries), highlights are cleared on tab change
2024-03-17 18:36:49 +01:00
Matthias Koefferlein
b10cda574c
Reporting
2024-03-17 17:39:39 +01:00
Matthias Koefferlein
b9baa24d3a
Refactoring (split source code file)
2024-03-16 21:56:39 +01:00
Matthias Koefferlein
9ab7a5a84f
Soft connection analysis, first algorithm
2024-03-16 21:38:35 +01:00
Matthias Koefferlein
db2ae89521
WIP
2024-03-16 19:03:41 +01:00
Matthias Koefferlein
5e95b32ac4
WIP
2024-03-16 00:10:35 +01:00
Matthias Koefferlein
44edd8d26a
Added a regression test for netlist extractor with soft connections
2024-03-16 00:02:44 +01:00
Matthias Koefferlein
417309acf1
Added a basic test
2024-03-15 23:15:21 +01:00
Matthias Koefferlein
5fbb57750b
WIP
2024-03-15 22:02:57 +01:00
Matthias Koefferlein
92f887c319
WIP
2024-03-14 23:27:06 +01:00
Matthias Koefferlein
befbde0f43
WIP
2024-03-14 22:14:20 +01:00
Matthias Koefferlein
c4fb287eb7
[consider merging] robustness of cross reference view against temporary loss of xref object reference
2024-03-14 19:36:19 +01:00
Matthias Koefferlein
dca287b724
WIP
2024-03-14 01:02:56 +01:00
Matthias Koefferlein
6db937d9df
WIP
2024-03-14 00:22:46 +01:00
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
2d91f7f90c
[consider merging] Bugfix: connect_explicit did not accept an array of nets as single argument
2024-03-12 00:08:52 +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
59a572344c
[consider merging] Bugfix: connect_explicit did not accept an array of nets as single argument
2024-03-11 22:42:33 +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
7c4133b9e4
Fixed issue #1632 (at least partially): introducing non-const versions of RDB iterators and access methods
2024-03-09 21:54:17 +01:00
Matthias Koefferlein
d60583a9b4
Robustness of tests
2024-03-09 18:46:45 +01:00
Matthias Köfferlein
230bacf725
Merge pull request #1601 from KLayout/drc-procs-and-filters
...
Region/Edges/EdgePairs/Texts operators and filters
2024-03-09 18:10:37 +01:00
Matthias Köfferlein
408a30164e
Maybe fixing weird menu texts (issue #1631 ) ( #1634 )
...
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-03-09 09:36:08 +01:00
Matthias Koefferlein
8886c152be
Changing location of test file so we don't spoil WebDAV tests from previous versions
2024-03-09 09:35:24 +01:00
Matthias Koefferlein
d906f870b0
Warning level was ignored for some warnings in LEF/DEF reader
2024-03-09 01:22:32 +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
ffffe7327c
Preparing for merge with master
2024-03-09 01:10:34 +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
ab5f215417
DRC doc
2024-03-07 22:08:45 +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
d505767bf1
Added test for edge interactions with count
2024-03-07 15:30:52 +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
c2187e0bf0
OASIS reader creates layers listed in layer map also if empty
2024-02-29 22:31:23 +01:00
Matthias Koefferlein
26fc81624c
Updating tests
2024-02-29 21:45:56 +01:00
Matthias Koefferlein
9548f5109a
Implementing automatic .gz support for https and pipe URIs
2024-02-29 21:42:32 +01:00
Matthias Koefferlein
012447c31b
Fixed a small flaw: pipe stream did not report source in errors
2024-02-28 22:41:09 +01:00
Matthias Koefferlein
f7411b52d2
Fixed a typo in DRC doc of 'corners'
2024-02-21 22:20:20 +01:00
Matthias Koefferlein
4789e2effb
Merge tag 'v0.28.17'
2024-02-18 22:30:05 +01:00
Matthias Koefferlein
890b389102
Merge branch 'wip2'
2024-02-18 22:27:17 +01:00
Matthias Koefferlein
8947c9992f
Added configuration options for XOR tool to switch between with merge-before and without.
2024-02-17 21:20:52 +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
250c23eb97
Update of Python stubs
2024-02-16 15:51:40 +01:00
Matthias Koefferlein
0e15fa0ed2
GSI binding for tech specific grids
2024-02-16 15:21:03 +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
859a09bbeb
First proposal for feature ( #1626 )
...
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-15 13:34:26 +01:00
Matthias Köfferlein
0270c5dc19
Issue 1623 ( #1624 )
...
* Fixing issue #1623 (Package installation with '-y' from command line does not work for URL or file)
* Another bugfix: package installation with -y from file structure did not work as 'grain.xml' is not added to grain URL
---------
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 16:59:15 +01:00
Matthias Köfferlein
b799391ec9
Issue 1623 ( #1624 )
...
* Fixing issue #1623 (Package installation with '-y' from command line does not work for URL or file)
* Another bugfix: package installation with -y from file structure did not work as 'grain.xml' is not added to grain URL
---------
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 16:58:09 +01:00
Matthias Koefferlein
1e7bd5b765
Updating Pythong stubs and doc.
2024-02-12 11:36:28 +01:00
Matthias Köfferlein
1eefbf35ad
Maybe fixing issue #1619 (crash on Fedora-39 upon initialization) ( #1622 )
...
* Maybe fixing issue #1619 (crash on Fedora-39 upon initialization)
* Python 3.6 compatibility
---------
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 08:41:46 +01:00
Matthias Köfferlein
9a94b5f535
Maybe fixing issue #1602 ( #1621 )
...
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-12 08:41:40 +01:00
Matthias Köfferlein
0c02976cdd
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:41:35 +01:00