Commit Graph

5676 Commits

Author SHA1 Message Date
Matthias Koefferlein 55171859cf Fixed display under presence of layer transformations 2025-08-10 21:34:17 +02:00
Matthias Koefferlein fdb28800f7 Introducing fallback transformation variants for empty layer lists. This allows editing layouts without any layers and only instances. 2025-08-10 21:29:53 +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 0e263ff4d8 Implemented solution for #2110 (small cells and ghost cells)
The solution consists of a second path to bounding boxes of
cells - namely "bbox_with_empty". This bounding box is a
(0,0;0,0)-box if the cell is empty. Correspondingly, empty
and ghost cells are displayed as single points. Ghost cells
also behave like hidden cells now.
2025-08-10 15:33:50 +02:00
Matthias Koefferlein 2c873bcbce WIP 2025-08-10 15:15:50 +02:00
Matthias Koefferlein 0bc904515c WIP 2025-08-10 15:13:10 +02:00
Matthias Koefferlein 75125b7a85 WIP 2025-08-10 14:34:22 +02:00
Matthias Koefferlein 1c15d851ee WIP 2025-08-10 13:59:26 +02:00
Matthias Koefferlein 786d231acd WIP 2025-08-10 13:51:47 +02:00
Matthias Koefferlein 651fc8cbc7 WIP 2025-08-10 13:49:22 +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 6232db33b4 Fixing issue #2112 2025-08-09 00:52:55 +02:00
Matthias Koefferlein 8da28a0f72 Trying to fix issue #2108 2025-08-06 18:57:33 +02:00
Matthias Koefferlein b60210e076 Python stubs regenerated 2025-08-05 23:28:17 +02:00
Matthias Koefferlein 7ac32cec0b Removing debug code. 2025-08-05 20:58:07 +02:00
Matthias Koefferlein 847ec03f52 Bugfix: macros will be executed automatically again after package installation. Maybe less restarts needed. 2025-08-05 20:57:38 +02:00
Matthias Koefferlein 4dbc103523 Bugfix: File watcher was dropping files when they were temporarily unavailable 2025-08-04 18:47:39 +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 7c0934ec8a Fixing unit tests after making byte array and strings equal citizens in variants 2025-08-03 20:33:47 +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 bade7489d8 Fixing doc 2025-08-03 15:23:49 +02:00
klayoutmatthias 642cbd6831 [consider merging] fixing Qt-less builds 2025-08-03 14:19:02 +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 2193f28e2a WIP 2025-08-02 23:38:43 +02: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 9d4e3c525b Fixed issue #2100 (wrong coordinates on PEX nodes) 2025-07-29 23:17:54 +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 d4e3872142 DRC::def_output: A simple yet useful extension to obtain the output layout and to manipulate it (within limits) 2025-07-21 22:21:33 +02:00
Matthias Koefferlein cb4511b721 Fixed a pending TODO from issue #1470 2025-07-21 20:56:32 +02:00
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