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
Packaging options for RapidWright #133
Comments
@PiotrZierhoffer -- What is your opinion here? |
I believe the first approach should require the user to provide the closed part. This allows us to verify if Vivado is there and in a correct version. If RapidWritght requires setting the Entrypoints could be added simply as separate scripts. Is this an option, or do we need to be able to run these exact commands in the conda env (e.g. because some software runs it and cannot be adjusted easily)? One question is "which java to use". I am not sure if it would be easy to force the closed part to use the one from conda. But we could start with using the system one, not adding java to conda package deps.
|
That all sounds reasonable. I did make a typo in my first message. The environment variable needed is Yesterday I added https://github.com/Xilinx/RapidWright/blob/interchange/scripts/invoke_rapidwright.sh to make it easier to invoke RapidWright entry points. With the new script the examples from above become:
If the current answer is going to be "the user has to supply a copy of RapidWright", then we could also just say that the user has to provide a Java runtime too. Not a great story for a packaging perspective, but consistent with the Vivado story.
|
As part of the FPGA interchange work, RapidWright needs to be packaged for use. RapidWright has two parts, a closed portion and an open portion. The closed portion is not a permissible library, and cannot be repackaged for distribution. The open portion is permissibly licensed (Apache 2.0) and can be packaged for distribution.
This issue is for tracking creating a conda package that packages the open portion of RapidWright for distribution, and provides a way to invoke entry points from the open portion. The closed portion of RapidWright needs to be installed by the end user somehow. It is unclear best to provide an "installable" conda package for the closed portion of RapidWright.
Ideas:
Manually installing RapidWright today:
git clone https://github.com/Xilinx/RapidWright.git
cd RapidWright
git checkout interchange
make update_jars
Entry points to support:
bash -c "source bin/rapidwright_classpath.sh && java com.xilinx.rapidwright.interchange.PhysicalNetlistToDcp $1 $2 $3 $4"
bash -c "source bin/rapidwright_classpath.sh && java com.xilinx.rapidwright.interchange.PhysicalNetlistExample $1 $2"
Additional notes:
rapidwright_classpath.sh
is currently created by the RapidWright Makefile to do this, by setting theCLASSPATH
environment variable.RAPIDWRIGHT_PATH
.The text was updated successfully, but these errors were encountered: