You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
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
The text was updated successfully, but these errors were encountered: