Electronic System Design Group
Installation¶
FPGAFlow
has been developed for use in a Linux based environment.
Prerequisites¶
Required Software¶
The following software is required:
- |
Version |
---|---|
python | >= 2.7.14 |
pipenv | >= 2018.05.18 |
svn | >= 1.9.0 |
git | >= 1.8.0 |
Python Modules¶
Python Modules are handled by pipenv
and stored in: ./scripts/python/fpgaflow/Pipfile
Module | Version |
---|---|
breathe | 4.11.0 |
colorlog | 3.1.4 |
doxypypy | 0.8.8.6 |
gitpython | 2.1.11 |
logging | 0.4.9.6 |
lxml | 4.3.0 |
numpy | 1.16.0 |
pygments | 2.2.0 |
pyyaml | 3.13 |
releases | 1.6.1 |
sphinx-rtd-theme | 0.4.2 |
sphinx | 1.8.2 |
svn | 0.3.46 |
vunit_hdl | 4.0.8 |
Additional Modules¶
The modules below can be installed from $REPO_ROOT/tools/<MODULE>/scripts/python/<MODULE>-<ORG>/dist/
using the *.tar.gz
sdist source file.
pipenv_installer.py is provided in $REPO_ROOT/tools/<MODULE>/scripts/python/utils
to aid the
installation of additional modules from $REPO_ROOT/tools
. See Utils.
Module | Version |
---|---|
xml2vhdl-ox | 0.1.16 |
Installed Tools¶
FPGAFlow
assumes at least one version of either of the following tools are installed on the system where
FPGAFlow
is executed from:
- Xilinx Vivado
- Intel PSG Quartus Prime
FPGAFlow
assumes at least one version of each of the following tools are installed on the system where
FPGAFlow
is executed:
- Modelsim
- doxygen
- graphviz
Paths and licensing for these tools are configured in the config.yaml
file passed to FPGAFlow
using
the --config
argument (see Configuration for details).
Required Environment Variables¶
The following Environment Variables are required by FPGAFlow
. These ensure that no personal locations are
stored in version management systems (see: required:).
REPO_ROOT
- Sets the top-level root path where all projects/libraries will be checkout out to and processed from.
BITBUCKET_USERNAME
- The username used to access user controlled private
git
cloud hosted repositories. GIT_USERNAME
- The username used to access user controlled private
git
server hosted repositories. SVN_USERNAME
- The username used to access user controlled private
subversion
repositories. PIPENV_SHELL
- Path to the executable for the shell
pipenv
should run. SIM_PRE_COMPILED_LIBS_PATH
- The root path to precompiled Modelsim libraries.
Installation Instructions¶
- Checkout/Clone
FPGAFlow
andxml2vhdl
from their repositories:
git clone https://$BITBUCKET_USERNAME@bitbucket.org/mjroberts/fpgaflow.git $REPO_ROOT/tools/fpgaflow
git clone https://$BITBUCKET_USERNAME@bitbucket.org/ricch/xml2vhdl.git $REPO_ROOT/tools/xml2vhdl
- Create or Modify Configuration YAML file to add tool paths, versions and license paths to:
$REPO_ROOT/tools/fpgaflow/scripts/python/fpgaflow/config/<YOUR_CONFIG>.yml
(see Configuration for details). - Create or Modify Settings YAML file to define project:
$REPO_ROOT/tools/fpgaflow/settings/<YOUR_SETTINGS>.yml
(see Settings for details). - Navigate to path where
FPGAFlow
will be executed. - Install the python virtual environment using
pipenv_installer.py
(see pipenv_installer.py) ensuring the version of python meets the Prerequisites.
pipenv_installer.py xml2vhdl-ox fpgaflow-stfc
- Run
FPGAFLow
usingpipenv
inshell
orrun
:
pipenv shell
python ./projectflow.py --config ./config/<YOUR_CONFIG>.yml --settings ../../../settings/<YOUR_SETTINGS>.yml
## Or:
pipenv run python ./projectflow.py --config ./config/<YOUR_CONFIG>.yml --settings ../../../settings/<YOUR_SETTINGS>.yml