The fix consists of moving that options into the case-specific
options like DBU, instead of having it in the format-specific,
default writer options. So they can be specified on a per-case
basis and taken from the current layout by default.
Specifically:
* SaveLayoutOptions#gds2_libname is deprecated and replaced
by SaveLayoutOptions#libname
* -ol (buddy tools) is no longer format specific
* The GDS writer takes SaveLayoutOptions#libname, and
if empty, substitutes by the current libname. As last
resort, "LIB" is used, because LIBNAME cannot be an
empty string.
* The libname got removed from the global writer options UI
* In the "Save As" options dialog, it now is part of the global
options and initialized with the current layout's libname.
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.
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.
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.
* 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>
* Fixed first issue (UI problem with GDS2Text options)
* Fixed problem with 'save' when the file extension does not indicate one of the known formats
In this case, and when plain 'save' is used, the original format is delivered.
The session files also store the original format now.
The statistics page will now indicate the format of the file that was loaded.
* 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