|
|
# Setting up Libre-FDATool
|
|
|
|
|
|
## Will you take the yellow or the green pill?
|
|
|
There are two alternative ways of getting Libre-FDATool up and running.
|
|
|
It can be installed on a Python environment as a stand-alone module or
|
|
|
deployed as a Virtual Appliance.
|
|
|
|
|
|
While Python 2.6 and greater is a very stable and well tested
|
|
|
environment, Python 3.x is the future of Python programming (Python 2.x
|
|
|
is not longer in active development).
|
|
|
## Standalone Mode
|
|
|
|
|
|
This situation is inherited by hardware development using Python, where
|
|
|
there exists a stable and full-featured solution for 2.x (MyHDL) and a
|
|
|
lighter and newer one for 3.x (Migen). Both of them have an active
|
|
|
community around.
|
|
|
In order to run, Libre-FDATool needs a working Python environment with a
|
|
|
collection of already configured scientific
|
|
|
packages.
|
|
|
|
|
|
You may choose if you want to use a *Python 2.x* MyHDL+ or *Python 3.x*
|
|
|
Migen+ setup, but the selection you made, will determine the available
|
|
|
functionalities on your hardware development toolchain.
|
|
|
\>![](/uploads/4d99518fac350260d1f53a52111bc447/logo_matlotlib_64.png)
|
|
|
\>![](/uploads/17e4fdd09d68d1ec003e49f8cc019a8b/NumPy_logo.png)
|
|
|
![](/uploads/34f3ac2e58c0a477b96e3868d02418ae/scipy_logo_text.png)
|
|
|
\>![](/uploads/f983470c64ada11df557c8431b6361fb/logo_icarus_64.png)
|
|
|
![](/uploads/210d5ad9e9faeb270af84a8074da4700/logo_gtkwave_64.png)
|
|
|
|
|
|
Use this table for checking your intended Host OS and Python version and
|
|
|
choosing the appropriate Python toolchain version. **Follow the links in
|
|
|
O.S. support for O.S specific installation
|
|
|
guides**:
|
|
|
|
|
|
## Yellow:= Python 2.x + MyHDL
|
|
|
|
|
|
\>![](/uploads/fca076d307be71784993e3ea36efc75b/python_logo_mini.png)
|
|
|
![](/uploads/35c3b5a879ee56ccb344b86f065f6ae8/logo_myhdl_mini.png)
|
|
|
\>**Python Version:**
|
|
|
\>\>2.6 / 2.7
|
|
|
\>**Scientific Packages:**
|
|
|
\>\>NumPy / SciPy / MatPlotLib
|
|
|
\>**Hardware Packages:**
|
|
|
\>\>MyHDL / Libre-FDATool
|
|
|
\>**HDL Support:**
|
|
|
\>\>VHDL / Verilog / MyHDL (Python)
|
|
|
Follow the next links for different Operating System install
|
|
|
guidelines:
|
|
|
\>**O.S.
|
|
|
Support:**
|
|
|
\>\>Windows7
|
... | ... | @@ -39,63 +25,30 @@ Support:** |
|
|
\>\>Ubuntu \>=
|
|
|
12.04
|
|
|
\>\>\>[Installing-Python-HDL-Toolchain-2.x-on-Ubuntu](Installing-Python-HDL-Toolchain-2.x-on-Ubuntu)
|
|
|
\>\>\>[Installing-Python-HDL-Toolchain-3.x-on-Ubuntu](Installing-Python-HDL-Toolchain-3.x-on-Ubuntu)
|
|
|
\>\>Debian 6 /
|
|
|
7
|
|
|
\>\>\>[Installing-Python-HDL-Toolchain-2.x-on-Debian](Installing-Python-HDL-Toolchain-2.x-on-Debian)
|
|
|
\>\>\>[Installing-Python-HDL-Toolchain-3.x-on-Debian](Installing-Python-HDL-Toolchain-3.x-on-Debian)
|
|
|
\>\>SL6 / RHEL6 /
|
|
|
CENTOS6
|
|
|
\>\>\>[Installing-Python-HDL-Toolchain-2.x-on-SL6](Installing-Python-HDL-Toolchain-2.x-on-SL6)
|
|
|
|
|
|
## Green:= Python 3.x + Migen
|
|
|
|
|
|
\>![](/uploads/fca076d307be71784993e3ea36efc75b/python_logo_mini.png)
|
|
|
![](/uploads/952fec2bfa42ad9bc8e8e8c3a0452091/logo_migen_mini.png)
|
|
|
\>**Python Version:**
|
|
|
\>\>3.2 / 3.3
|
|
|
\>**Scientific Packages:**
|
|
|
\>\>NumPy / SciPy / MatPlotLib
|
|
|
\>**Hardware Packages:**
|
|
|
\>\>Migen / Libre-FDATool
|
|
|
\>**HDL Support:**
|
|
|
\>\>VHDL / Verilog / FHDL (Python)
|
|
|
\>**O.S. Support:**
|
|
|
\>\>Ubuntu \>=
|
|
|
12.04
|
|
|
\>\>\>[Installing-Python-HDL-Toolchain-3.x-on-Ubuntu](Installing-Python-HDL-Toolchain-3.x-on-Ubuntu)
|
|
|
\>\>Debian 6 /
|
|
|
7
|
|
|
\>\>\>[Installing-Python-HDL-Toolchain-3.x-on-Debian](Installing-Python-HDL-Toolchain-3.x-on-Debian)
|
|
|
\>\>Fedora
|
|
|
18
|
|
|
\>\>\>[Installing-Python-HDL-Toolchain-2.x-on-SL6](Installing-Python-HDL-Toolchain-2.x-on-SL6)
|
|
|
\>\>\>[Installing-Python-HDL-Toolchain-3.x-on-Fedora](Installing-Python-HDL-Toolchain-3.x-on-Fedora)
|
|
|
|
|
|
## Component Description
|
|
|
|
|
|
### Python Version
|
|
|
|
|
|
- Python is a general-purpose, high-level programming language whose
|
|
|
design philosophy emphasizes code readability. Libre-fdatool works
|
|
|
both in Python 2.x and Python 3.x installs.
|
|
|
|
|
|
### Scientific packages
|
|
|
|
|
|
- Libraries like NumPy, SciPy and Matplotlib allow Python to be used
|
|
|
effectively in scientific computing. Libre-fdatool relies in those
|
|
|
three packages in order to make theoretical calculations and to
|
|
|
perform the analysis of the designed filters.
|
|
|
|
|
|
### Hardware Package
|
|
|
## Libre-FDASys Virtual Appliance
|
|
|
|
|
|
- Python may be used as a high-productivity HDL (Hardware Description
|
|
|
Language) if used with the appropiate packages and third party
|
|
|
tools. Libre-fdatool makes use of MyHDL for Python 2.x setups and
|
|
|
Migen for 3.x ones for filter design & analysis. In both cases,
|
|
|
Icarus Verilog is used to perform simulation of generated code.
|
|
|
Despite the fact that the Libre-FDATool is intended for being extremely
|
|
|
easy to use, involving a quasi negligible learning curve, setting up all
|
|
|
the required components may suppose a real pain -- unfortunately, this
|
|
|
is a well known issue in the world of Open-Software.
|
|
|
|
|
|
### O.S. Support
|
|
|
When deploying the Libre-FDATool and its associated environment across
|
|
|
different Operating Systems, we can find issues and differences not only
|
|
|
in the installation process, but in the behavior of the full system
|
|
|
depending on the versions of the required packages.
|
|
|
|
|
|
- We are going to try supporting Libre-FDATool and its associated
|
|
|
Python toolchains in as many Operative Systems & CPUs as possible.
|
|
|
We will update the table above with new support data in a regular
|
|
|
basis.
|
|
|
The Libre-FDATool has been included inside a Virtual Appliance that
|
|
|
includes all the required functionality, from the scientific Python
|
|
|
environment to the extra EDA tools: the Libre-FDASys
|
|
|
\>[Libre-FDASys-Virtual-Appliance](Libre-FDASys-Virtual-Appliance)
|
|
|
|