Matthias Koefferlein
579da640ba
Enhancement: added optional layer/datatype information to DRC/LVS 'name'
2024-06-16 19:33:24 +02:00
Matthias Koefferlein
24a9e6824a
Added tests for the last fix.
2024-06-16 16:54:20 +02:00
Matthias Koefferlein
9f7e84d9e7
Adding transformation to shapes_of_pin, shapes_of_terminal
2024-06-06 21:01:52 +02:00
Matthias Koefferlein
04caf13d8d
Added tests for shapes_of_terminal
2024-06-06 20:47:55 +02:00
Matthias Koefferlein
3e4775aabb
Added tests for shapes_of_pin
2024-06-06 20:20:35 +02:00
Matthias Koefferlein
23b74339ff
Fixed test data for Linux
2024-06-02 23:09:40 +02:00
klayoutmatthias
86e84c8ca6
Updating further golden data files with MacOS variants
2024-06-02 20:12:18 +02:00
klayoutmatthias
8204f4d0aa
Updating golden test data with MacOS variants
2024-06-02 19:59:40 +02:00
Matthias Köfferlein
a494892529
Merge pull request #1718 from KLayout/wip
...
Wip
2024-05-31 22:48:24 +02:00
Matthias Köfferlein
7b2a248484
Merge pull request #1720 from KLayout/bugfix/issue-1719
...
Bugfix/issue 1719
2024-05-31 22:48:09 +02:00
Matthias Koefferlein
da9dc8929c
Updating one golden test data file
2024-05-31 16:03:48 +02:00
Matthias Koefferlein
11bddc2914
Refining solution for "blend-mode 0" enhancement
2024-05-31 14:45:25 +02:00
Matthias Köfferlein
7399244557
Merge pull request #1725 from KLayout/bugfix/issue-1724
...
Fixing issue #1724 (avoid duplicate LEF files)
2024-05-31 13:18:44 +02:00
Matthias Koefferlein
c70e622590
Fixing issue #1724 (avoid duplicate LEF files)
2024-05-30 16:21:52 +02:00
Matthias Koefferlein
149c972172
Enhancing 'blend-mode' 0 (buddy tools) such that it will not generate instance duplicates
2024-05-29 22:39:57 +02:00
Matthias Koefferlein
496818f0a8
Added testdata for #1719 , part 3
2024-05-28 23:21:58 +02:00
Matthias Koefferlein
f01d8d46b5
Improving reports for errors in 'same_nets' cases
2024-05-27 00:43:36 +02:00
Matthias Koefferlein
14b1fddcc5
Trying to improve must-connect error messages
...
* Avoid repetitions
* Include geometry for nets if possible
* Better wording
* All joined nets tested together - leaner code
2024-05-26 19:32:15 +02:00
Matthias Koefferlein
35d9068f72
Updating unit tests - stray text nets are gone.
2024-05-26 17:08:34 +02:00
Matthias Koefferlein
0c52934100
Trying a solution for issue #1719 , part 2
...
The solution is to drop clusters that have no area
and not connections downward. This implies, we cannot
connect from upward to such clusters - i.e. we cannot
force a pin inside a subcircuit with a plain text. We
need some polygon at least. This is not a problem as
texts were not enough so far anyway.
2024-05-26 15:17:58 +02:00
Matthias Koefferlein
1677111735
Enhanced documentation for LayoutToNetlist class, two more methods (layer_indexes, layer_info)
2024-05-25 19:57:51 +02:00
Matthias Koefferlein
4f88ff68da
Better error messages on Expressions too.
2024-05-25 19:18:15 +02:00
Matthias Koefferlein
d59d318218
Bugfix: restoring original overload matching scheme for Ruby and Python
2024-05-25 18:58:18 +02:00
Matthias Koefferlein
eb92e5f2d1
Better error messages on argument mismatch for Ruby too.
2024-05-25 18:43:44 +02:00
Matthias Koefferlein
1861abc68c
Bugfix for passing default arguments to GSI calls
...
This happens when default arguments (specifically
user class or enum types) and passed between keyword
and positional arguments. We must not use a temporary
tl::Variant object as it gets out of scope and a
reference is stored.
In addition: better error messages for Python when
a method can't be matched to arguments.
2024-05-25 17:48:17 +02:00
Matthias Koefferlein
51a1a2627f
Fix for issue-1710 (feature request: create separate cell for def FILL)
2024-05-18 18:37:52 +02:00
Matthias Köfferlein
7b3804ce1a
Merge pull request #1697 from KLayout/bugfix/issue-1696
...
Bugfix/issue 1696
2024-04-30 15:27:31 +02:00
Matthias Köfferlein
d14f8b0253
Merge pull request #1694 from KLayout/waive-concept
...
Waive concept
2024-04-30 15:27:15 +02:00
Matthias Köfferlein
d5a67080c0
Merge pull request #1690 from KLayout/wip
...
Wip
2024-04-30 15:26:59 +02:00
Matthias Koefferlein
a10356fd85
Added tests
2024-04-29 19:18:39 +02:00
Matthias Koefferlein
4a2143d234
Using plain DRC functions for better test reproducibility
2024-04-29 00:46:58 +02:00
Matthias Koefferlein
bc2028cedb
Providing test data variants
2024-04-28 22:59:21 +02:00
Matthias Koefferlein
92a0c38d96
Tests for waiving flow
2024-04-28 19:32:54 +02:00
Matthias Koefferlein
fbc336dde2
Added tests
2024-04-28 17:37:58 +02:00
Matthias Koefferlein
1c367f3757
Updating test data
2024-04-28 16:16:21 +02:00
Matthias Koefferlein
9ef51ca981
RdbCell#layout_name and RdbItem#comment with tests and GSI binding
2024-04-27 19:56:39 +02:00
Matthias Koefferlein
bb17250d94
Implemented a fix for issue #1691
...
The root cause was that the terminal identity could
not be derived in the presence of soft connections
inside the device abstract cell. The solution is to
join soft connected clusters in the device abstracts with
a warning.
2024-04-21 18:13:54 +02:00
Matthias Koefferlein
f68fd4f8d0
Refactoring of EdgePairs/Edges API to avoid ambiguities
2024-04-21 00:17:05 +02:00
Matthias Koefferlein
a18a6be181
DRC: New options for "corners", "angle", "with(out)_angle"
...
- layer.corners: absolute and negative option
- drc(corners): absolute option, != operator supported
- layer.with_angle/without_angle: absolute option
- drc(angle): absolute option
+ corresponding API updates:
- EdgePairs#with_angle, with_angle_both: 'absolute' flag added
- Edges#with_angle: 'absolute' flag added
- Region#corners: 'inverse' and 'absolute' added
2024-04-20 21:52:38 +02:00
Matthias Koefferlein
cba126e9ee
Small enhancements for Spice reader
...
- Detects recursive subcircuit calls now
- Dismisses empty top level circuit which happened to be created
when there were not top level elements and control statements
were present (such as .param)
2024-04-18 21:27:09 +02:00
Matthias Köfferlein
c6174b1df5
Merge pull request #1684 from KLayout/bugfix/issue-1683
...
Bugfix/issue 1683
2024-04-17 22:38:04 +02:00
Matthias Köfferlein
3c2a254a9b
Merge pull request #1682 from KLayout/bugfix/issue-1681
...
Fixed issue #1681
2024-04-17 22:37:53 +02:00
Matthias Koefferlein
f6417adbb1
Added missing file
2024-04-14 23:55:46 +02:00
Matthias Koefferlein
6a876d2cd6
Fixed issue #1681
2024-04-14 19:43:50 +02:00
Matthias Koefferlein
00bc208e3f
Merge branch 'master' into editor-hooks
2024-03-31 10:39:00 +02:00
Matthias Koefferlein
3836874b8f
Enhanced Euclidian visualization
2024-03-31 10:30:04 +02:00
Matthias Koefferlein
03d77bbff6
Region#drc_hull for generating DRC space forbidding region visualizations
2024-03-30 22:01:39 +01:00
Matthias Koefferlein
c43b70b783
Shape#hash and Shape#< allow using Shape objects as hash keys
2024-03-29 21:47:37 +01:00
Matthias Koefferlein
6ac1c32a8d
Merge branch 'master' into 1598-support-for-soft-connections
2024-03-29 09:00:17 +01:00
Matthias Köfferlein
555354090f
Merge pull request #1664 from KLayout/issue-1662
...
Issue 1662
2024-03-29 08:58:31 +01:00
Matthias Köfferlein
0091292f7c
Merge pull request #1660 from KLayout/issue-1651
...
Fixing issue #1651 (errors when adding polygons with 4 points) - need…
2024-03-29 08:57:41 +01:00
Matthias Köfferlein
467c8c7527
Merge pull request #1650 from KLayout/issue-1632
...
Fixed issue #1632 (at least partially): introducing non-const version…
2024-03-29 08:56:55 +01:00
Matthias Koefferlein
5699c91d3f
Some utility features derived from the latest code changes
...
- Subtraction of boxes (pya/RBA: Box minus operator)
- Shape#rectangle, Shape#drectangle
- EdgePairs#write, Edges#write, Texts#write, Region#write for
debugging
2024-03-26 21:48:38 +01:00
Matthias Koefferlein
ab93dde25c
Tests for GSI binding
2024-03-24 22:11:07 +01:00
Matthias Koefferlein
b9bdcf6fac
Preparations: recursive shape iterator shortcuts if hierarchy traversal, needs testing.
2024-03-24 19:01:36 +01:00
Matthias Koefferlein
376058f34b
Implemented fix for issue-1662 (Strong default grids)
2024-03-24 12:48:53 +01:00
Matthias Köfferlein
8f8a7d0d65
Merge pull request #1647 from KLayout/lvs-issues
...
Lvs issues
2024-03-23 15:46:06 +01:00
Matthias Köfferlein
206e271ee3
Merge pull request #1649 from KLayout/wip
...
Wip
2024-03-23 15:45:52 +01:00
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
554fff1d23
Added a large test case for soft connections
2024-03-22 22:44:58 +01:00
Matthias Koefferlein
c1602abce1
Instance path format changed - LVS test data update needed
2024-03-21 22:48:31 +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
962e212e19
regression test for soft connect feature
2024-03-20 23:23:11 +01:00
Matthias Koefferlein
44edd8d26a
Added a regression test for netlist extractor with soft connections
2024-03-16 00:02:44 +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
klayoutmatthias
f2d61e1dee
Fixed a crash with Ruby 2.0.0 on CentOS7
2024-03-11 22:39:59 +00: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
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
c134b6c55c
Update of test data needed, because OASIS layer names are present now even if there is no shape
2024-03-09 18:47:13 +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
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
ea21a30367
Update of test data
2024-03-07 23:06:09 +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
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
e70cb7e3ee
Update of deep DRC test data because of hierarchical mode for edge intersections
2024-03-06 19:08:28 +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
8b6ed7f663
Update of testdata, edge 'outside' needs merged input too.
2024-03-02 21:40:57 +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
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
4ed64fdfa1
GSI binding for tech specific grids
2024-02-16 15:19:32 +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
3a83175a02
Compatibility with older Ruby versions
2024-02-11 16:22:42 +01:00
Matthias Koefferlein
ba61c4880f
[consider merging] Update of testcase which was broken OAS
2024-02-11 15:22:41 +01:00
Matthias Koefferlein
4a89304152
Merge branch 'master' into wip2
2024-02-11 14:23:47 +01:00
Matthias Köfferlein
97c746fbad
Lefdef all should not map boundary ( #1614 )
...
* As suggested by Stefan Thiede: LEF/DEF 'ALL' purpose should not match obs and fill
* Updated unit tests
---------
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:38:53 +01:00
Matthias Köfferlein
09dea68e40
Fixed issue #1592 (DXF reader issue) ( #1595 )
...
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:37:47 +01:00
Matthias Köfferlein
3ab442bfc0
Fixed issue #1594 ( #1596 )
...
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:36:44 +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