Skip to content
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

Document how to update/override specific tools #299

Open
umarcor opened this issue May 19, 2022 · 0 comments
Open

Document how to update/override specific tools #299

umarcor opened this issue May 19, 2022 · 0 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@umarcor
Copy link
Contributor

umarcor commented May 19, 2022

Repositories in the F4PGA ecosystem use Conda for setting up the environment including all the required tools/dependecies. Conda allows pinning each of them, so the whole environment is known to play nicely alltogether. Nonetheless, there are use cases which require changing the version of some tool, or using an installation from outside the Conda environment. For instance, a user finds a bug, it is fixed in a feature branch and wants to test it before it is upstreamed. The procedure to update/override the environment depends on which tool/dependency needs to be updated, and what's the upstreaming status.

Typically, bugs in tools such as Yosys, Surelog or VPR are to be reported upstream. When fixed, the Conda packages are updated in hdl/conda-eda and pushed to the repositories. The procedure to update arch-defs packages (if necessary) and to then bump the dependencies in this repo should be almost automatic and relatively fast (24-48h). However, we might document how can users bump an specific package in conda-lock.yml (https://github.com/SymbiFlow/f4pga-arch-defs/blob/main/conda_lock.yml) / environment.yml (https://github.com/chipsalliance/f4pga-examples/blob/main/xc7/environment.yml).

Alternatively, users might want to build some tools themselves, instead of waiting for the Conda packages to be updated. It is possible to override the tools by just setting the locations at the beginning of the PATH. We should document how to do it (before/after activating the environment), and probably have a dummy CI test for such use case.

Overall, this knowledge is not exclusive to this repository. Despite most users not being expected to tinker with the arch-defs repo, those willing to contribute to support new architectures or to enhance the current arch documentation would certainly use this knowledge. Therefore, we might want to add it into the the main documentation (https://f4pga.readthedocs.io), rather than here or in arch-defs.

Ref: chipsalliance/f4pga#429

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant