Installation
There are two ways of installing the FVM:
Installing from pip
The recommended way of installing the FVM is to install it from the Python Package Index (PyPI), using pip:
pip3 install --pre fvm-formal
Here, we use the --pre flag to tell pip to include development and release
candidate versions in its search. After 1.0.0 becomes stable, we can stop
using the --pre flag.
Note
In recent pip versions you may need to create a python virtual environment
(venv), or else you will get an “externally-managed-environment” error
when trying to install packages using pip.
The following code:
python3 -m venv venv # Create the venv in the venv folder
source venv/bin/activate # Activate the newly created venv
will create a venv and activate it in the current shell. With the
venv activated, pip3 install will install the FVM inside the venv.
See https://docs.python.org/3/tutorial/venv.html for details.
Installing from the git repository
Installing from the repository allows to perform an editable installation
(passing the -e flag to pip3 install), so you can modify the python sources
and the changes will be immediately available.
This option is also interesting if you want a specific version that was not tagged and pushed on PyPI, for example if you need to check out a specific commit, branch or tag.
git clone https://gitlab.com/fvmformal/fvm.git
pip3 install -e fvm
Note
The FVM is also available on github:
git clone https://github.com/fvmformal/fvm.git
pip3 install -e fvm
Note
The -e option tells python that the FVM sources reside in the recently
cloned fvm directory. If you intend to remove that directory, you should
remove the -e flag, but of course in that case the installation will not
be editable.
Non-python dependencies
All python dependencies should be correctly managed by pip when you install
the FVM. Nevertheless, there are two non-python dependencies which you should
make sure you have in your system:
The actual formal tools: The FVM currently only supports the Questa formal tools (and the Questa OneSim simulator to compute simulation code coverage). You should have the tools installed in the system and the executables (
qverify,vlib,vcom,vsim, etc) in yourPATH, and of course a valid license.Java: The FVM uses Allure Report to create beautiful HTML reports with the formal verification results. The FVM framework will download and use a specific release of Allure Report when needed. This framework is based on Java, so if you want to be able to create and view the reports you will need to install it, for example you can install the Open Java Development Kit (OpenJDK):
On Debian 13:
sudo apt install openjdk-11-jre
On Rocky Linux 8:
sudo yum install java-1.8.0-openjdk