<@U016EM8L91B> In open_pdks installation the <sky130/Makefile.in> replaces the 2 last xschemrc lines...
s
@User In open_pdks installation the sky130/Makefile.in replaces the 2 last xschemrc lines defining tcl variables SKYWATER_MODELS and SKYWATER_STDCELLS:
Copy code
...
 ${SED} -e "/SKYWATER_MODELS/s#~/pdks/sky130$*/libs.tech/ngspice#${NGSPICE_STAGING_$*}#" | \
 ${SED} -e "/SKYWATER_STDCELLS/s#~/pdks/sky130$*/libs.ref/sky130_fd_sc_hd/spice#${STAGING_PATH}/${SKY130$*}/libs.ref/${HD_SPICE}#" \
...
and sets them to point to the open_pdks install path. The problem is the search pattern refers to a very old open_pdks install path, (
~/pdks/...
) so matching fails and no substitution is done. My suggestion is to just match the '`set SKYWATER_MODELS`' and '`set SKYWATER_STDCELLS`' and replace the 2 lines completely, whatever the path in the upstream xschemrc. Currently the relevant part of the original
xschemrc
looks like:
Copy code
# set SKYWATER_MODELS /usr/local/share/pdk/sky130A/libs.tech/ngspice
# set SKYWATER_STDCELLS /usr/local/share/pdk/sky130A/libs.ref/sky130_fd_sc_hd/spice
set SKYWATER_MODELS $env(HOME)/share/pdk/sky130A/libs.tech/ngspice
set SKYWATER_STDCELLS $env(HOME)/share/pdk/sky130A/libs.ref/sky130_fd_sc_hd/spice
If you decide to use some kind of 'PDK_ROOT' or other similar variables let me know, i can do the change upstream as well.
h
Yes, please let's use PDK_ROOT to point at the start of things.
t
Agreed. Everyone seems to be in agreement on using
PDK_ROOT
to refer to the path above
sky130A
(or
sky130B
). My preference is that every tool should (1) check for the existence of environment variable PDK_ROOT, and (2) honor it if it exists, or (3) set it to something sane if it doesn't.
👍 2
s
OK will move this way. Thank you
s
For SKYWATER_MODEL we need to give sky130/libs.tech And For SKYWATER_STDCELLS we need to give sky130/libs.ref Is it right? @User