Gabriel Maranhão
11/22/2023, 4:21 PM.xschemrc
is attached.
All tools are updated to the last versionMitch Bailey
11/22/2023, 4:33 PMXSCHEM_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).
append XSCHEM_LIBRARY_PATH :$env(HOME)/xschem
and then update all your schematic files
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.Gabriel Maranhão
11/22/2023, 5:54 PMStefan Schippers
11/23/2023, 8:04 AMXSCHEM_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.
# 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
Stefan Schippers
11/23/2023, 8:33 AM# append XSCHEM_LIBRARY_PATH :$env(PDK_ROOT)/$env(PDK)/libs.tech/xschem
Linen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.
Powered by