Matthias Koefferlein
8901359957
Merge branch 'master' into devel
2025-09-06 13:26:11 +02:00
Matthias Koefferlein
90ed8a2390
Excluding degenerated edges from polygons so we don't consider them corners, addressing duplicate corners with zero distance.
2025-09-05 23:48:49 +02:00
Matthias Koefferlein
a9d52b7a70
Fixing case of point vs. edge in projecting mode
2025-09-05 08:05:27 +02:00
Matthias Koefferlein
aed28098f2
First solution, needs more testing
2025-09-04 23:30:39 +02:00
Matthias Koefferlein
50cad403b2
Doc updates (vias, paths)
2025-09-04 20:46:30 +02:00
Matthias Koefferlein
53a7414757
Merge branch 'master' into devel
2025-08-31 21:53:43 +02:00
Matthias Koefferlein
53c173d01e
[consider merging] avoid a warning on writing cells/files in 'under_construction' mode when there is nothing to update
2025-08-30 21:49:27 +02:00
Matthias Koefferlein
0187abfafc
[consider merging] Bugfix: internal error when trying to replace a shape in a standalone Shapes collection while preserving properties
2025-08-30 19:37:12 +02:00
Matthias Koefferlein
f55a4824b7
Disabling features that are not used currently.
2025-08-23 23:05:14 +02:00
Matthias Koefferlein
3068c1da29
WIP: introducing grids in vias
2025-08-22 23:46:24 +02:00
Matthias Koefferlein
d3d2eda54a
WIP: undo, backspace implementation, bug fixes
2025-08-19 23:12:43 +02:00
Matthias Koefferlein
57cd512bf9
WIP: via up and via down
2025-08-18 23:33:44 +02:00
Matthias Koefferlein
39c8e0ca15
WIP: some refactoring, introducing cut layer in via definition
2025-08-18 22:53:45 +02:00
Matthias Koefferlein
42d32ecbb7
Some refactoring - putting some methods into db::Cell
2025-08-17 22:53:17 +02:00
Matthias Koefferlein
d8e271339e
WIP: some refactoring, vias switch layers now.
2025-08-17 21:50:02 +02:00
Matthias Koefferlein
5d253d3094
WIP
2025-08-16 19:17:58 +02:00
Matthias Koefferlein
0e1ba44eaf
WIP
2025-08-16 18:05:32 +02:00
Matthias Koefferlein
8c53fb934e
Merge branch 'devel' into vias-development
2025-08-16 16:49:36 +02:00
Matthias Koefferlein
5eb8c760d8
Merge branch 'master' into devel
2025-08-15 14:21:13 +02:00
Matthias Köfferlein
681d7eeb4b
Merge pull request #2118 from KLayout/feature/issue-2110
...
Feature/issue 2110
2025-08-15 14:20:26 +02:00
Matthias Koefferlein
2e1afc846a
Small bug fixed
2025-08-10 23:33:02 +02:00
Matthias Koefferlein
7667932a00
Some adjustments:
...
* Fixed instance marker when the cell is made from empty ones only
* 'fit' will include empty instances
2025-08-10 16:49:51 +02:00
Matthias Koefferlein
bdbf690764
Added some tests
2025-08-10 16:11:57 +02:00
Matthias Koefferlein
b4bbc26d6a
WIP
2025-08-10 13:43:19 +02:00
Matthias Koefferlein
29cc603466
WIP
2025-08-09 23:54:01 +02:00
Matthias Koefferlein
cb70620ad1
Fixing issue #2111 (internal error on tesselation R extractor)
...
Problem was a runaway triangulation case where outside edges
exist without being segments.
2025-08-09 18:40:24 +02:00
Matthias Koefferlein
8da28a0f72
Trying to fix issue #2108
2025-08-06 18:57:33 +02:00
Matthias Koefferlein
f289fa9483
A small enhancement (dbu argument in LayoutToNetlist#evaluate_nets), maybe fixing issues on old Ruby versions
2025-08-03 22:11:59 +02:00
Matthias Koefferlein
b6fba7bb69
Bug fixes, new test details
2025-08-03 21:31:55 +02:00
Matthias Koefferlein
381baf7453
Merge remote-tracking branch 'origin/master' into feature/measurements
2025-08-03 19:53:06 +02:00
Matthias Koefferlein
8a5e83bf5d
Consistently differenting between double and int values as property keys (otherwise there may be a confusing mix present in the property repository)
2025-08-03 19:46:31 +02:00
Matthias Koefferlein
4773bb3227
Added a test for cumulative antenna ratio
2025-08-03 18:00:25 +02:00
Matthias Koefferlein
c8568e8aed
DRC binding for property computation, filtering
2025-08-03 13:55:14 +02:00
GavinAnderberg
55b58a20cc
Correct typo gsiDeclDbNetlist.cc
...
Corrected a typo that has the docs say the Netlist.read method 'Writes the netlist to the given file'. It now accurately matches the function behavior.
2025-08-02 19:55:31 -04:00
Matthias Koefferlein
73681755ed
Rename some functions, DRC binding for 'evaluate_nets'
2025-08-02 23:06:22 +02:00
Matthias Koefferlein
61aa08cd64
Added tests for more features
2025-08-02 22:23:03 +02:00
Matthias Koefferlein
a224c11833
WIP: bugfix
2025-08-02 22:14:53 +02:00
Matthias Koefferlein
c3ba0acc02
Added unit test
2025-08-02 21:43:39 +02:00
Matthias Koefferlein
8151feac56
Some debugging, skipping clusters without shapes on primary layer for example
2025-08-02 21:28:48 +02:00
Matthias Koefferlein
d001f7fa04
Introducing variables to property filters, computation functions, generalizing net function for net measurement
2025-08-02 19:50:11 +02:00
Matthias Koefferlein
e82ebf6733
WIP: measure_net function for LayoutToNetlist
2025-08-02 19:17:23 +02:00
Matthias Koefferlein
8e95f6a8e1
Fixing a few doc issues, updating DRC doc.
2025-08-02 16:19:12 +02:00
Matthias Koefferlein
ffafebcaae
Adding 'merge_props' and 'merged_props' to DRC
2025-08-02 16:12:49 +02:00
Matthias Koefferlein
f9ea9af466
Fixed unit tests
2025-08-02 15:13:23 +02:00
Matthias Koefferlein
d1e1f626c7
WIP (join properties on merge for flat regions)
2025-08-02 13:36:17 +02:00
Matthias Koefferlein
4b79c4c362
Fixing backward compatibility issue with pseudo-labels
...
Problem: pseudo-labels are represented by polygons with
properties. If those get merged onto normal polygons
with "join_properties_on_merge", these are regarded
labels and translated to texts later. We avoid this
by skipping all objects with pseudo-label properties
on region merge in "join_properties_on_merge" mode.
2025-08-01 22:59:38 +02:00
Matthias Koefferlein
786c60a28e
Fixing unit tests
2025-07-31 23:54:55 +02:00
Matthias Koefferlein
37f9feaadd
WIP: joining of properties in deep region
2025-07-31 22:38:48 +02:00
Matthias Koefferlein
653384fce5
WIP
2025-07-31 21:16:35 +02:00
Matthias Koefferlein
b89ff76a84
Fixing issue #2102 (internal error on R extraction)
...
Problem was a conceptual problem: the triangulation for
Hertel-Mehlhorn decomposition must not contain internal
vertexes. So we need a different solution for including
vertex ports.
2025-07-30 23:24:34 +02:00
Matthias Koefferlein
1ff6f36076
Shapes#insert(region) now supports properties
2025-07-29 23:10:15 +02:00
Matthias Koefferlein
c0bdc2874a
'put' function is property computation processors
2025-07-29 21:11:34 +02:00
Matthias Koefferlein
792c06b3a2
WIP: unit tests for new features
2025-07-28 23:40:01 +02:00
Matthias Koefferlein
3a612f9b04
WIP: integration of new features
2025-07-28 23:11:21 +02:00
Matthias Koefferlein
8d7919e054
WIP
2025-07-28 22:38:44 +02:00
Matthias Koefferlein
2a50c87969
WIP
2025-07-27 22:49:21 +02:00
Matthias Koefferlein
5b3ce9ff30
[consider merging] tl::Variant now considers byte arrays and strings equivalent for sloppy compare. This is important for Ruby string property keys as they are often kept as byte arrays when not UTF-8 encoded.
2025-07-27 22:15:52 +02:00
Matthias Koefferlein
ede15ffcc0
WIP
2025-07-27 19:48:38 +02:00
Matthias Koefferlein
427ac0ae16
WIP
2025-07-27 17:43:01 +02:00
Matthias Koefferlein
1c1555f31c
Fixed unit tests
2025-07-26 18:25:36 +02:00
Matthias Koefferlein
80276f8799
Refactoring: shape processors now allow modifying properties
2025-07-26 18:09:31 +02:00
Matthias Koefferlein
2369c69f69
Implemented feature request: a method to clear properties on shapes, instances, cells and layout
2025-07-26 15:26:47 +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 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
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
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
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
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
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
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 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
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 Koefferlein
125e06bd49
Added doc, added a warning about no pins found at top level.
2025-05-25 17:53:11 +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 Koefferlein
6b8c79c488
Fixed a segfault (thanks, Martin\!)
2025-05-22 18:50:25 +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
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
f7c7e8b0be
Fixed unit tests
2025-05-04 15:41:26 +02:00
Matthias Koefferlein
aca3095efa
WIP: allowing multiple vertex ports on the same location
2025-05-04 15:38:45 +02:00
Matthias Koefferlein
80ad38f81b
WIP: debugging, tests. Triangulation should be safer now against linear chains of vertexes.
2025-05-04 14:36:34 +02:00
Matthias Koefferlein
f83cd61843
WIP: debugging, tests.
2025-05-04 13:11:46 +02:00
Matthias Köfferlein
e76e9b7d0b
Merge pull request #2017 from KLayout/bugfix/issue-2014
...
Fixed issue #2014 (strm2oas lef/def/gds collect drops cells reference…
2025-04-27 20:53:47 +02:00
Matthias Köfferlein
c7514ba24d
Merge pull request #2031 from KLayout/bugfix/issue-2011
...
Bugfix/issue 2011
2025-04-27 14:35:37 +02:00
Matthias Koefferlein
5efcf83640
Bugfix: Deep mode XOR needs to maintain the layout origin of the first argument even if it is empty
2025-04-26 23:24:26 +02:00
Matthias Koefferlein
ffa42653fe
Addressing issue #2011
...
- "report" can now be late in DRC without internal error
Yet, the report will only capture the output layers
after the report statement has been called.
- Text objects don't create zero-area polygons in deep mode
XOR now.
2025-04-26 22:04:50 +02:00
Matthias Koefferlein
9bf03390de
More robust output for tests, some debugging
2025-04-20 21:23:01 +02:00
Matthias Koefferlein
7f0b2d532d
Bugfixes
2025-04-20 20:07:47 +02:00
Matthias Koefferlein
f71210c64a
WIP, more testcases, debugging
2025-04-20 19:09:24 +02:00
Matthias Koefferlein
88a1ccbcfb
TriangulationRExtractor, some debugging, tests
2025-04-20 16:20:35 +02:00
Matthias Koefferlein
1379d30502
Debugging, Tests
2025-04-19 20:55:15 +02:00
Matthias Koefferlein
8a122c8a7d
WIP: bug fixes, one more test
2025-04-18 23:29:29 +02:00
Matthias Koefferlein
71620445ee
Polygon#triangulate now returns a 'raw' region, same for SimplePolygon#triangulate. Working on hm_decomposition (tests, bug fixes etc.)
2025-04-18 15:13:29 +02:00
Matthias Koefferlein
e764716bda
Preserving the hull of simple polygons during insert in a Region, hence skipping the compression
2025-04-18 15:12:30 +02:00
Matthias Koefferlein
c6a4b6aba0
Added a new utility function
2025-04-18 00:15:43 +02:00
Matthias Koefferlein
3ed39e8a4a
Internal vertex ID added, cleanup
2025-04-17 23:40:58 +02:00
Matthias Koefferlein
a2ef7a28f8
WIP
2025-04-17 23:20:37 +02:00
Matthias Koefferlein
94396da117
Fixed problem of on-edge internal vertex/precious vertex
2025-04-16 23:43:27 +02:00
Matthias Koefferlein
4f1b03496b
Handling of points in Convex decomposition
2025-04-16 01:15:18 +02:00
Matthias Koefferlein
60d1fb0685
Porting HM decomposition to new PLC framework
2025-04-16 00:02:25 +02:00
Matthias Koefferlein
76e039bd2a
Removing obsolete dbTriangle/dbTriangles
2025-04-13 23:06:49 +02:00
Matthias Koefferlein
802cf99521
Porting dbTriangleTests
2025-04-13 22:58:37 +02:00
Matthias Koefferlein
627e244443
Refactoring: generalization of Triangles into db::plc::Graph in dbPLC.h
2025-04-13 22:44:14 +02:00
Matthias Koefferlein
291c91fcaa
Merge branch 'dev-polygon-graph' into wip
2025-04-13 17:16:16 +02:00
Matthias Koefferlein
d7193e972c
WIP
2025-04-12 23:59:43 +02:00
Matthias Koefferlein
7b069d17c3
WIP
2025-04-12 22:30:00 +02:00
Matthias Koefferlein
6f9a2da04a
WIP
2025-04-10 23:33:50 +02:00
Matthias Koefferlein
910f697d0b
WIP
2025-04-10 19:15:12 +02:00
Matthias Koefferlein
fa618a5b76
Fixing the strict weak ordering issue inside the edge processor
2025-04-09 23:35:09 +02:00
Matthias Koefferlein
3bd9a96f67
Merge branch 'bugfix/strmxor' into bugfix/issue-2014
2025-04-08 22:55:45 +02:00
Matthias Koefferlein
8150e732af
Hopefully fixing strm2xor finally, added a test
2025-04-08 19:14:01 +02:00
Matthias Koefferlein
789e183be9
Shortcutting hierarchy in case of skipped shapes, this restores the original performance
2025-04-08 00:04:21 +02:00
Matthias Koefferlein
41e9cb5893
Maybe fixing basic issues with strmxor
...
1. Output of shape countsi in deep mode was hierarchical with
output file, flat without
2. Refactoring of XOR (for_merged optimization) needed to
create cover cell variants
2025-04-07 00:53:43 +02:00
Matthias Koefferlein
bcf14ede3e
Fixed issue #2014 (strm2oas lef/def/gds collect drops cells referenced by sky130 spare)
...
Problem was that there was the implicit assumption that
substitution cells would be top cells (or at least: not
child cells of other substitution cells).
2025-04-05 22:06:29 +02:00
Matthias Koefferlein
b0f05b5327
WIP
2025-03-29 23:18:16 +01:00
Matthias Koefferlein
40a0113ce5
Fixing Texts[], EdgePairs[] and Edges[] operators - both in terms of returning xWithProperties and objects with properties at all
2025-03-27 00:27:53 +01:00
Matthias Koefferlein
3aebf90ecd
Texts[n] now also provides a TextWithProperties object. Bugfix: this method was not delivering any objects with properties at all.
2025-03-26 01:22:54 +01:00
Matthias Koefferlein
a24d5388d7
Region[] now returns a PolygonWithProperties object or nil
2025-03-26 00:56:54 +01:00
Matthias Koefferlein
db66a6ee74
Base class of DEdgePairWithProperties was EdgePair, not DEdgePair
2025-03-25 23:43:14 +01:00
Matthias Koefferlein
efeb2c061b
Layout queries support diff as placeholder for the current cell
2025-03-23 16:51:47 +01:00
Matthias Koefferlein
a22f48d87a
Texts#polygons now has an argument to specify a property key that receives the text string
2025-03-23 15:54:18 +01:00
Matthias Koefferlein
f977973b85
RecursiveShapeIterator#property and RecursiveShapeIterator#properties
2025-03-23 15:23:19 +01:00
Matthias Koefferlein
71644fa56c
Implementing additional vertexes for triangulation
2025-03-23 11:34:13 +01:00
Matthias Koefferlein
8727c31d36
Merge branch 'bugfix/issue-1996' into wip
2025-03-23 11:11:20 +01:00
Matthias Koefferlein
16be7bf8c1
Merge branch 'bugfix/issue-2002' into wip
2025-03-23 11:10:54 +01:00
Matthias Koefferlein
593678e228
WIP: Polygon#delaunay and variants
2025-03-23 09:55:08 +01:00
Matthias Koefferlein
986474d465
Added one more testcase
2025-03-23 08:57:06 +01:00