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
Matthias Koefferlein
73364ee406
Solving issue #2002 by allowing variable widths on the path segments due to 45 degree segment snapping.
2025-03-23 00:57:25 +01:00
Matthias Koefferlein
6228668fa1
Fixing issue #1996 : Providing a more robust triangulation
2025-03-22 21:47:22 +01:00
Matthias Koefferlein
a727ed0b1d
Fixed a compiler warning
2025-03-22 20:47:28 +01:00
Matthias Koefferlein
2668b42d29
Separating tl::hfunc from std namespace. Needed to support int128 in tl::Variant for 64bit coordinate builds.
2025-03-22 20:35:15 +01:00
Matthias Koefferlein
6f69efd427
WIP
2025-03-20 23:30:30 +01:00
Matthias Koefferlein
d9343ee530
WIP
2025-03-18 17:28:12 +01:00
Matthias Koefferlein
1f5c2b5132
Marked one test as long runner
2025-03-18 14:44:27 +01:00
Matthias Koefferlein
df631aa970
Some minor refactoring
2025-03-18 00:19:15 +01:00
Matthias Koefferlein
6596008826
instrumenting triangles implementation with Quad Tree, but without effect
2025-03-18 00:10:00 +01:00
Matthias Koefferlein
cd62f62140
WIP (quad tree)
2025-03-16 23:24:06 +01:00
Matthias Koefferlein
4e65b96cb7
WIP (quad tree)
2025-03-16 21:10:15 +01:00
Matthias Koefferlein
f3037d11f3
WIP (quad tree)
2025-03-16 18:16:15 +01:00
Matthias Koefferlein
4aeb94d42e
WIP (quad tree)
2025-03-16 17:13:06 +01:00
Matthias Koefferlein
477e2b5a31
WIP (quad tree)
2025-03-16 16:43:56 +01:00
Matthias Koefferlein
4369835e8b
WIP (quad tree)
2025-03-16 16:36:49 +01:00
Matthias Koefferlein
f1f35ae2a4
WIP (quad tree)
2025-03-16 14:46:03 +01:00
Matthias Koefferlein
5c8e0539ee
WIP (quad tree)
2025-03-16 13:56:16 +01:00
Matthias Koefferlein
54b5d9f5d6
WIP (quad tree)
2025-03-16 13:35:51 +01:00
Matthias Koefferlein
f136fdcde6
WIP
2025-03-16 00:52:57 +01:00
Matthias Koefferlein
d60b296417
Improvement: Device#terminal_ref to get a NetTerminalRef from a Device.
2025-03-14 23:29:09 +01:00
Matthias Koefferlein
930e09809b
Added an argument name
2025-03-09 23:20:57 +01:00
Matthias Koefferlein
2baaf322eb
Fixed a few doc typos and default values for 'lmap' on build_nets
2025-03-09 23:20:18 +01:00
Matthias Koefferlein
da88973df9
A number of new methods and variants in LayoutToNetlist
...
The goal is to support texts as native objects in
LayoutToNetlist.
Primarily this means, that instead of using a Region
to identify a layer, it is encouraged to use a
layer index instead. Also, Region is not longer the
only way to represent a layer, Texts is available
too.
It is possible now to retrieve the texts of a net
using "texts_of_net".
Also, the "lmap" parameter of "build_nets" became
optional. If "nil", a layer map is created based
on the layer info attribute of the layers.
2025-03-09 23:07:46 +01:00
Matthias Koefferlein
86202fa23c
WIP: refactoring of LayoutToNetlist for more consistent support of Texts for layers
2025-03-09 19:22:04 +01:00
Matthias Koefferlein
903bd70223
Fixed merge issues
2025-03-06 22:24:05 +01:00
Matthias Koefferlein
87e7d8e493
Merge branch 'master' into devel
2025-03-06 19:35:32 +01:00
Matthias Koefferlein
605fa44ca6
Another refinement for DSS bug fix.
2025-03-05 10:26:45 +01:00
Matthias Koefferlein
70af6bd7c9
Another refinement for DSS bug solution
2025-03-04 20:37:58 +01:00
Matthias Koefferlein
7b4e8a3462
Refined solution for DSS remapping bug
2025-03-04 19:50:33 +01:00
Matthias Koefferlein
3893f3be56
Merge branch 'master' of github.com:KLayout/klayout
2025-03-03 18:36:05 +01:00
Matthias Köfferlein
8a01352549
Merge pull request #1992 from KLayout/feature/issue-1989
...
Feature/issue 1989
2025-03-03 18:35:46 +01:00
Matthias Koefferlein
ac1c656bc0
Fixed unit tests
2025-03-03 18:34:43 +01:00
Matthias Koefferlein
20111ce08d
Fixed issue #1993 ('with_area' modifies result of 'join')
...
Root cause was a held layout lock inside the TilingProcessor.
As that object was not always released inside the Ruby
DRC script, the lock was held sometimes longer than
needed and messed with the hierarchy system.
2025-03-03 01:05:04 +01:00
Matthias Koefferlein
fb9e0c4602
Fixed a compile issue
2025-03-02 22:24:04 +01:00
Matthias Koefferlein
32fe65adc0
[consider merging] Fixed a bug when returning a Region into a layout with cells unselected.
2025-03-02 19:06:48 +01:00
Matthias Koefferlein
01cc54ba49
[consider merging] avoid a crash during certain queries
...
This query used to crash:
"instances of cell .*.* where inst.trans.rot == 2"
on a layout with 1 hierarchy level and some cells with rot 180 degree
2025-03-02 19:06:45 +01:00
Matthias Koefferlein
b434eb3239
[consider merging] Fixing two problems with layer mapping
...
1. Mapping "[*/*] 100/0:0/0" (for example) created 0/0
two times when the input contains 100/0 and 0/0. Now
it is a single layer only
2. The mapping table generated from strings now uses
layer indexes from a range that should not collide
with existing layer indexes.
2025-03-02 19:06:37 +01:00
Matthias Koefferlein
c6e7c47d6c
Some bug fixes, updated tests
2025-03-02 18:30:31 +01:00
Matthias Koefferlein
08666aeb82
API implementation ... many, many new functions named 'split_...'
2025-03-02 17:30:47 +01:00
Matthias Koefferlein
79262028ff
[consider merging] Fixed a bug when returning a Region into a layout with cells unselected.
2025-03-01 23:18:29 +01:00
Matthias Koefferlein
850a6f56d3
[consider merging] avoid a crash during certain queries
...
This query used to crash:
"instances of cell .*.* where inst.trans.rot == 2"
on a layout with 1 hierarchy level and some cells with rot 180 degree
2025-02-25 23:35:33 +01:00
Matthias Koefferlein
c437d75a01
[consider merging] Fixing two problems with layer mapping
...
1. Mapping "[*/*] 100/0:0/0" (for example) created 0/0
two times when the input contains 100/0 and 0/0. Now
it is a single layer only
2. The mapping table generated from strings now uses
layer indexes from a range that should not collide
with existing layer indexes.
2025-02-25 22:02:11 +01:00
Matthias Koefferlein
ae5ae25000
Properties filters for EdgePairs and Texts too.
2025-02-16 13:59:50 +01:00
Matthias Koefferlein
1fed2767e8
Property filter for edges too.
2025-02-16 13:35:49 +01:00
Matthias Koefferlein
a219576296
WIP: Region, Edges, EdgePairs and Texts filters can filter by property now, first implementation of Region property filter.
2025-02-16 00:08:35 +01:00
Matthias Koefferlein
54242bc848
Fixed some issues with operator+ and operator+= on Texts, Edges, Regions and EdgePairs with properties
2025-02-15 18:03:15 +01:00
Matthias Koefferlein
e48c6f3660
Edges#each, Edges#each_merged, Region#each, Region#each_merged, Texts#each and EdgePairs#each now deliver objects with properties too.
2025-02-14 22:11:18 +01:00
Matthias Koefferlein
c09184989f
Avoiding call ambiguities when creating Edges, Region, EdgePairs and Texts from arrays of objects with properties.
2025-02-04 23:59:04 +01:00
Matthias Koefferlein
1f44a951f4
Polygon neighborhood compound operation
2025-02-03 20:47:31 +01:00
Matthias Koefferlein
aa67448401
WIP: polygon neighborhood
2025-02-02 23:57:59 +01:00
Matthias Koefferlein
1bd1bb06ce
More support for objects with properties: RDB integration.
2025-02-02 17:00:31 +01:00
Matthias Koefferlein
a282a5d665
Some more tests for properties inside Edges, Regions
2025-01-29 02:42:16 +01:00
Matthias Koefferlein
4fda872048
Fixed unit tests
2025-01-29 02:29:13 +01:00
Matthias Koefferlein
375ac6364b
More support for properties inside Edges, Texts, EdgePairs. WIP
2025-01-29 01:59:00 +01:00
Matthias Koefferlein
dfc7d6bef4
Enhancing Python/Ruby API for better support with properties
2025-01-29 00:59:28 +01:00
Matthias Koefferlein
d9233caa42
Fixed issue #1981
2025-01-29 00:56:37 +01:00
Matthias Koefferlein
569a8d7c52
First files.
2025-01-29 00:29:15 +01:00
Matthias Koefferlein
2a47006a84
C++11 compatibility
2025-01-21 17:07:51 +01:00
Matthias Koefferlein
33b54f3f88
Merge branch 'master' into devel
2025-01-19 22:04:55 +01:00
Matthias Koefferlein
73dc31244a
Merge branch 'master' into devel
2025-01-04 21:51:37 +01:00
Matthias Koefferlein
bccf68504f
Implemented a solution for #1963 (locking cells)
...
A cell can be locked using
cell.locked = true
and unlocked again using
cell.locked = false
Also, cell.is_locked? can be used to test the locked state.
In locked state writing shapes and instances is forbidden
and doing so would raise an exception.
Also, cells cannot be deleted when locked. However, Layout#clear
and Layout#_destroy are always available.
Cells can still be renamed, even if locked.
2025-01-04 21:44:11 +01:00
Matthias Koefferlein
2d5ddd794c
Merge branch 'master' of github.com:KLayout/klayout
2025-01-04 19:36:43 +01:00
Matthias Koefferlein
5d57cb5eed
Updating copyright to 2025
2025-01-04 19:32:33 +01:00
Matthias Koefferlein
c9da9dc6e0
Updating copyright to 2025
2025-01-04 19:28:56 +01:00
Matthias Koefferlein
826b811249
More generic object-with-properties GSI methods
2025-01-04 19:24:32 +01:00
Matthias Koefferlein
322b9419ad
API harmonization (scaled method)
2025-01-04 19:24:18 +01:00
Matthias Koefferlein
d036791cec
For consistency: Edge::scaled returns a DEdge now
2025-01-04 19:23:17 +01:00
Matthias Koefferlein
233d70d085
Transformation of objects with properties, GSI binding, bug fixing, tests
2025-01-01 22:49:50 +01:00
Matthias Koefferlein
8a9d7c6d15
[consider merging] Restricting transformation of shape refs and detecting some issues related to that.
2025-01-01 19:56:34 +01:00
Matthias Koefferlein
8c935409ea
Added a test for net neighborhood, predicable order of results of edge neighborhood scanner.
2024-12-31 16:37:01 +01:00
Matthias Koefferlein
c112f78b1c
WIP: edge and edge pairs with properties, tests, conversion constructors, edge neighborhood tests with properties.
2024-12-30 23:47:34 +01:00
Matthias Koefferlein
d406488bbb
Restoring original behavior of 'ignore properties' in width check
2024-12-30 21:19:43 +01:00
Matthias Koefferlein
58d3efeea4
Fixing compile issues
2024-12-29 23:12:44 +01:00
Matthias Koefferlein
941c0fff90
Fixing compile issues
2024-12-29 22:48:34 +01:00
Matthias Koefferlein
8eb181c05f
Refactoring compound ops to support properties in general.
2024-12-29 21:41:02 +01:00
Matthias Koefferlein
75e4282f01
Introducing PolygonWithProperties etc. in gsi
2024-12-29 17:07:56 +01:00
Matthias Koefferlein
1be436b764
WIP
2024-12-28 23:40:52 +01:00
Matthias Koefferlein
e26de4cc42
WIP
2024-12-28 23:38:20 +01:00
Matthias Koefferlein
f2dc78f438
API enhanced for new properties ID scheme, updated doc and tests
2024-12-28 17:13:43 +01:00
Matthias Koefferlein
e6ac66f8aa
Providing a more efficient event for property ID changes
2024-12-26 23:11:59 +01:00
Matthias Koefferlein
4beb8db15a
WIP: bug fixes, stability of tests
2024-12-26 21:45:28 +01:00
Matthias Koefferlein
b4d1aa131c
Refactoring OASIS reader which wasn't working in non-editable mode
2024-12-25 22:51:56 +01:00
Matthias Koefferlein
34febff383
Added a test for property ID by name, value and name/value retrieval.
2024-12-25 21:04:07 +01:00
Matthias Koefferlein
d2a1d28c55
[consider merging] Fixed another typo in documentation
2024-12-25 17:50:14 +01:00
Matthias Koefferlein
53084e4d43
[consider merging] Fixed a typo in documentation
2024-12-25 17:49:28 +01:00
Matthias Koefferlein
1278ffeb77
WIP - refined tl::Variant::equal and less implementation, fixed tests
2024-12-25 17:36:29 +01:00
Matthias Koefferlein
dc73b8145f
WIP
2024-12-24 17:13:01 +01:00
Matthias Koefferlein
28260a68b0
WIP
2024-12-24 15:39:27 +01:00
Matthias Koefferlein
f5fea29cc9
WIP: OASIS reader tests debugging.
2024-12-24 12:56:13 +01:00
Matthias Koefferlein
c6a097ae61
WIP
2024-12-24 11:45:16 +01:00
Matthias Koefferlein
128a00896e
WIP
2024-12-24 11:19:21 +01:00
Matthias Koefferlein
dd7aa9b84f
WIP: massive refactoring of properties repo and OASIS reader
...
Target is to reduce the properties repository to a singleton.
Hence, there is no need to translate property IDs and it
is possible to retrieve properties everywhere.
The OASIS reader is refactored to avoid property renaming
and change of property definitions per ID.
2024-12-24 00:00:43 +01:00
Matthias Koefferlein
9ea7e68576
WIP
2024-12-22 23:21:04 +01:00
Matthias Koefferlein
f095374455
WIP: switching prop id change notification to events
2024-12-22 15:16:35 +01:00
Matthias Koefferlein
6db836e405
WIP: refactoring of properties repository
2024-12-22 14:23:07 +01:00
Matthias Koefferlein
5e2f4eb243
Fixing bug #1955
...
Problem was caused by a leaking PolygonIteratorDelegate that locked the
DSS layout object. Solved by wrapping in PolygonIterator and
changing the interface such that PolygonIteratorDelegegate is no
longer useful.
2024-12-16 22:58:48 +01:00
Matthias Koefferlein
dd5214dc6e
Fixing issue #1942 (PythonStandalone Package stubs errors), adding defaults for Box#enlarge and Box#enlarged (bonus)
2024-12-02 22:01:51 +01:00
Matthias Koefferlein
e35aa97191
Added 'read_bytes' without options and 'write_bytes'. Added tests for write_bytes and for Ruby. Doc fixed.
2024-11-30 18:46:25 +01:00
Matthias Köfferlein
41383e4642
Merge pull request #1920 from rocallahan/readbytes
...
Add a Layout.read_bytes() method that reads a layout from a byte array
2024-11-30 17:47:03 +01:00
Matthias Köfferlein
637660ca69
Merge pull request #1933 from KLayout/wip
...
Wip
2024-11-30 08:23:35 +01:00
Matthias Köfferlein
ec21809cc3
Merge pull request #1916 from KLayout/maybe-pex-support
...
Some add-ons for potential application in the PEX context
2024-11-28 20:43:40 +01:00
Matthias Köfferlein
66d97bb5f1
Merge pull request #1928 from KLayout/feature/issue-1923
...
Feature/issue 1923
2024-11-28 20:43:01 +01:00
Matthias Koefferlein
ce4dc08969
Robustness of tests against different hash implementations, documentation update
2024-11-26 23:15:28 +01:00
Matthias Koefferlein
33d1cdc545
Show select expressions in column headers in custom queries
2024-11-24 22:28:01 +01:00
Matthias Koefferlein
dc9b3bb398
More consistent handling of special paths (like data: URLs) for technology components.
2024-11-23 19:19:23 +01:00
Matthias Koefferlein
476ec3a714
Implemented solution for #1923 ('move', 'moved')
...
1. Added move and moved to Point and DPoint
2. dx/dy is 0 by default now
3. arguments of move and moved are called
v (vector) and dx/dy consistently
2024-11-17 22:04:28 +01:00
Robert O'Callahan
db56b0293e
Add a Layout.read_bytes() method that reads a layout from a byte array in Python or Ruby.
...
This is much more convenient and a bit more efficient than writing the bytes
to a temporary file and reading that back in. It's useful when we have received
a layout over the network or embedded in some file.
This makes a copy of the bytes but there doesn't seem to be any way to avoid that
currently.
2024-11-05 03:15:40 +00:00
Matthias Koefferlein
dd0949867f
Some convenience features: transformations in EdgeNeighborhood, added Matrix transformation support for edge pairs.
2024-11-01 17:34:46 +01:00
Matthias Koefferlein
2629700566
RBA tests, reproducible order of edge events, all edges are reported - even those which do not have neighbors.
2024-10-31 23:43:27 +01:00
Matthias Koefferlein
3073c1917f
Some enhancements: internal merging, tests
2024-10-31 22:55:46 +01:00
Matthias Koefferlein
0cca9afc7e
Generalization: providing output functionality.
2024-10-31 21:34:17 +01:00
Matthias Koefferlein
9f2a2075c7
Implementing full support for compound operations in EdgeNeighborhood, including foreign()
2024-10-29 23:18:01 +01:00
Matthias Koefferlein
ac1126f5c4
update documentation
2024-10-29 21:01:31 +01:00
Matthias Koefferlein
cdd7058866
Mitigating the effect of a locked layout: plain iteration of instances now is possible also with a locked layout. Before, the instances were correctly iterated only if the layout could be sorted.
2024-10-27 23:42:16 +01:00
Matthias Koefferlein
946729f14d
Adding forced update to Layout writer to ensure proper files. A warning is given.
2024-10-26 22:46:09 +02:00
Matthias Koefferlein
1407ae13a7
Also provide layout locking for recursive instance iterator
2024-10-26 21:40:41 +02:00
Matthias Koefferlein
0c0baed664
Avoiding a layout lock on Region::empty.
2024-10-26 21:24:01 +02:00
Matthias Koefferlein
a83e58b8de
Solving potential thread collision issues upon Layout::update.
2024-10-26 21:21:28 +02:00
Matthias Koefferlein
049c0b73b0
Debugging, added tests for new recursive shape iterator.
2024-10-25 23:13:40 +02:00
Matthias Koefferlein
bea707a9df
Releasing the lock when the iterator is at end - otherwise a finished iterator could still block the layout (potential Ruby GC issue)
2024-10-25 00:40:42 +02:00
Matthias Koefferlein
c1757c472e
First steps towards fix: locking layout while recursive shape iterator is alive.
2024-10-25 00:36:28 +02:00
Matthias Koefferlein
0d2379ad75
WIP: debugging, added polygon callback for EdgeNeighborhoodVisitor
2024-10-24 17:55:56 +02:00
Matthias Koefferlein
7af91fa2b5
Further debugging
2024-10-23 22:53:16 +02:00
Matthias Koefferlein
f7dde684f0
WIP: some basic debugging
2024-10-23 18:38:26 +02:00
Matthias Koefferlein
46b44e6287
WIP: builds, but not tested yet.
2024-10-21 23:35:34 +02:00
Matthias Koefferlein
422c88207c
WIP
2024-10-21 22:16:16 +02:00
Matthias Köfferlein
78ec69f7b7
Merge pull request #1890 from KLayout/issue-1886
...
Issue #1886 fixed (doc update)
2024-10-19 16:31:30 +02:00
Matthias Koefferlein
eeb05e47a5
Issue #1886 fixed (doc update)
2024-10-12 21:00:07 +02:00
Matthias Koefferlein
0dd7dfb48a
Fixed issue #1874 (crash when copying a cell to another layout)
2024-09-28 17:53:26 +02:00
Matthias Koefferlein
4c33032f93
Merge branch 'better-not-break'
2024-09-22 20:08:10 +02:00
Matthias Köfferlein
2d57feeae8
Merge pull request #1851 from KLayout/bugfix/issue-1832
...
Bugfix/issue 1832
2024-09-21 20:33:53 +02:00
Matthias Köfferlein
ff0a2b8ab7
Merge pull request #1850 from KLayout/wip
...
Wip
2024-09-21 20:33:21 +02:00
Matthias Köfferlein
cb984fb4b5
Merge pull request #1865 from KLayout/bugfix/issue-1864
...
Fixing issue #1864 (Copy & paste allows creating a recursive hierarchy)
2024-09-21 20:32:59 +02:00
Matthias Koefferlein
b194d509cc
Merge branch 'master' of github.com:KLayout/klayout
2024-09-20 23:49:27 +02:00
Matthias Koefferlein
43235a1ac2
Fixed CentOS7 builds
2024-09-20 23:49:16 +02:00
Matthias Koefferlein
5ece4d74ae
Fixing issue #1864 (Copy & paste allows creating a recursive hierarchy)
2024-09-20 23:07:09 +02:00
Matthias Koefferlein
a20611b4c0
Skip polygon splitting for triangles and boxes
2024-09-18 23:53:13 +02:00
Matthias Koefferlein
e2718c5a54
Enhancing polygon splitting
...
With this enhancement, the area ratio in DRC can
be configured as a negative value. This indicates
to take the outer manhattan approximation of the
polygons. This way, skinny diagonals are not
resolved into many small triangles.
2024-09-18 23:18:23 +02:00
Matthias Koefferlein
531071765f
Fixed issue #1860 (problem with undo after delete layer)
2024-09-18 19:11:04 +02:00
Matthias Koefferlein
ca9b1d779d
Print file name before warning from stream readers, compress warnings if necessary, add file name to errors
2024-09-16 23:48:30 +02:00
Matthias Koefferlein
97dcf0aa0b
Porting polygon generator from std::deque to std::list with support by 'splice' ... should fix the problem
2024-09-14 16:21:07 +02:00
Matthias Koefferlein
9e55a664fb
[debug] timers with ns resolution
2024-09-14 10:45:28 +02:00
Matthias Koefferlein
fc729584e1
Maybe std::deque::size was the problem
2024-09-13 23:28:16 +02:00
Matthias Koefferlein
153d1e3541
Trying to improve stability under PCell debugging conditions inside the IDE
2024-09-13 14:31:45 +02:00
Matthias Köfferlein
53b7c985f0
Merge pull request #1849 from KLayout/feature/issue-1836
...
Implemented solution for issue #1836 (Allow the usage of Cell.shapes(…
2024-09-08 22:24:40 +02:00
Matthias Köfferlein
b3fd5153fb
Merge pull request #1842 from KLayout/bugfix/issue-1835
...
Bugfix/issue 1835
2024-09-08 22:23:44 +02:00
Matthias Koefferlein
680874c8e3
More variants of Layout#properties_id + added Layout#properties_hash and Layout#properties_array. Clarification of documentation.
2024-09-08 19:45:10 +02:00
Matthias Koefferlein
074238b116
Do not include 'purge_devices' in Netlist#simplify as such devices may be intentionally included as spare or dummy devices. If you want to remove them, use 'purge_devices' on 'netlist' and/or 'schematic'
2024-09-08 17:18:12 +02:00
Matthias Koefferlein
ac2d20ae76
Implemented fix for issue #1832 (enhancements for Netlist#simplify and Netlist#combine_devices)
2024-09-08 00:25:24 +02:00
Matthias Koefferlein
20099a38b9
Fixing second part - small L,R and C were not handled properly
2024-09-08 00:25:18 +02:00
Matthias Koefferlein
bf965a7806
Implemented solution for issue #1836 (Allow the usage of Cell.shapes(LayerInfo(...)))
...
- For Cell#shapes, LayerInfo is an accepted argument now
- If the layer does not exist, it is created (non-const version)
or an error is raised (const version)
- Cell#clear also accepts a LayerInfo object
- Layout#clear and Layout#delete_layer also accept
a LayerInfo parameter
Rationale for supporting the clear and delete_layer methods:
These cases do nothing if the layer does not exist, so there
is a benefit of using them: it is not required to check first
if the layer exists.
2024-09-07 20:29:43 +02:00
Matthias Koefferlein
716aa3c87b
Fixing issue #1835 (saving a PCell as cell renders a layout that cannot be read)
2024-09-01 21:18:49 +02:00
Matthias Koefferlein
7dd7a96683
Fixed issue #1840 : start is renamed to _start and finish is renamed to _finish, also some other methods that are purely internal. Python + Ruby is modified.
2024-09-01 19:48:13 +02:00
Matthias Koefferlein
793c892b2b
Reworking documentation of LayoutToNetlist
2024-09-01 17:47:25 +02:00
Matthias Koefferlein
6a8be82e77
Added missing explicit template instantiations
2024-08-11 00:39:23 +02:00
Matthias Koefferlein
890904dfd0
Had to split dbHierProcessor as gcc choked on the many explicit template instantiations
2024-08-10 23:40:51 +02:00
Matthias Köfferlein
bccc421f3d
Merge pull request #1821 from KLayout/feature/issue-1816
...
Feature/issue 1816
2024-08-10 13:33:25 +02:00
Matthias Koefferlein
82b3030352
const versions of Layout#cell and Layout#top_cell(s)
2024-08-06 18:19:31 +02:00
Matthias Koefferlein
35219469d6
Debugging and first tests for DRC
2024-08-04 21:03:19 +02:00
Matthias Koefferlein
29f82854fb
Fixed DRC update
2024-08-04 19:23:31 +02:00
Matthias Koefferlein
f653764dc0
Bugfix (typo): ParameterState#icon was named 'tooltip'
2024-08-04 18:55:53 +02:00
Matthias Koefferlein
c63e41e732
GSI binding
2024-08-04 18:37:31 +02:00
Matthias Koefferlein
c23c4045ba
Basic implementation
2024-08-04 17:57:50 +02:00
Matthias Koefferlein
7510728a71
First API steps
2024-08-03 23:18:57 +02:00
Matthias Köfferlein
d1121faecb
Merge pull request #1809 from KLayout/feature/issue-1776
...
First draft for fix of issue #1776 (undo/redo by list)
2024-07-31 07:10:18 +02:00
Matthias Köfferlein
8ab398dc58
Merge pull request #1811 from KLayout/wip
...
Wip
2024-07-30 18:59:09 +02:00
Matthias Köfferlein
ba899b391c
Merge pull request #1808 from KLayout/bugfix/issue-1784
...
Proposal for fixing issue #1784 (Spice throws error at midline semico…
2024-07-30 18:58:28 +02:00
Matthias Köfferlein
31fc1d8d79
Merge pull request #1805 from KLayout/bugfix/issue-1804
...
Fixed issue #1804 (Instantation path highlight mismatch with view win…
2024-07-30 18:57:48 +02:00
Matthias Köfferlein
f4e4ce99b8
Merge pull request #1803 from KLayout/feature/issue-1790
...
Implemented a solution for issue #1790 (Support for recursive PCell i…
2024-07-30 18:57:34 +02:00
Matthias Koefferlein
c6928d234c
First draft for fix of issue #1776 (undo/redo by list)
2024-07-29 00:15:22 +02:00
Matthias Koefferlein
7978a2bb1d
Proposal for fixing issue #1784 (Spice throws error at midline semicolon comments)
2024-07-28 22:24:15 +02:00
Matthias Koefferlein
258aaad29d
Fixed issue #1804 (Instantation path highlight mismatch with view window)
...
In addition, the highlighting was fixed in the
presence of a context path (aka "edit in place").
2024-07-27 20:10:30 +02:00
Matthias Koefferlein
071326ffee
Small doc update
2024-07-27 14:18:42 +02:00
Matthias Koefferlein
c3fdc6e1bc
Implemented a solution for issue #1790 (Support for recursive PCell instances)
...
This also fixes some other issues, like "display_text_impl" being
called when a PCell is run with the debugger open.
2024-07-27 14:00:54 +02:00
Matthias Köfferlein
cfa0dacd4f
Merge pull request #1800 from KLayout/bugfix/issue-1799
...
Fixed issue #1799 (Can't set cell properties by script)
2024-07-27 11:48:01 +02:00
Matthias Koefferlein
d6ee473d72
Fixed issue #1799 (Can't set cell properties by script)
2024-07-25 22:36:46 +02:00
Matthias Koefferlein
58d489b39a
Added Region#being_shapes_rec and Region#begin_merged_shapes_rec, mainly for being able to retrieve shapes with properties from Region#nets
2024-07-25 19:34:08 +02:00
Matthias Koefferlein
92e44bd9b9
Small update of doc.
2024-07-24 22:36:06 +02:00
Matthias Koefferlein
4cd8772e70
Convenience methods Shape#properties, Layout#properties, Cell#properties, Instance#properties
2024-07-24 22:29:09 +02:00
Matthias Koefferlein
6baabc30bb
Added Netlist#top_circuit and Netlist#top_circuits convenience methods
2024-07-24 20:57:17 +02:00
Matthias Koefferlein
16abeb2bdc
Merge branch 'master' into wip
2024-07-22 21:34:12 +02:00
Matthias Koefferlein
9600cd818c
Merge branch 'master' into bugfix/issue-1793
2024-07-21 08:11:37 +02:00
Matthias Köfferlein
d3921844d6
Merge pull request #1791 from KLayout/bugfix/issue-1782
...
Fixing issue #1782
2024-07-21 08:08:59 +02:00
Matthias Koefferlein
32a815a1c0
Properly selecting debug mode in .pri files for self diagnosis. Touching files for recompile.
2024-07-20 21:04:51 +02:00
Matthias Koefferlein
a8eaead404
Enhanced tl::Variant so it can capture all possible default values. Added a self-diagnosis step in debug builds.
2024-07-20 19:57:11 +02:00
Matthias Koefferlein
ee07e4b3b9
Added smoke test for Layout#break_polygons and Shapes#break_polygons to RBA
2024-07-17 23:25:20 +02:00
Matthias Koefferlein
4d80fb37c3
Enabled 'break_polygons' for editable Shapes containers
2024-07-17 23:14:34 +02:00
Matthias Koefferlein
1ed69e9b46
Added test
2024-07-17 23:09:04 +02:00
Matthias Koefferlein
b6cc636b05
Debugging Layout#break_polygons etc.
2024-07-17 00:51:01 +02:00
Matthias Koefferlein
a89e295349
WIP: Shapes#break_polygons, Layout#break_polygons, Region#break_polygons (as alias)
2024-07-17 00:27:06 +02:00
Matthias Koefferlein
072edecb1a
Add-on making re-registration of PCells a valid feature.
2024-07-13 18:55:17 +02:00
Matthias Köfferlein
7e5f10307d
Merge pull request #1785 from ChipFlow/subcircuit_hierarchy_for_nets
...
Fixed DeepShapeStore.subcircuit_hierarchy_for_nets getter
2024-07-13 18:24:30 +02:00
Matthias Koefferlein
0df6339f4e
Fixing issue #1782
...
This patch establishes "nan", "inf" and "-inf" as
valid values for tl::Variant, so corresponding
PCell parameters can be serialized and are
properly managed.
2024-07-13 18:07:45 +02:00
Matthias Koefferlein
7146db4762
Checking some pointers for null (maybe responsible for crashes during PCell development)
2024-07-13 15:30:17 +02:00
Serge Rabyking
2be4f3f756
Fixed DeepShapeStore.subcircuit_hierarchy_for_nets getter
2024-07-09 22:14:32 +01:00
Matthias Koefferlein
02f88fb3e0
Fixed 64bit coordinate builds
2024-07-03 18:37:55 +02:00
Matthias Koefferlein
68530f08bc
Merge branch 'faster-latchup-rules'
2024-07-01 18:28:23 +02:00
Matthias Köfferlein
53db0a0300
Merge pull request #1760 from KLayout/feature/issue-1741
...
Implemented solution for issue #1741 (Feature request: tooltip string…
2024-07-01 18:24:07 +02:00
Matthias Koefferlein
a5b98f93ff
Implemented solution for issue #1741 (Feature request: tooltip string for PCell parameter)
2024-06-29 22:10:43 +02:00
Matthias Koefferlein
7397b8e4e6
Fixed issue 1757 (Triangles::clear () use-after-free) plus another uninitialized value. Added tests.
2024-06-29 20:12:45 +02:00
Matthias Köfferlein
564861abe1
Merge pull request #1753 from KLayout/feature/issue-1747
...
Fixing issue #1747 (signed coordinate transformations with Trans/DTra…
2024-06-29 20:12:07 +02:00
Matthias Köfferlein
6e2c11435b
Merge pull request #1744 from KLayout/wip
...
OASIS reader: avoiding slight rounding of DBU In python read/write cy…
2024-06-29 20:11:40 +02:00
Matthias Koefferlein
100760e219
Fixed progress description
2024-06-25 23:41:35 +02:00
Matthias Koefferlein
58d53636cb
DRC tests for 'size/sized inside
2024-06-25 21:01:23 +02:00
Matthias Koefferlein
4c28d9f6a9
WIP: optimization
2024-06-25 19:35:47 +02:00
Matthias Koefferlein
e8784d1763
WIP: added basic tests
2024-06-25 19:26:35 +02:00
Matthias Koefferlein
128efd45e4
WIP: Implementing flat mode for sized inside/outside
2024-06-25 18:21:21 +02:00
Matthias Koefferlein
c3d3dd6239
WIP: Optimizing performance of deep mode sized inside/outside
2024-06-25 00:30:20 +02:00
Matthias Koefferlein
8d630e723a
WIP
2024-06-23 23:52:47 +02:00
Matthias Koefferlein
a54365a9a7
WIP: DRC integration
2024-06-23 19:30:01 +02:00
Matthias Koefferlein
e63a7b5940
WIP: optimization of sized_inside - distance can be reduced to 0 if 'inside' is merged
2024-06-23 18:21:30 +02:00
Matthias Koefferlein
d2479c7159
WIP
2024-06-23 17:20:32 +02:00
Matthias Koefferlein
55fc4a8728
WIP
2024-06-23 17:05:49 +02:00
Matthias Koefferlein
25165c46a3
WIP
2024-06-23 00:49:33 +02:00
Matthias Koefferlein
61e2758bbb
Fixing issue #1747 (signed coordinate transformations with Trans/DTrans/CplxTrans etc.)
2024-06-22 23:25:45 +02:00
Matthias Koefferlein
f7f25879f0
Preserving layer indexes to preserve LVS DB format (note to myself: finally create a real compare tool for the latter)
2024-06-17 21:55:35 +02:00
Matthias Koefferlein
f721be7e32
Trying to improve deep-mode XOR and NOT performance by introducing a local sweep that eliminates shapes also found in second input.
2024-06-17 21:45:55 +02:00
Matthias Koefferlein
579da640ba
Enhancement: added optional layer/datatype information to DRC/LVS 'name'
2024-06-16 19:33:24 +02:00
Matthias Koefferlein
f4736759b6
issue #1742 fixed: proper tracking of references of RecursiveShapeIterator - this will fix the segfault, but not the general issue of the ticket.
2024-06-16 09:55:46 +02:00
Matthias Koefferlein
46936b5d56
Fixing issue #1733 (Instance selecion in object properties does not match with view port object highlight)
...
Plus: better implementation of fix for issue #1145
(Crash when clearing a Shapes container by script while a shape is selected)
The previous solution was based on deferred execution and between
execution of that cleanup and the use of the selection, invalid states
could be present.
2024-06-09 18:58:39 +02:00
Matthias Koefferlein
c44b8097dd
Deep search for pin shapes, added shapes_of_terminal
2024-06-06 19:54:56 +02:00
Matthias Koefferlein
7388aa13a6
debugging pin shape generation - not sure if that solution makes sense.
2024-06-05 23:47:57 +02:00
Matthias Koefferlein
09a690f5f6
WIP
2024-06-05 22:42:42 +02:00
Matthias Koefferlein
4eeb5be9ea
More explanation of blend modes in common reader options
2024-06-05 22:42:38 +02:00
Matthias Köfferlein
910f0824e0
Merge pull request #1727 from KLayout/feature/issue-1721
...
Feature/issue 1721
2024-06-03 22:58:06 +02:00
Matthias Köfferlein
b726872598
Merge pull request #1726 from KLayout/bugfix/issue-1722
...
Proposing a fix for issue #1722 : add a '...' menu to hold the dynamic…
2024-06-03 22:57:36 +02:00
klayoutmatthias
8204f4d0aa
Updating golden test data with MacOS variants
2024-06-02 19:59:40 +02:00