<@U01819B63HP> How do I manage to modify my schematics so I'm able to share it between computers an...
g
@Stefan Schippers How do I manage to modify my schematics so I'm able to share it between computers and they go with correct symbol path. Every time I place my schematics on another PC I need to alter the path. I'm using all the tools in a local installation , with GF180mcuD (latest) and my
.xschemrc
is attached. All tools are updated to the last version
m
Make sure that your symbol directory is in your
XSCHEM_LIBRARY_PATH
path. For example, if all your symbols are in
~/xschem/symbol
directory, add this line to your
xschemrc
. (If there is a
xschemrc
file (no leading
.
) in the current directory, it is used instead of
~/.xschemrc
. This makes things a bit more portable).
Copy code
append XSCHEM_LIBRARY_PATH :$env(HOME)/xschem
and then update all your schematic files
Copy code
find ~ -name '*.sch' -exec sed -i.bak "s,$HOME/xschem/symbol,symbol," {} ¥;
This will change all your absolute references to relative references and should make the data portable.
🙌 1
g
Thank you very much!
s
If you have a schematic with absolute paths, after setting up the xschemrc with the list of paths in
XSCHEM_LIBRARY_PATH
as @Mitch Bailey wrote you can simply open the schematic and force-save it again (ctrl-save-s), it will be saved with relative paths, and should be portable. See this man page. You should add to
XSCHEM_LIBRARY_PATH
all directories used for schematics/symbols in your design, so no element is saved in the schematic file with full (unportable) path. The syntax of
XSCHEM_LIBRARY_PATH
is a list of (absolute) paths separated by :. Usually when you start a project you create a directory and place an xschemrc file into that directory and start xschem from that directory. This allows you to have different projects that use the same or different pdk data. If an xschemrc file is found in the directory where xschem is started xschem will not read any
~/.xschem/xschemrc
file that contains the "per user" configuration.
Copy code
# clear any existing definition if any
set XSCHEM_LIBRARY_PATH {}
# xschem base symbols (pins, ideal components, labels, ...) 
append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/xschem_library
# add current directory
append XSCHEM_LIBRARY_PATH :[pwd]
# pdk models
append XSCHEM_LIBRARY_PATH :${PDK_ROOT}/gf180mcuD/libs.tech/xschem
👍 2
also comment out line 33 of your xschemrc, since this is done at the end specifically for gf180mcuD:
Copy code
# append XSCHEM_LIBRARY_PATH :$env(PDK_ROOT)/$env(PDK)/libs.tech/xschem
👍 1