<@U01819B63HP>: I have not pushed the changes I m...
# xschem
t
@User: I have not pushed the changes I made yesterday. If you want, I'll do that in an hour or so after cleaning up a few things in the repository and testing. Otherwise, you can start by cloning open_pdks from opencircuitdesign.com/open_pdks or github.com/RTimothyEdwards. Read the instructions in sky130/README. You probably want to specify the location of skywater-pdk, since you have it installed already.
s
Thanks, whenever ready i will definitely test it out!
t
I pushed to opencircuitdesign; you can get this with
git clone <git://opencircuitdesign.com/open_pdks>
. Then do
configure  --enable-sky130-pdk=_<path>_
followed by
make
and
sudo make install
. This will put the open_pdks installation in
/usr/share/pdk/sky130A/
. Xschem setup files end up in
/usr/share/pdk/sky130A/libs.tech/xschem/
.
s
Thanks will build and look for it
@Tim Edwards is it possible to comment out this xschemrc line?
append XSCHEM_LIBRARY_PATH :$env(PWD)
This is a quick and dirty setting that allows 1st time users to see xschem libs when running xschem from the xschem_sky130 install directory. In final installations this line ends up adding a search path that depend on the directory where xschem is launched from. Since the sky130 libs are correctly set up in the line following my suggestion is to have this line commented or removed... Unless your usage model requires to start xschem from specific directories... so these are always added (this makes sense, as normally xschem is used on specific projects). If this is the case discard this message :-)
@Tim Edwards in the installed xschemrc (/usr/share/pdk/sky130A/libs.tech/xschem/xschemrc) this line points to the staging area:
lappend tcl_files /home/schippes/sda7/open_pdks/sky130/sky130A/libs.tech/xschem/scripts/sky130_models.tcl
it should probably be:
lappend tcl_files /usr/share/pdk/sky130A/libs.tech/xschem/scripts/sky130_models.tcl
t
That should have been changed when you did "make install". I'll need to figure out why that didn't happen.
The files are created locally in open_pdks/sky130/sky130A and everything should be able to be run directly out of that directory. There is a process that scans each file for references to that local path and changes them to the install path. Apparently that didn't happen in your case.
s
@Tim Edwards yes for some reason the translation is not done. Sorry for noticing this late, but also XSCHEM_LIBRARY_PATH points to staging:
append XSCHEM_LIBRARY_PATH :/home/schippes/sda7/open_pdks/sky130/sky130A/libs.tech/xschem
t
Assuming the PDK libraries are already installed, then do the following:
cd open_pdks ;  make veryclean ; cd sky130 ; make tools-a ; make install
. That will rebuild and reinstall just the tool setups. Then please post the output of
sky130A_migrate.log
(which should be fairly short). It gives a summary of all the files where it made substitutions from the staging directory path to the install directory path.
s
@Tim Edwards here the `sky130A_migrate.log`:
Copy code
Starting SKY130 PDK migration on ven 12 feb 2021, 20:21:19, CET
Installing in target directory /usr/share/pdk/sky130A
Removing files from target
Copying staging files to target
Done.
Changing local path references from /mnt/sda7/home/schippes/open_pdks/sky130/sky130A to /usr/share/pdk/sky130A
Part 1:  Tools
Part 2:  Libraries
   sky130_fd_sc_hdll
   sky130_fd_sc_lp
   sky130_fd_sc_hs
   sky130_ml_xx_hd
   sky130_fd_io
   sky130_fd_sc_hvl
   sky130_fd_sc_ls
   sky130_fd_pr
   sky130_fd_sc_hd
   sky130_osu_sc_t18
   sky130_fd_sc_ms
Removing temporary files from destination.
Done with PDK migration.
Ended SKY130 PDK migration on ven 12 feb 2021, 20:21:29, CET
looks like no tools are processed...
also sky130A.magicrc points to staging area:
Copy code
if {[catch {set PDKPATH $env(PDKPATH)}]} {
    set PDKPATH "/home/schippes/sda7/open_pdks/sky130/sky130A"
}
@Tim Edwards i am doing the build again, may be some symlink could have have created confusion. Hold on...
@Tim Edwards i have re-done the whole pdk install again, no differences. xschemrc paths point to staging area. In previous build i gave the skywater-pdk/ path to configure thru a symlink, i thought this could create confusion. However even using the true paths didn't solve the problem.
t
The "filter_recursive" subroutine in common/staging_install.py seems to be ignoring all the files. Could you please put a few print statements before "return 0" and "continue" (lines 70, 72, 80, and 84) to see which one is relevant? I can't see any way that this could fail. . .
s
@Tim Edwards i am redoing everything from scratch, including cloning the skywater pdk / make timing, My suspect is that i have too many symlinks (my home area itself is symlinked to a different part of the FS) so what i am doing now is doing everything (clone, build, install) from true paths that do not have links in any path component. My suspect is that the installer gets confused,may be comparing paths that in some cases with the link shortcuts, in other cases with the normalized path... Anyway just to start over from a clean state...
t
The installer needs to deal with those symlinks properly, if that's the issue. If you can figure out where it's going wrong, then I can fix it.
s
@Tim Edwards after a clean install of everything (skywater-pdk, open-pdks, and a fresh magic build) in directories with no symlinks in the way everything is ok, all paths in xschemrc have been translated to the final install path. Sorry for the trouble i have been causing. Tomorrow i will try a complete rebuild from the symlinked home dir, if that fails i can hopefully add some details. The whole process takes some time on my old laptop 🙂