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
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 Köfferlein
ff0a2b8ab7
Merge pull request #1850 from KLayout/wip
...
Wip
2024-09-21 20:33:21 +02:00
Matthias Koefferlein
c6b2dba847
Updating tests
2024-09-18 23:53:51 +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 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 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
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 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
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
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
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 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
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
Matthias Koefferlein
7560201dc5
Fixed issue #1503 (Import LEF/DEF - LEF files given in list are ignored for DEF import)
2023-10-06 23:38:04 +02:00
Matthias Koefferlein
c62480c49b
Fixed issue #1499 (strm2oas: support LAYER <layername> TYPE OVERLAP ; for L-shaped abstracts)
2023-10-06 11:41:16 +02:00
Matthias Koefferlein
53d1491cf1
Fixed issue #1482 (strict mode oasis should write the S_CELL_OFFSET into the CELLNAME table)
2023-10-06 10:54:55 +02:00
Matthias Köfferlein
3dff137e9f
Merge pull request #1480 from KLayout/issue-1307
...
Issue 1307
2023-09-12 07:22:51 +02:00
Matthias Köfferlein
70dcef25ce
Merge pull request #1476 from KLayout/issue-1474
...
Fixing issue-1474 (throw a FATAL ERROR when multiple cellname have th…
2023-09-12 07:22:37 +02:00
Matthias Koefferlein
ddfa64c517
Warnings fixed
2023-09-12 00:02:51 +02:00
Matthias Koefferlein
3870a02a98
Less verbose warnings on joined paths
2023-09-11 23:34:52 +02:00
Matthias Koefferlein
1e65abb7bf
Fixed issue-1307 (partial, UNPLACED component placements render placement if they come with point and orientation)
2023-09-11 21:39:06 +02:00
Matthias Koefferlein
8d2d5bcf47
Fixed more weird paths in issue-1472
2023-09-11 21:16:36 +02:00
Matthias Koefferlein
e9429320bb
Merge branch 'issue-1472' into wip2
2023-09-11 20:24:15 +02:00
Matthias Koefferlein
50c0ec2738
New test data for LEFDEF parser
2023-09-11 20:08:39 +02:00
Matthias Koefferlein
5c0f810006
Also fixed issue #1470 (def pinname VDD.extra1 should be written as VDD TEXT in gds/oasis)
2023-09-10 23:42:30 +02:00
Matthias Koefferlein
d52087fab4
Also fix issue-1471 (lef: make warning about 'FOREIGN differs from MACRO name' more informative)
2023-09-10 23:42:26 +02:00
Matthias Koefferlein
e2fa88fcfb
Progress for CIF reader, avoid duplicate sorting
2023-09-10 16:49:06 +02:00
Matthias Koefferlein
8adc14d22b
Fixing issue-1474 (throw a FATAL ERROR when multiple cellname have the same refnum)
2023-09-09 22:13:05 +02:00
Matthias Koefferlein
8e42c7b4e9
Fixed issue-1472 (strm2oas: def path with first/last segment length < halfwidth are read wrong)
2023-09-09 21:28:46 +02:00
Matthias Köfferlein
a29bef496a
Merge pull request #1456 from KLayout/issue-1433
...
Fixed #1433 (def syntax error not captured)
2023-08-08 07:19:06 +02:00
Matthias Köfferlein
ce4178aa73
Merge pull request #1451 from KLayout/issue-1307-partial
...
Fixed part of issue #1307 : using pin names for the pin labels in DEF …
2023-08-06 22:16:13 +02:00
Matthias Koefferlein
7daa54e347
Update of LEF/DEF testdata (changed because of different labels and properties)
2023-08-06 19:16:58 +02:00
Matthias Koefferlein
4701f3884e
Fixed a DXF reader issue: should not generate degenerated paths for SPLINE entities
2023-08-05 21:40:27 +02:00
Matthias Koefferlein
5b7e336b33
Added test for LEF/DEF map file NAME substitute
2023-08-05 01:02:37 +02:00
Matthias Koefferlein
32fdb46649
Allowing PINNAME and LEFPINNAME purposes in LEF/DEF .map files for a more consistent format (avoids the NAME notation)
2023-08-05 00:58:16 +02:00
Matthias Koefferlein
f518d1aa1d
Added variable/expression interpolation to LEF paths so it is possible use environment variables there.
2023-08-03 23:27:31 +02:00
Matthias Koefferlein
44901f8885
Fixed part of issue #1307 : using pin names for the pin labels in DEF importer, generating pin names on pin name property + generating net names on net name property for pin shapes.
2023-08-03 23:03:39 +02:00
Matthias Koefferlein
476c7156ab
Merge branch 'master' into wip2
2023-08-01 21:48:00 +02:00
Matthias Koefferlein
3736b59156
it's -> its
2023-07-30 14:46:58 +02:00
Matthias Koefferlein
42baaef031
Fixed #1433 (def syntax error not captured)
2023-07-30 11:40:24 +02:00
Matthias Koefferlein
4f7da687d4
Removed a question comment
2023-07-29 09:50:58 +02:00
Matthias Koefferlein
3b9f3eae20
Fixed issue #1432 (strm2oas def ignores path segment)
2023-07-29 02:45:17 +02:00
Matthias Köfferlein
abf2970438
Merge pull request #1423 from KLayout/wip2
...
Wip2
2023-07-23 09:40:33 +02:00
Matthias Koefferlein
99df15a5ff
Update on issue 1422 fix - fixing an array index out of bounds issue; do no use control points for first and last point as splines may not be designed to terminate at those.
2023-07-22 18:14:14 +02:00
Matthias Koefferlein
35e42a8117
Fixed issue-1422 (DXF file parsing error)
...
Problem were two spline interpolation issues:
1. wrong stop criterion for recursion
2. wrong implementation of single-point interpolation
2023-07-15 16:05:40 +02:00
Matthias Koefferlein
67436d81a5
Add default extension to file names unless one is given
2023-07-14 22:04:38 +02:00
Matthias Koefferlein
7bcbd607b7
Meta infos in GDS2 files do not make old KLayout versions fail always
...
Only these cases are not supported by old versions:
* Layout-object meta info
* Meta info on top cell (renders an empty layout)
2023-07-11 01:01:43 +02:00
Matthias Koefferlein
de2ace4be3
GDS2 reader: robustness against some broken files - should not segfault
2023-05-28 23:34:03 +02:00