Depending on how you are planning to use the ForSyDe-Deep libraries, you might need to fulfill some prerequisites. Before installing, please check for the following dependencies:
These are required to acquire, install and use the base ForSyDe-Deep libraries:
Git if you want to clone the whole repository, and not just download the sources.
Using the Intel (Altera) Quartus Tool Suite
The ForSyDe-Deep library provides a number of utility functions which plug ForSyDe designs into Intel (formerly Altera) FPGA development flows, by calling tools such as Quartus or ModelSim. Needless to say, if you plan to use these utilities, you need to install them and make sure the binaries can be accessed from your system
PATH. Otherwise, the installation will complain that it cannot see these tools and will provide further instructions.
Additionally the open-source VHDL simulator Ghdl is supported from version ghdl-0.33 onward.
Visualizing GraphML structures
GraphML is one of the formats dumped by ForSyDe-Deep. To visualize the process network structures, any GraphML visualizing tool would do, however we recommend yEd provided by yWorks. We include some tips on how to use this tool in one of our tutorials.
ForSyDe depends on GHC versions 7.10.3 or 8.0.1 due to the use of numerous extensions, namely Template Haskell (TH). As such, all tools associated with the GHC compiler suite need to be compatible with these versions, especially the
For synthesis and simulation of the generated VHDL the Altera toolchain is supported. This package can be installed with:
Cabal, provided you have installed the right version of GHC and its dependent
cabal-installpackage using the commands:
cabal install # --with-ghc=path/to/ghc-version # installs forsyde-deep cabal haddock # generates documentation. Needs Haddock > 2.0
Stack, which takes care of all dependencies and installs everything (including the compiler) in a sandboxed environment:
stack install # installs forsyde-deep stack haddock # generates documentation
either Cabal or Stack directly from HackageDB. However, for this to work, you need to either:
- have the right prerequisites installed (see above)
- write a proper
stack.ymlconfiguration to help Stack create the proper sandbox environment, along the lines of this one.