Commit Graph

646 Commits

Author SHA1 Message Date
Matthias Koefferlein f1b35d0826 WIP (MALY reader) 2025-04-27 16:56:46 +02:00
Matthias Koefferlein 07eb49d482 Initializing MALY plugin 2025-04-27 01:11:38 +02:00
Matthias Koefferlein 148498f840 Fixing issue #2026 (after 2.5D display main 2D layout does not display anymore with visible shapes) 2025-04-26 16:15:25 +02:00
Matthias Koefferlein 0ec8e18173 refining the DEF warning on missing foreign cell 2025-04-08 23:52:50 +02:00
Matthias Koefferlein a27fd3e0be Drop OASIS warning about ghost cells and print a DEF reader warning if a foreign cell cannot be substituted 2025-04-08 22:40:04 +02:00
Matthias Koefferlein 6b5268e5f7 Feature glob expansion on LEF and GDS lists for LEF/DEF reader options. 2025-04-06 19:21:02 +02:00
Matthias Koefferlein 163c3b8edc Making "assume FOREIGN always default for strm* tools", OASIS warns on ghost cells 2025-04-06 12:50:34 +02: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 33b54f3f88 Merge branch 'master' into devel 2025-01-19 22:04:55 +01:00
Matthias Koefferlein ddbb138872 Fixed issue #1967 (Net tracer bug) 2025-01-11 21:47:33 +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 b4d1aa131c Refactoring OASIS reader which wasn't working in non-editable mode 2024-12-25 22:51:56 +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 acdb18039b WIP: OASIS reader tests debugging. 2024-12-24 13:07:02 +01:00
Matthias Koefferlein f5fea29cc9 WIP: OASIS reader tests debugging. 2024-12-24 12:56:13 +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 487a198ec9 WIP: OASIS reader refactoring for new properties repository concept 2024-12-22 17:28:54 +01:00
Matthias Köfferlein 637660ca69
Merge pull request #1933 from KLayout/wip
Wip
2024-11-30 08:23:35 +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 85caa4b397 Fixed issue #1925 (MAGIC import fails) 2024-11-17 21:42:29 +01:00
Matthias Köfferlein d5358c87ae
Merge pull request #1903 from KLayout/wip
Wip
2024-10-20 13:25:39 +02:00
Matthias Köfferlein 6b906b9582
Merge pull request #1889 from KLayout/issue-1877
Fixed issue #1877 (rounding introduces DRC error in LEF/DEF via)
2024-10-19 16:31:43 +02:00
Matthias Koefferlein dc0f549ab4 Embedding fix for issue #1892 which is closely related to #1877 2024-10-14 23:41:55 +02:00
Matthias Koefferlein 7b7e98d49a Fixed issue #1877 (rounding introduces DRC error in LEF/DEF via) 2024-10-12 21:44:49 +02:00
Matthias Koefferlein 1289db7ebd Enhancing GDS2 writer float conversion such that less rounding occurs 2024-10-04 17:47:37 +02:00
Matthias Koefferlein 4be134e293 LEF/DEF reader recognizes existing layers by name now
This is helpful as it assigns layer/datatype numbers
automatically. If only a name is given for a layer
(i.e. "OUTLINE"), it will not match any previously
loaded layer and layer matching goes by layer/datatype
first.

This way, every "reload" added a new "OUTLINE" layer.
2024-10-03 18:50:00 +02:00
Matthias Koefferlein 4c33032f93 Merge branch 'better-not-break' 2024-09-22 20:08:10 +02:00
Matthias Köfferlein ff0a2b8ab7
Merge pull request #1850 from KLayout/wip
Wip
2024-09-21 20:33:21 +02:00
Matthias Koefferlein 45a2803777 Merge branch 'wip' into better-not-break 2024-09-18 23:54:20 +02:00
Matthias Koefferlein c6b2dba847 Updating tests 2024-09-18 23:53:51 +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 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 bc78f4a0e9 Added test. 2024-09-01 21:26:44 +02:00
Matthias Köfferlein 8ab398dc58
Merge pull request #1811 from KLayout/wip
Wip
2024-07-30 18:59:09 +02:00
Matthias Koefferlein 7ddc86414d Trying to fix Windows builds 2024-07-30 07:13:35 +02:00
Matthias Koefferlein 277ab2c335 Refactoring of GDS2 writer - split large functions into smaller ones 2024-07-30 00:13:47 +02:00
Matthias Koefferlein 589a6ce88a Merge branch 'master' into gds2-writer-overflow-checks 2024-07-29 19:58:47 +02:00
Matthias Koefferlein b7e2b59852 First implementation of GDS2 coordinate overflow checks. 2024-07-29 19:54:29 +02:00
Matthias Koefferlein fec61438d4 Small bugfix: 'Delete selected stacks' was not working from stack tech component editor's context menu 2024-07-27 17:26:23 +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 0dd6fca51e Implemented a fix for #1794 (giant meta info produces invalid GDS)
This fix solves two problems:
* Too large meta info data
* Too many meta info entries

The first problem is fixed by splitting the strings that serialize
the meta info.

The second problem is fixed by introducing prefixed strings that
indicate the attribute index within the string, not inside
the PROPATTR record.

The solution is backward compatible, although old versions will
not read all meta info and skip entries that exceed the GDS
capacity.

Caveat: the produced GDS files may contain duplicate PROPATTR
keys. This is not strictly illegal, but some third-party processors
may drop such entries.
2024-07-20 22:35:54 +02:00
Robert O'Callahan b2ee4209f8 Remove unused `OASISReaderLayerMapping` friend declaration 2024-07-10 10:27:20 +12:00
Matthias Koefferlein 4e8bad1403 Fixed issue #1743 (strmxor shows no difference, klayout xor shows 85, dbu 99.999 vs 1000) 2024-06-29 20:51:37 +02:00
Matthias Koefferlein b32329c920 OASIS reader: avoiding slight rounding of DBU In python read/write cycle (discussion-2526) 2024-06-16 09:29:47 +02:00
Matthias Köfferlein a494892529
Merge pull request #1718 from KLayout/wip
Wip
2024-05-31 22:48:24 +02:00
Matthias Köfferlein 7399244557
Merge pull request #1725 from KLayout/bugfix/issue-1724
Fixing issue #1724 (avoid duplicate LEF files)
2024-05-31 13:18:44 +02:00
Matthias Köfferlein f8d5c1c427
Merge pull request #1713 from KLayout/feature/issue-1701
Implementing solution for issue #1701 (Feature request: strm2oas shou…
2024-05-31 13:18:22 +02:00
Matthias Koefferlein c70e622590 Fixing issue #1724 (avoid duplicate LEF files) 2024-05-30 16:21:52 +02:00
Matthias Koefferlein 81872d41f0 Fixed a problem triggered by the new foreign layout handling
Problem was that with forward-referenced text strings
in OASIS, StringRef objects were created (string placeholders).
Those where not properly migrated when transferring the foreign
layouts into DEF space, causing a memory corruption issue.

This solution is to provide a central, singleton string
repository. This needs to be MT safe (reference counting)
which should also fix potential problems when accessing
StringRef-based Text objects from multiple threads.
2024-05-26 01:03:24 +02:00
Matthias Koefferlein 3ca99907de Improved OASIS-to-OASIS file size by re-introducing sorting of repetition arrays 2024-05-25 14:24:00 +02:00
Matthias Koefferlein cf8ff2f750 Slight adjustment of wording 2024-05-19 17:35:03 +02:00
Matthias Koefferlein 8422fe8f83 Implementing solution for issue #1701 (Feature request: strm2oas should report input unit differences) 2024-05-18 19:41:43 +02:00
Matthias Koefferlein 51a1a2627f Fix for issue-1710 (feature request: create separate cell for def FILL) 2024-05-18 18:37:52 +02:00
Matthias Koefferlein 547ce99c37 Implemented fix from @Kazzz-S. Thank you! 2024-05-03 23:34:59 +02:00
Matthias Koefferlein b2b9c221b4 Maybe fixing shader programs for 2.5d view 2024-05-02 23:58:05 +02:00
Matthias Koefferlein ebbd8708db bug fixing 2024-04-30 23:17:00 +02:00
Matthias Koefferlein 70bf4b4a20 Translate 2.5d view to GLGS 1.2 and skipping the goemetry shader for (hopefully) compatibility with OpenGL 3.0 2024-04-30 23:04:04 +02:00
Matthias Koefferlein 0eb3c22ec2 Aligning menu layout of materials list with layer list 2024-04-14 21:42:59 +02:00
Matthias Koefferlein 9fd791a603 Implemented solution for issue-1666 ('Visibility Follows Selection' option for the 2.5d view) 2024-04-14 21:39:49 +02:00
Matthias Koefferlein 254f598a08 Deploying solution for XOR tool. Needs testing. 2024-03-24 23:03:08 +01:00
Matthias Koefferlein bc3895ac9f Merge branch 'master' into xor-performance 2024-03-24 12:55:11 +01:00
Matthias Köfferlein 206e271ee3
Merge pull request #1649 from KLayout/wip
Wip
2024-03-23 15:45:52 +01:00
Matthias Koefferlein d906f870b0 Warning level was ignored for some warnings in LEF/DEF reader 2024-03-09 01:22:32 +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 c2187e0bf0 OASIS reader creates layers listed in layer map also if empty 2024-02-29 22:31:23 +01:00
Matthias Koefferlein 890b389102 Merge branch 'wip2' 2024-02-18 22:27:17 +01:00
Matthias Koefferlein 8947c9992f Added configuration options for XOR tool to switch between with merge-before and without. 2024-02-17 21:20:52 +01:00
Matthias Koefferlein 4a89304152 Merge branch 'master' into wip2 2024-02-11 14:23:47 +01:00
Matthias Koefferlein db7b8d19a8 [consider merging] Removed some debug nonsense 2024-02-11 13:05:37 +01:00
Matthias Köfferlein 97c746fbad
Lefdef all should not map boundary (#1614)
* As suggested by Stefan Thiede: LEF/DEF 'ALL' purpose should not match obs and fill

* Updated unit tests

---------

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:38:53 +01:00
Matthias Köfferlein 09dea68e40
Fixed issue #1592 (DXF reader issue) (#1595)
Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:37:47 +01:00
Matthias Köfferlein df59641cad
Issue 1609 (#1613)
* Fixed issue #1609 (Cell.read doesn't read LayoutMetaInfo)

This also includes some more functions:
- Layout#merge_meta_info, Layout#copy_meta_info
- Layout#clear_all_meta_info
- Cell#merge_meta_info, Cell#copy_meta_info

In addition, meta info is merged when importing a layout from
another file (Layout/Import -> Other Layouts into current).

* Meta info support in layout diff (for testing), implemented meta info merge for GDS and OASIS readers with special conflict resolution modes

* Undo support for meta info - this way we do not loose meta info when we delete a cell and undo

---------

Co-authored-by: Matthias Koefferlein <matthias@klayout.de>
2024-02-11 10:32:56 +01:00
Matthias Koefferlein babf799016 [consider merging] OASIS Reader: error on duplicate CELLNAMEs 2024-02-10 18:45:56 +01:00
Matthias Koefferlein 0ae2ed49f8 Merge branch 'master' into wip 2024-01-06 17:28:51 +01:00
Matthias Koefferlein 38de2d685f Fixed 64bit coordinate mode: numerical stability for DRC and LVS enabling. Main problem is representation of the 'world' box which does not transform properly when going through double. 2024-01-03 01:57:27 +01:00
Matthias Koefferlein 2b4a583f05 Update copyright year 2024-01-01 17:27:59 +01:00
Matthias Koefferlein d248bfddf3 Updating copyright to new year 2024-01-01 17:06:23 +01:00
Matthias Koefferlein c09f84919a Skip one test if no private test data 2023-12-29 23:21:08 +01:00
Matthias Koefferlein 36f531685c Fixed a test fail when private test data is not available 2023-12-29 23:18:07 +01:00
Matthias Koefferlein f335ab69af More compatibility with Ruby <2.7 2023-12-29 23:00:06 +01:00
Matthias Koefferlein 6ceb77cf73 Trying to fix the ambiguity issue in Ruby < 3.0 with hash arguments vs. keyword arguments 2023-12-28 21:53:38 +01:00
Matthias Koefferlein 11fbad0104 eliminating some unnamed arguments 2023-12-28 21:35:14 +01:00
Matthias Köfferlein 3550d81c6f
Merge pull request #1555 from KLayout/issue-1531
Fixed issue #1531 (DEF format not recognized in symlink): use origina…
2023-12-08 07:26:07 +01:00
Matthias Köfferlein b4a74821c4
Merge pull request #1556 from KLayout/issue-1528
Implemented a solution for issue #1528 (LEF WIDTHTABLE)
2023-12-08 07:25:20 +01:00
Matthias Koefferlein 1017026362 Implemented a solution for issue #1528 (LEF WIDTHTABLE)
The WIDTHTABLE is evaluated for normal and WRONGDIRECTION.
The first value is taken as min width and as default width.
2023-12-02 22:55:51 +01:00
Matthias Koefferlein caf54bd77b Fixed issue #1531 (DEF format not recognized in symlink): use original path to determine format 2023-12-02 22:10:31 +01:00
Matthias Koefferlein 832d29d2e0 Trace all nets: open the layer stack config dialog on the right screen 2023-12-01 22:24:49 +01:00
Matthias Koefferlein a9694b5fb3 Trace all nets: do not trace nets on symbols that are not used in connections 2023-12-01 22:18:29 +01:00
Matthias Koefferlein 3dc3349d88 'Trace all nets': provide a selection dialog for the stack. 2023-12-01 22:02:26 +01:00
Matthias Koefferlein a5a7b1d8e4 Merge branch 'wip2' into wip2b 2023-11-11 23:09:10 +01:00
Matthias Köfferlein 5edbc0b03f
Merge pull request #1504 from KLayout/issue-1503
Fixed issue #1503 (Import LEF/DEF - LEF files given in list are ignor…
2023-11-07 21:35:49 +01:00
Matthias Köfferlein 42183efb76
Merge pull request #1502 from KLayout/issue-1499
Fixed issue #1499 (strm2oas: support LAYER <layername> TYPE OVERLAP ;…
2023-11-07 21:35:34 +01:00
Matthias Koefferlein d6728afd5c LEF/DEF - Removing via size from warning message 2023-10-19 22:06:35 +02:00
Matthias Koefferlein 58f609ab0f LEF/DEF: Removing VIA size tagging of upper and lower metals of vias in map file 2023-10-19 22:02:22 +02:00
Matthias Koefferlein ac4b02c53a Fixed interpretation of TYPE OVERLAP, added test 2023-10-17 20:49:37 +02:00