|
|
# Setting up Libre-FDATool
|
|
|
|
|
|
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).
|
|
|
|
|
|
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).
|
|
|
|
|
|
You may choose if you want to use a Python 2.x or Python 3.x setup, but
|
|
|
the selection you made, will determine the available functionalities on
|
|
|
your hardware development toolchain.
|
|
|
|
|
|
Use this table for checking and/or choosing a Python toolchain version:
|
|
|
|
|
|
*Python 2.6 / 2.7**
|
|
|
\>**Hardware Package:**
|
|
|
\>\>MyHDL
|
|
|
\>**O.S. Support:**
|
|
|
\>\>Windows7
|
|
|
\>\>Ubuntu \>= 12.04
|
|
|
\>\>Debian 6 / 7
|
|
|
|
|
|
*Python 3.2 / 3.3**
|
|
|
\>**Hardware Package:**
|
|
|
\>\>Migen
|
|
|
\>**O.S. Support:**
|
|
|
\>\>Ubuntu
|
|
|
\>\>Debian 6 / 7
|
|
|
|
|
|
## How-To
|
|
|
|
|
|
### Installing Python
|
|
|
|
|
|
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.
|
|
|
|
|
|
[Deploying-a-Python-setup](Deploying-a-Python-setup)
|
|
|
|
|
|
### Numerical, Scientific & Plotting 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.
|
|
|
|
|
|
[Installing-Python-scientific-packages](Installing-Python-scientific-packages)
|
|
|
|
|
|
### Setting-up the Hardware Toolchain
|
|
|
|
|
|
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. In both cases, Icarus Verilog is used to perform simulation of
|
|
|
generated code.
|
|
|
|
|
|
[Using-Python-for-HDL-design](Using-Python-for-HDL-design)
|
|
|
|
|
|
### Installing Libre-FDATool package
|
|
|
|
|
|
Once we have a full HDL design toolchain in Python, we are ready to
|
|
|
install Libre-fdatool.
|
|
|
|
|
|
Libre-fdatool is planned to be available both as installable packages
|
|
|
for different OS & source code via git repository.
|
|
|
|
|
|
[Installing-Libre-FDATool](Installing-Libre-FDATool)
|
|
|
|