Commit Graph

673 Commits

Author SHA1 Message Date
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 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 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 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 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 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 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 7bee9ebcec Fixing a linker issue on Windows. 2025-05-11 21:48:01 +02:00
Matthias Koefferlein 1932532416 Bug fixes, tests 2025-05-02 15:07:28 +02:00
Matthias Koefferlein b77b4d7d3c Bug fixes 2025-05-02 15:02:18 +02:00
Matthias Koefferlein 149b051dce Providing meta info (boundary per mask) from MALY reader 2025-05-02 14:49:13 +02:00
Matthias Koefferlein 30ac61ea20 Added title support, tests, debugging 2025-05-02 14:25:34 +02:00
Matthias Koefferlein 226ba429f1 WIP: MALY reader, debugging, tests 2025-05-02 13:27:59 +02:00
Matthias Koefferlein 55e2b27bf6 WIP, MALY reader 2025-05-01 23:05:01 +02:00
Matthias Koefferlein 3b85581fae WIP 2025-04-29 22:59:17 +02:00
Matthias Koefferlein 03873d9b6c WIP 2025-04-29 22:56:53 +02:00
Matthias Koefferlein fa30fd0f7b WIP, MALY reader 2025-04-29 22:19:59 +02:00
Matthias Koefferlein 7820733bd5 WIP 2025-04-29 00:28:46 +02:00
Matthias Koefferlein cd468d4d67 WIP 2025-04-27 23:00:46 +02:00
Matthias Koefferlein 282f6e9d23 Merge branch 'master' into feature/maly 2025-04-27 20:57:09 +02:00
Matthias Koefferlein e76be5b071 WIP 2025-04-27 20:55:11 +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 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