Matthias Koefferlein
2d5778a860
'tap': do not consider texts as detecting them requires capturing a large area - which is against performance
2025-07-21 20:40:01 +02:00
Matthias Koefferlein
57025a7f9f
Added fill tests with differen origins and tiled mode
2025-07-19 22:37:38 +02:00
Matthias Koefferlein
e48e030521
Fixing DRC fill in tiled mode - must not use overlapping tiles with shifting origin
2025-07-19 22:30:06 +02:00
Matthias Koefferlein
1a9c12ce18
Merge branch 'master' into devel
2025-07-19 21:27:52 +02:00
Matthias Koefferlein
9d4a578a5e
Merge branch 'bugfix/issue-2088'
2025-07-19 19:00:33 +02:00
Matthias Köfferlein
71202ea9d3
Merge pull request #2098 from KLayout/bugfix/issue-2094
...
Fixing issue #2094 (slow insert into Shapes)
2025-07-19 18:58:04 +02:00
Matthias Köfferlein
ff7d7f20ee
Merge pull request #2089 from KLayout/bugfix/issue-2087
...
Bugfix/issue 2087
2025-07-19 18:57:25 +02:00
Matthias Köfferlein
131f36a4e0
Merge pull request #2084 from KLayout/feature/issue-2044
...
Feature/issue 2044
2025-07-19 18:57:10 +02:00
Matthias Köfferlein
316a58eca5
Merge pull request #2079 from KLayout/bugfix/issue-2075
...
Fixing issue #2075 (strm2oas ignores def net routing wire extensions)
2025-07-19 18:56:35 +02:00
Matthias Koefferlein
4ab64ca5d3
Fixing issue #2094 (slow insert into Shapes)
...
Solution is to use a temporary container instead
of locking (only if needed).
2025-07-19 15:08:09 +02:00
Matthias Koefferlein
e6fa072bee
Fixing 'tap' feature
...
After introducing the "do not select shapes
or instances if they overlap the viewport entirely"
feature, 'tap' was not finding shapes which extended
beyond the view's borders.
This got fixed and for 'tap', such shapes are
considered again.
2025-07-18 23:00:23 +02:00
Matthias Koefferlein
d0b935d9e5
Fixed issue #2088 in reader and writer
...
Reader fix: the reader will not error out duplicate cell
names, but rename the cells.
Writer fix: the writer will uniquify cell names *after*
illegal character substitution.
2025-07-15 22:52:49 +02:00
Matthias Koefferlein
1dc0a56633
Bugfix on layout query
...
The following query did not render the correct box
for top-level objects:
select path_dtrans*shape.dbbox.center,cell_name from shapes on layer 1/0 from instances of .*..
Reason was that "path_dtrans" returned a ICplxTrans for top
level instead of a DCplxTrans object.
2025-07-13 21:42:35 +02:00
Matthias Koefferlein
67994a2f8a
Introducing convenience method ObjectInstPath#cell
2025-07-13 21:27:26 +02:00
Matthias Koefferlein
83913f07bd
Updated documentation
2025-07-13 21:20:37 +02:00
Matthias Koefferlein
87bc1a60e1
Introducing macro attributes and Macro#current
2025-07-13 21:14:53 +02:00
Matthias Koefferlein
cc796317a0
Safeguard against broken code table in OASIS CBLOCKs
2025-07-13 19:31:47 +02:00
Matthias Koefferlein
a6a012beac
Added DRC full scale tests, first is Greyhound with M1 IHP fill
2025-07-12 22:02:44 +02:00
Matthias Koefferlein
e7bc997e9f
Further compressing fill cell arrays in x direction
2025-07-12 14:28:42 +02:00
Matthias Koefferlein
76f7c620f6
[consider merging] Enabling Shapes-based RecursiveShapeIterators for MT-use
...
This fixes a crash when using DRC fill in tiled mode with multiple
threads.
2025-07-12 13:59:06 +02:00
Matthias Koefferlein
70a609e995
[consider merging] Bugfix in polygon rasterizer
2025-07-11 23:57:03 +02:00
Matthias Koefferlein
46f9fba0ab
Generalizing fill tool code
2025-07-11 23:56:40 +02:00
Matthias Koefferlein
7a06bfd66a
Bugfix
2025-07-10 23:32:19 +02:00
Matthias Koefferlein
9bc49dd5a3
Added fill_pattern's 'margin' feature. This allows keeping a distance to features outside of the fill region in a more consistent way.
2025-07-10 00:31:25 +02:00
Matthias Koefferlein
d5f1017f83
More efficient computation of remaining fill area
2025-07-10 00:24:24 +02:00
Matthias Koefferlein
7dafdb2316
Fixing bug in first place. Needs testing.
2025-07-08 23:36:44 +02:00
Matthias Koefferlein
15120760fe
Handling of ghost cells in strm2x merge
...
Ghost cells act as anchors for top cells of the other
layout in "," merges. Unlike other cells which are
renamed.
2025-07-07 21:52:57 +02:00
Matthias Koefferlein
d382629e8e
Proposal for a fix of issue #2044 and #2066
...
The solution is to separate the meaning of "," and "+" layout
file combination operators in strm2x tools:
* "+" does "blending"
* "," does merge
"+" has priority over "," ('a+b,c' acts as '(a+b),c').
NOTE: LEF caching only happens across "+".
2025-07-05 22:48:05 +02:00
Matthias Koefferlein
0ba6064507
Also supporting DBU check for PCB
2025-07-05 21:17:46 +02:00
Matthias Koefferlein
9e9344fdfa
Introducing a check whether DBU is compatible with a given one in most readers (except PCB)
2025-07-05 21:13:19 +02:00
Matthias Koefferlein
fbca4e6c18
Fixing layout text writer for 'long long' property names on Windows
2025-06-29 22:16:46 +02:00
Matthias Koefferlein
733a0ec4cf
Proper solution for bug fix - wasn't done in the right order before.
2025-06-29 20:23:47 +02:00
Matthias Koefferlein
abeab280a3
[consider merging] fixed a crash happening while blending two OASIS files with ghost cells
2025-06-28 15:50:27 +02:00
Matthias Koefferlein
5a401127a2
Trying to fix MacOS and Windows builds
2025-06-28 15:31:46 +02:00
Matthias Koefferlein
a42e639d83
Trying to fix builds on MacOS
2025-06-27 17:56:45 +02:00
Matthias Koefferlein
7acd11abac
Added test
2025-06-27 17:37:19 +02:00
Matthias Koefferlein
aba1b30c8d
Fixing issue #2075 (strm2oas ignores def net routing wire extensions)
2025-06-27 01:04:19 +02:00
Matthias Koefferlein
6ce61c8654
Fixing type of modal variables for box width and height
2025-06-26 22:54:48 +02:00
Matthias Koefferlein
a08d36b5f5
Consistently replacing 'long' and 'long long' by 64 bit int in OASIS reader/writer, so there should not be a difference between Windows and Linux in reader and writer behavior. Database limitations still apply.
2025-06-26 21:59:28 +02:00
Matthias Koefferlein
5c7ac018a8
Not asking for copy mode for leaf cells isn't a bad idea in general, but it creates confusing behavior when pasting instances into a different layout where the target cell does not exist
2025-06-26 20:54:16 +02:00
Matthias Koefferlein
f3cc7cadc0
Enabling Qt-less DB plugins for Qt-enabled applications
2025-06-26 20:35:39 +02:00
Matthias Koefferlein
eb3be68030
Removing an unused declaration
2025-06-26 20:34:53 +02:00
Matthias Koefferlein
5cd1c187ab
Modified display of devices in LVS xref view, so the primary and secondary parameters are separated
2025-05-31 18:30:13 +02:00
Matthias Koefferlein
f2172d8e2a
Extension of the L2N/LVSDB format to support deleted terminals and parameters
...
Previously, when deleting parameters or terminals from device
definitions, these parameters or terminals re-appeared in the
netlist browser, because they were generated from the
template class (e.g. "A" and "B" from "RES").
An additional token is added that indicates whether to
remove all entries before adding new ones.
This feature is backward-compatible and LVSDB/L2N files have to
be generated from new KLayout versions to make use of that
feature.
2025-05-31 17:33:44 +02:00
Matthias Koefferlein
769b7e9170
Typo fixed
2025-05-29 13:31:36 +02:00
Matthias Koefferlein
98834d8e3b
Reference new golden testdata for LEFDEF/strm2oas test
2025-05-29 12:00:44 +02:00
Matthias Koefferlein
f1cc048a4c
Refreshing stubs
2025-05-29 09:56:11 +02:00
Matthias Köfferlein
45fdaf0a6d
Merge pull request #2049 from KLayout/devel
...
Devel
2025-05-29 09:43:23 +02:00
Matthias Köfferlein
3ce50679fa
Merge pull request #2050 from KLayout/dev-polygon-graph
...
Dev polygon graph
2025-05-29 09:43:06 +02:00
Matthias Köfferlein
6ae3737cd5
Merge pull request #2065 from KLayout/feature/issue-2041
...
Feature/issue 2041
2025-05-29 09:42:46 +02:00
Matthias Koefferlein
9917978566
Merge branch 'master' into dev-polygon-graph
2025-05-28 19:01:42 +02:00
Matthias Koefferlein
ad444c5552
Don't error out on missing MACRO in LEF, but create a dummy macro with size 0,0 instead and issue a warning. This will place nicely with N, but not with other orientations.
2025-05-28 18:58:28 +02:00
Matthias Koefferlein
0cb5f35659
Allowing the polygon neighborhood visitor to specify a variant type for deep mode
2025-05-27 21:07:28 +02:00
Matthias Köfferlein
dfd7d8ec1f
Merge pull request #2061 from KLayout/bugfix/issue-2060
...
Bugfix/issue 2060
2025-05-27 19:17:45 +02:00
Matthias Köfferlein
836c50d6a0
Merge pull request #2062 from KLayout/feature/issue-2055
...
Feature/issue 2055
2025-05-27 19:17:33 +02:00
Matthias Koefferlein
010fa2d5ba
Avoiding a segfault when trying to run Ruby from a non-Ruby thread
2025-05-27 00:48:10 +02:00
Matthias Koefferlein
13bc723831
Fix for MSVC builds
2025-05-25 23:24:38 +02:00
Matthias Koefferlein
6cccb81293
Implemented solution for #2057 (nanometer scalebar)
...
The scale bar switches to nm below 0.1µm. Correspondingly
it will switch to mm above 100µm.
2025-05-25 21:28:11 +02:00
Matthias Koefferlein
534b33be1c
MSVC does not assume UTF-8 encoding by default, hence use explicit bytes
2025-05-25 20:40:45 +02:00
Matthias Koefferlein
bfe49c22e3
Properly using 'long' and 'unsigned long' in tl::sprintf to fit Windows definition of 'long'
2025-05-25 19:42:14 +02:00
Matthias Koefferlein
329ac6c5b7
Merge branch 'master' into devel
2025-05-25 19:37:57 +02:00
Matthias Koefferlein
fb16c8c6f6
Trying to fix a linker issue
2025-05-25 19:01:04 +02:00
Matthias Koefferlein
4a20a30888
Hope to fix dependency on Ruby version rgarding string encoding.
2025-05-25 18:55:52 +02:00
Matthias Koefferlein
125e06bd49
Added doc, added a warning about no pins found at top level.
2025-05-25 17:53:11 +02:00
Matthias Koefferlein
ad80019b12
Adding to_s (aka str(...)) methods to RNetExtractor tech objects
2025-05-25 16:31:20 +02:00
Matthias Koefferlein
dec7ad9da1
[consider merging] properly conveying string encoding for Ruby, so that UTF-8 encoding is maintained when returning such strings from C++
2025-05-25 16:28:46 +02:00
Matthias Koefferlein
094e11897a
Added the new feature: 'flag_missing_ports'
2025-05-24 22:33:18 +02:00
Matthias Koefferlein
aba912107b
Refined solution, so it would allow a larger coordinate range.
2025-05-24 00:09:52 +02:00
Matthias Koefferlein
6d28c78eeb
Fixed issue #2060 - the precision of the check was too low.
2025-05-22 22:48:48 +02:00
Matthias Koefferlein
e96f20a106
Introducing case sensitivity in circuit and netlist queries, makeing 'same_nets' more case sensitivity-aware in case of mixed sensitivity
2025-05-22 22:25:49 +02:00
Matthias Koefferlein
57c2add00a
API enhancement for NetlistCrossReference: obtaining information from one object only (net, circuit), does not need a pair anymore
2025-05-22 20:54:21 +02:00
Matthias Koefferlein
90c4f654b6
API for adding log entries to LVS and L2N databases
2025-05-22 19:57:06 +02:00
Matthias Koefferlein
4dd4524da9
Fixed typo
2025-05-22 19:47:39 +02:00
Matthias Köfferlein
23b049627f
Merge pull request #2040 from KLayout/feature/maly
...
Feature/maly
2025-05-22 19:22:52 +02:00
Matthias Köfferlein
ba640b6d04
Merge pull request #2039 from KLayout/feature/issue-2016
...
First attempt to implement a solution for issue #2016
2025-05-22 19:22:32 +02:00
Matthias Koefferlein
6b8c79c488
Fixed a segfault (thanks, Martin\!)
2025-05-22 18:50:25 +02:00
Henner Zeller
f9e2a9257f
Fix logic error in hex2int.
...
This was probably never noticed as it was the last branch and would
behave benign on valid input.
Signed-off-by: Henner Zeller <hzeller@google.com>
2025-05-19 14:16:18 +02:00
Matthias Koefferlein
9b03a1ba64
More robust tests
2025-05-18 22:41:46 +02:00
Matthias Koefferlein
a2ac8d45de
Postpone decision about "invalid vias are errors."
2025-05-18 22:28:11 +02:00
Matthias Koefferlein
e27e24ff4f
Bugfixing multi-DEF reader with LEF cache, adding a testcase. Making unknown vias an error.
2025-05-18 22:00:39 +02:00
Matthias Koefferlein
4306b24b4a
Normalizing test case for RNetExtractor to reduce jitter
2025-05-18 09:27:10 +02:00
Matthias Koefferlein
a07d742bee
Fixed a problem with via uniquification - via definitions may be DEF local, so we need to clean them between different DEF reads.
2025-05-18 00:48:10 +02:00
Matthias Koefferlein
1fb0f318dc
Added pex lib to bd tools.
2025-05-17 18:49:32 +02:00
Matthias Koefferlein
91cb8826c7
Including more dependencies in build
2025-05-17 18:41:22 +02:00
Matthias Koefferlein
5dd189d413
Including pex dependencies in build
2025-05-17 18:39:16 +02:00
Matthias Koefferlein
ca53d8718b
Fixed some build problems
2025-05-17 17:26:59 +02:00
Matthias Koefferlein
8221923ccb
Added a large (private) testcase for the 'read LEF once' enhancement
2025-05-17 16:50:47 +02:00
Matthias Koefferlein
4206d7ee63
Tried a performance improvement experiment, don't dare to actually use it
2025-05-17 01:00:57 +02:00
Matthias Koefferlein
baed5bd822
Small refactoring
2025-05-17 00:57:36 +02:00
Matthias Koefferlein
5c27fedfe5
Debugging and bug fixes. The 'big example' from issue 2014 now works
2025-05-17 00:44:15 +02:00
Matthias Koefferlein
113c701345
Trying explicit member template instantiation to solve linker issue
2025-05-16 23:23:11 +02:00
Matthias Koefferlein
1c4077449b
Fixed build issue
2025-05-16 18:55:55 +02:00
Matthias Koefferlein
1b98efd7a8
First bug fixes
2025-05-15 23:41:23 +02:00
Matthias Koefferlein
271800ab94
WIP: first implementation. Builds, but needs testing.
2025-05-15 23:27:03 +02:00
Matthias Koefferlein
6cd4b97cd3
Including internal net names in LVS DB
...
Problem: so far, these names have not been conveyed.
But after the net IDs changed in the LVS DB (renumbering),
the names should be retained. Otherwise it is difficult to
relate log level entries or Spice netlists to them.
2025-05-15 21:17:15 +02:00
Matthias Koefferlein
7bee9ebcec
Fixing a linker issue on Windows.
2025-05-11 21:48:01 +02:00
Charlie Lin
e279888f52
Use Py_IncRef in pyaCallables.cc
2025-05-11 09:07:55 -04:00
Matthias Koefferlein
91005d5cb6
Tests for RBA+pex, bug fixes
2025-05-04 20:42:12 +02:00
Matthias Koefferlein
77aa729b06
GSI binding of RNetExtractor, introducing layers for nodes
2025-05-04 19:45:30 +02:00
Matthias Koefferlein
fc25590dd7
Include a simplification step in the net extraction
2025-05-04 17:15:47 +02:00