Bumping/overriding specific tools¶
Since several of the tools provided through
hdl/conda-* repositories are rapidly evolving projects, users,
contributors or developers might need to tweak the environments.
This section explains various strategies to do so.
Report the issue upstream.
hdl/conda-*repositories build the latest main branches of upstreams. Therefore, the best approach to have a bug fixed or an additional feature is to report an issue upstream.
A developer or a contributor might eventually create a feature branch with the fix/enhancement. There are various solutions to build a variant of a package/tool from a feature branch. See Building Conda packages youself, Building tools manually inside Conda and/or Building/installing tools outside of Conda.
After the fix/enhancement is pushed to the main branch upstream, it should be built in the corresponding
hdl/conda-*repository within 24h. Hence, it is recommended to wait until that is done before bumping the Conda packages downstream.
If the CI job fails, report it in the corresponding
Update/bump the tool in the downstream Conda
environment.ymlfile, or in the sibling
Update/recreate the Conda environment.
Using a different Conda channel¶
Mixing packages from multiple channels (e.g.
defaults) is possible.
However, it might produce library mismatches preventing the environment from being bootstraped.
Building Conda packages youself¶
Build the conda package yourself.
In order to push it somewhere, Conda credentials are required.
Hence, it can be cumbersome and it’s recommended to instead wait for CI in the
hdl/conda-* repos to run.
Building tools manually inside Conda¶
Yosys SystemVerilog plugin¶
The expected usage of the plugin by using the
read_systemverilog command (used by default in F4PGA flow) should work.
When using the plugin by calling
read_uhdm command, take additional care to use the same Surelog and UHDM version for creating and reading the UHDM file - updating only the plugin can create a mismatch in this case.
wget are installed (used to automatically download newest version):
apt install curl jq tar wget
Activate the conda repository for the correct family:
conda activate xc7
Obtain the latest release of the plugin from here:
curl https://api.github.com/repos/antmicro/yosys-uhdm-plugin-integration/releases/latest | jq .assets | grep "browser_download_url" | grep -Eo 'https://[^\"]*' | xargs wget -O - | tar -xz
Install the plugin using provided installation script.
It will use the
yosys-config from conda, so it will install into the conda environment.
Building/installing tools outside of Conda¶
For development/testing purposes, tools can be optionally built outside of Conda and prepended to the
they are found first.
However, problems related to mismatching system libraries might be expected.
It is strongly recommended to build tools statically if this approach is to be followed.