Hello . I am getting the following warning in xsch...
# xschem
w
Hello . I am getting the following warning in xschem. I replaced
$SKYWATER_MODELS
;`netlist_dir`;
$XSCHEM_LIBRARY_PATH
and
PDK_ROOT
in the xschemrc file. Is there any more configuration missing?
m
Can you share your
xschemrc
file?
w
The directory
/edatools/pdks/
has the
open_pdks
,
skywater-pdk
and
sky130A
folders.
m
From your
xschemrc
file
Copy code
if { [info exists env(PDK_ROOT)] && $env(PDK_ROOT) ne {} } {
  ## found variable, set tcl PDK_ROOT var
  if {![file isdir $env(PDK_ROOT)]} {
    puts stderr "Warning: PDK_ROOT environment variable is set but path not found on the system."
  }
  #set PDK_ROOT 
  set PDK_ROOT /edatools/pdks/
} else {
  ## not existing or empty. 
  puts stderr "Warning: PDK_ROOT env. var. not found or empty, trying to find an open_pdks install"
So if you don't have a shell environment
PDK_ROOT
variable set, you'll get this message
Copy code
Warning: PDK_ROOT env. var. not found or empty, trying to find an open_pdks install
Setting
PDK_ROOT
inside the
if
statement won't work. Before you run
xschem
, try
export PDK_ROOT=/edatools/pdks
w
It worked. So, do I always need to use the export command before running xschem?
a
... or do
set ::env(PDK_ROOT) /edatools/pdks
in the xschemrc
w
Do I use
set ::env(PDK_ROOT) /edatools/pdks
instead of
set PDK_ROOT /edatools/pdks/
?
a
At the beggining of the file, probably should work
or just create alias in your .bashrc. I do that, since it's fixed.
w
It worked. I put
set ::env(PDK_ROOT) /edatools/pdks
at the beginning of the xschemrc file. Thank you for your help!
s
The recommended way is to just do a
export PDK_ROOT=/edatools/pdks
in the bash terminal and then start xschem. Doing
set ::env(PDK_ROOT) /edatools/pdks
inside a tcl file (the xschemrc) does the same thing, that is, set an environmental variable.
1
w
Okay, thanks, @Stefan Schippers.
I have another doubt. When I run xchem with ngspice terminal I get "Note: No compatibility mode selected!". But I setup .
spiceinit file
with
"set ngbehavior=hs"
.
a
the location of the file is important. idk where the .spiceinit needs to be
w
I get it. My
.spiceinit
file is in my directory
/home/wisla/sky130_skel
. In the skel folder has all my schematics and
xschem_sky130
folder.
s
@wisla morais the .spiceinit file must be in the directory where ngspice is running. At the xschem prompt you can do a
puts $netlist_dir
to get the location. If you didn't do any express setup it should be
~/.xschem/simulations
1
w
It worked. Thank you @Stefan Schippers