-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
symbiflow: add toolchain to conda channels #98
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Alessandro Comodi <[email protected]>
version: {{ version }} | ||
|
||
source: | ||
git_url: https://github.com/SymbiFlow/conda-packages.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this URL should probably be symbiflow-arch-defs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, the only issue is that the version reported in the package (commit has and so) will be different from the tarball version unless we can have the tarball placed in a latest
directory in GCS, so that each time the arch-defs HEAD changes, also the tarball does and we get the latest version of the tool.
Currently, there is a huge path to access the tarball from GCS (e.g. https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/presubmit/install/206/20200526-034850/symbiflow-arch-defs-install-97519a47.tar.xz).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The contents should match the version number?
CPU_COUNT=2 | ||
fi | ||
|
||
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/15/20200608-212841/symbiflow-arch-defs-install-32defbb3.tar.xz | tar -xJ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not extract the tar directly to $SHARE_DIR/arch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that this requires work from the symbiflow arch defs standpoint. It would be better to have one tarball for each architecture there is, so that we can point to the files we need in each symbiflow-<device>
conda package.
Currently the tar needs to be extracted and the xc7a50t device re-packed.
CPU_COUNT=2 | ||
fi | ||
|
||
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/15/20200608-212841/symbiflow-arch-defs-install-32defbb3.tar.xz | tar -xJ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should pull the version info from the conda meta.yml
|
||
cp -r install/share/scripts $SHARE_DIR | ||
cp -r install/share/techmaps $SHARE_DIR | ||
cp -r install/bin/* $BIN_DIR/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is being installed in $BIN_DIR/
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The bash scripts to run VPR and other symbiflow-related stuff.
There is a problem though, that regards some additional python scripts that need to be ported as well (place_constraints.py
, io_place.py
, etc). These are needed during the flow, but installing them in this way may generate conflicts with the python conda.
The only solution I thought of for now is to extract those scripts and get them into yet another separate repository (e.g. symbiflow-python-library) and install that throug conda pip, and get rid of the python library within the bin folder.
@@ -29,6 +29,9 @@ env: | |||
- PACKAGE=prjxray | |||
# XXX riscv32 toolchain: disabled as fails to build | |||
# PACKAGE=riscv32/binutils | |||
# symbiflow toolchain | |||
- PACKAGE=symbiflow-toolchain |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
symbiflow-toolchain
should just be a metapackage?
Signed-off-by: Alessandro Comodi [email protected]
This PR adds the symbiflow toolchain binaries to conda channels.
It also adds a separate package to get the architecture definitions for each device.
The only one that is present in this PR is the xc7a50t.
The idea is to have everything managed in conda, so that there is no need for an end-user to download the symbiflow toolchain using wget or similar, as well as changing the PATH env variable to point to the symbiflow binaries.