Commit Graph

83 Commits

Author SHA1 Message Date
Matthias Koefferlein 2dfcc9293e Allowing to explicity specify a format
Most tools and functions now allow to explicitly
specify a format for input and output. On input,
the format is usually detected, but for some
cases, this is not possible (e.g. DEF). So you can
specify the format attached to the file name in
square brackets:

e.g. file.defok[def]

"def" is the intended suffix, "defok" is the given one.

On output, the same is possible, specifically in strmxor
and strmclip:

strmxor a.gds b.gds out.xor[oas]
2026-03-20 16:30:28 +01:00
Matthias Koefferlein 7acd11abac Added test 2025-06-27 17:37:19 +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 7b7e98d49a Fixed issue #1877 (rounding introduces DRC error in LEF/DEF via) 2024-10-12 21:44:49 +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 Koefferlein c70e622590 Fixing issue #1724 (avoid duplicate LEF files) 2024-05-30 16:21:52 +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 c134b6c55c Update of test data needed, because OASIS layer names are present now even if there is no shape 2024-03-09 18:47:13 +01:00
Matthias Koefferlein ba61c4880f [consider merging] Update of testcase which was broken OAS 2024-02-11 15:22:41 +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 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 d91c86c1df Fixed some syntax errors in LEF/DEF samples 2023-11-15 22:24:51 +01:00
Matthias Koefferlein ac4b02c53a Fixed interpretation of TYPE OVERLAP, added test 2023-10-17 20:49:37 +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 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 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 5b7e336b33 Added test for LEF/DEF map file NAME substitute 2023-08-05 01:02:37 +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 42baaef031 Fixed #1433 (def syntax error not captured) 2023-07-30 11:40:24 +02:00
Matthias Koefferlein 3b9f3eae20 Fixed issue #1432 (strm2oas def ignores path segment) 2023-07-29 02:45:17 +02:00
Matthias Koefferlein 3bc14e1e79 Fixed issue-1345 (feature request: create a def single/mulitpart path import option)
The option is called "--lefdef-joined-paths" for strm* buddy tools
and "joined_paths" for pya/RBA.

Wires with multiple segments are combined into long paths when
possible - this fails on anisotropic widths and 45 degree segments.
2023-04-30 14:47:52 +02:00
Matthias Koefferlein 68db8fc867 Added missing files 2023-02-17 21:42:59 +01:00
Matthias Koefferlein 66a6832594 Some enhancements to DEF reader based on the 'complete' example. VIAs in FILL und PIN, a variety of syntax fixes. 2023-02-15 22:11:12 +01:00
Matthias Koefferlein a5a3fff1f0 Fixed #1214 (LEF VIA parsing issue) 2022-12-08 22:36:14 +01:00
Matthias Köfferlein e2f9015c26
Fixed issue #1132 by taking the first point of paths and polygons instead of center (center is still taken if the polygon is a rectangle) (#1134) 2022-08-01 18:47:20 +02:00
Matthias Köfferlein 9cb77d6222
Lefdef enhancements (#1053)
* Implementated patch as suggested by issue-1047

* Implementing blend-mode for LEF/DEF for a first solution for issue-1048

* Added testcase, fixed other tests

* Issue-1050 fixed - now REGION, BLOCKAGE and DIEAREA are relevant from mapping file, nothing else

* Bug fixes

* Experimental: DEF multipart paths

* Experimental: ignore LEF wire extension, ignore PATTERNNAME

* Implemented PATTERNNAME in DEF instead of LEF ..

* Implemented nondefaultrule vias

* LEF/DEF: non-defaultrule vias need a name suffix.

* Refined solution for NDR via names, updated test data

* Updated test data

* Multiple map files and 'REGIONS FENCE' + 'REGIONS GUIDE' layer mapping entries.

* Added test data, updated doc.

* Some enhancements and feedback

REGIONS in map files -> REGION
REGION NONE for map files (maps REGIONs which are neither GUIDE or FENCE)
Bugfix: VIA with ORIGIN
No via cell name prefix by default for buddy tools

* Simplified buddy tool options for LEF/DEF property names

Dropped --lefdef-dont-produce-instance-names,
--lefdef-dont-produce-pin-names and --lefdef-dont-produce-net-names
options. Instead, these options have to be enabled by giving
the respective property names.

Writing the property names takes some space and these
options are simply confusing and redundant.

* Issue a warning about missing cut geometry for a DEF via with PATTERNNAME (which is ignored)

* Fixed issue-1065
2022-04-23 22:26:37 +02:00
Matthias Koefferlein 4d9b27a017 Updated test data 2021-06-11 00:03:37 +02:00
Matthias Koefferlein 4c3729631a Rework: need to properly parse NAME records in map files, adjusted test data 2021-06-08 22:49:22 +02:00
Matthias Koefferlein 3db1db831f Test update after update of LEF/DEF reader. 2021-02-21 21:23:45 +01:00
Matthias Koefferlein eda1992a7d Added VIA size selectors for LEF/DEF .map files. 2021-02-21 21:00:55 +01:00
Matthias Koefferlein 898dbf07e9 Implemented FILLS support for LEF/DEF 2021-02-21 18:27:25 +01:00
Matthias Koefferlein 953367f3c1 Multi-mapping for layer map files for LEF/DEF reader 2020-12-19 22:11:23 +01:00
Matthias Koefferlein 9688da9ffd WIP: test for multimapping in LEF/DEF 2020-12-19 21:28:22 +01:00
Matthias Koefferlein b5c0193a0a LEF/DEF reader: Macro resolution mode is only effective now when reading DEF. Not when reading LEF. 2020-12-14 22:46:07 +01:00
Matthias Koefferlein 85311d414c Implemented LEF DENSITY statement properly 2020-12-14 22:20:29 +01:00
Matthias Koefferlein 363c437d07 Updated testcase for LEF/DEF map file reader 2020-11-21 22:05:10 +01:00
Matthias Koefferlein 96898d31d7 LEF/DEF layer map reader test case added. 2020-11-21 21:58:34 +01:00
Matthias Koefferlein be15e2dbf6 Updated priority of map file purposes according to Stefan's suggestions. 2020-08-23 19:44:38 +02:00
Matthias Koefferlein 56dead9662 LEF/DEF component maskshift: some implementation tuning and test updates. 2020-08-23 19:20:53 +02:00
Matthias Koefferlein af2bfce051 Tests and bug fixes for component maskshift implementation 2020-08-23 18:58:52 +02:00
Matthias Koefferlein af7d8bba89 WIP: provide a LEF reader mode where all macros are read. For DEF only those macros which are used are read. 2020-08-23 01:29:10 +02:00
Matthias Koefferlein 35249ef0b5 Reading LEF/DEF map files such that MASK is applied to previous entries too. 2020-08-19 23:47:25 +02:00