Setting up Libre-FDATool
Will you take the yellow or the green pill?
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). Both of them have an active community around.
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.
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
https://www.ohwr.org/2057
https://www.ohwr.org/2055
>Python Version:
>>2.6 / 2.7
>Scientific Packages:
>>NumPy / SciPy / MatPlotLib
>Hardware Package:
>>MyHDL
>>Libre-FDATool
>O.S.
Support:
>>Windows7
>>>Installing-Python-2.x-on-Windows
>>Ubuntu >=
12.04
>>>Installing-Python-2.x-on-Ubuntu
>>Debian 6 /
7
>>>Installing-Python-2.x-on-Debian
>>SL6 / RHEL6 / CENTOS6
>>>Installing-Python-2.x-on-SL6
Green:= Python 3.x + Migen
https://www.ohwr.org/2057
https://www.ohwr.org/2056
>Python Version:
>>3.2 / 3.3*
>Scientific Packages:
>>NumPy / SciPy / MatPlotLib
>Hardware Package:
>>Migen
>>Libre-FDATool
>O.S. Support:
>>Ubuntu >=
12.04
>>>Installing-Python-3.x-on-Ubuntu
>>Debian 6 /
7
>>>Installing-Python-3.x-on-Debian
>>Fedora 18
>>>Installing-Python-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
- 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.
O.S. Support
- 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.