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
e4267e53da
Removed some debugging code
2024-05-25 14:23:16 +02:00
Matthias Koefferlein
05c129dd81
Doc fixes
2024-04-30 17:45:56 +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
de535c711f
Fixed problem by creating a default device class from an empty template string
2024-04-29 18:58:04 +02:00
Matthias Koefferlein
6e3eb568c3
Implementing variant reporting
...
Instead of reporting working layout cell names, the
original cell names plus a variant indicator is reported.
Also, the variant information from the RDB is filled now.
Also, the marker browser now shows the qname of the cells
instead of the name alone.
2024-04-28 15:30:29 +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
753f2cd164
Fixed one unit test (remove file path reference)
2024-04-20 23:35:38 +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 Koefferlein
16ef23864c
Enabled 64bit coordinate builds
2024-04-18 20:59:37 +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 Köfferlein
2f015b603a
Merge pull request #1675 from KLayout/issue-1671
...
Issue 1671
2024-04-17 22:37:41 +02:00
Matthias Koefferlein
06c65e2879
Updating tests
2024-04-15 00:01:49 +02:00
Matthias Koefferlein
62f0ea3b97
Fixing issue #1683 (Spice reader accepts circuits without definition but pins get shorted)
2024-04-14 21:04:02 +02:00
Matthias Koefferlein
6a876d2cd6
Fixed issue #1681
2024-04-14 19:43:50 +02:00
Matthias Koefferlein
95c1ee82f0
Proposal for fix.
2024-04-04 23:06:34 +02:00
Matthias Koefferlein
7f16c7b597
Fixed doc
2024-04-01 20:24:43 +02:00
Matthias Koefferlein
00bc208e3f
Merge branch 'master' into editor-hooks
2024-03-31 10:39:00 +02:00
Matthias Koefferlein
ed486a687d
Merge remote-tracking branch 'remotes/mine/master'
2024-03-31 10:37:20 +02:00
Matthias Koefferlein
3836874b8f
Enhanced Euclidian visualization
2024-03-31 10:30:04 +02:00
Matthias Koefferlein
eb1ac4903e
Refinement of solution for DRC hull generator, still not perfect.
2024-03-30 22:34:26 +01: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
bdb8389420
Merge branch 'master' of github.com:KLayout/klayout
2024-03-29 13:51:55 +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
4c5aeff1b3
Merge pull request #1663 from KLayout/issue-1638
...
Issue 1638
2024-03-29 08:58:17 +01:00
Matthias Köfferlein
974756536f
Merge pull request #1661 from KLayout/issue-1643
...
Issue 1643
2024-03-29 08:58:03 +01:00
Matthias Köfferlein
f6ad535761
Merge pull request #1659 from KLayout/issue-1656
...
Issue 1656
2024-03-29 08:57:26 +01:00
Matthias Koefferlein
0685d80012
Fixed doc.
2024-03-28 21:32:54 +01:00
Matthias Koefferlein
e0e6017a80
Need to differentiate test results between editable and non-editable mode
2024-03-28 21:06:00 +01:00
Matthias Koefferlein
7080ed9a0c
Refined XOR optimization solution such that it is compatible with deep mode and 'wants_all_cells', added more tests
2024-03-28 20:57:19 +01:00
Matthias Koefferlein
cb5a1f7d3e
Refining shape iterator optimization, so it checks instances for overlap with shapes rather the other way round. This suits better to real test cases.
2024-03-27 23:46:33 +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
3fc32e77c3
Added full-circuit test for recursive shape iterator
2024-03-26 19:15:50 +01:00
Matthias Koefferlein
40a8f21f9c
Simplified optimization as performance was bad.
2024-03-26 01:05:35 +01:00
Matthias Koefferlein
b4c7176c52
Bug fixing
2024-03-24 22:45:58 +01:00
Matthias Koefferlein
3cf8b29699
RecursiveShapeIterator debugging
2024-03-24 21:57:39 +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
bc3895ac9f
Merge branch 'master' into xor-performance
2024-03-24 12:55:11 +01:00
Matthias Koefferlein
376058f34b
Implemented fix for issue-1662 (Strong default grids)
2024-03-24 12:48:53 +01:00
Matthias Koefferlein
e2df385f2d
First version of fix for issue-1638 (let klayout marker browser read strmxor .. xor.gds.gz, xor.oas result files)
2024-03-24 11:05:48 +01:00
Matthias Koefferlein
54273206a7
More robust tests
2024-03-23 20:18:38 +01:00
Matthias Koefferlein
4cacb60f26
Fixed an issue with property constraints
2024-03-23 19:55:16 +01:00
Matthias Koefferlein
a6d2930f80
Fixed issue #1643 (Feeding the same layer to two-layer operations in deep mode does not render the desired result) by implementating the identical layer case as an exception for booleans and interactions
2024-03-23 19:37:27 +01:00
Matthias Koefferlein
20fd5a54a7
Tests
2024-03-23 17:01:07 +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
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
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
400becb6b6
Bugfix: proper handling of soft-connected instance connectors
2024-03-20 02:03:53 +01:00
Matthias Koefferlein
a04bcbc9a3
Some refactoring (renaming)
2024-03-19 20:41:42 +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
c04d468c55
Providing log entries with indents (for details)
2024-03-17 20:40:11 +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
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
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