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.
The solution is to separate the meaning of "," and "+" layout
file combination operators in strm2x tools:
* "+" does "blending"
* "," does merge
"+" has priority over "," ('a+b,c' acts as '(a+b),c').
NOTE: LEF caching only happens across "+".
1. Output of shape countsi in deep mode was hierarchical with
output file, flat without
2. Refactoring of XOR (for_merged optimization) needed to
create cover cell variants
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.
Now, the default of --subst-char in strm2oas is "don't substitute".
You can explicitly specify "don't substitute" using "--subst-char="
(without value).
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.
* [CONSIDER MERGING] Clarification and typo fixed in DRC doc.
* Implemented #1097 (discourage file compression, use CBLOCK)
* A warning is printed if file compression is enabled on OASIS
* A hint is present in the writer options
* CBLOCK is default (with fresh config) and for buddy tools
(use --cblock=false to disable it)
* Strict mode is default too.
* Updated tests