FPGARelated.com
Forums

What use of Python, Perl in FPGA development?

Started by fl July 3, 2014
Hi,

I often see some FPGA positions requiring Python, Perl. What use of these 
scripting language? I know TCL used in FPGA tool chain. I am very curious 
about it?

Thanks,

Hi,
Around the tools (that indeed have usually TCL included) are often a wide variety of additional scripts to help you automate your designflow in several aspects (eg. code generators, make-mechanism, filter tool reports, manage regression tests,.... ).

For these scripts is usually Phyton and Perl required, as TCL is not very compfortable.

regards Thomas
One example is the hdlmake project[1]: a very nice HDL project manager, bui=
ld in Python. It allows you to flexibly manage multi-language and multi-pla=
taform projects.

Another example is MyHDL[2], a python-based HDL code generator[2].

[1] http://www.ohwr.org/projects/hdl-make
[2] http://www.myhdl.org/

Le jeudi 3 juillet 2014 08:16:55 UTC-3, Thomas Stanka a =E9crit=A0:
> Hi, >=20 > Around the tools (that indeed have usually TCL included) are often a wide=
variety of additional scripts to help you automate your designflow in seve= ral aspects (eg. code generators, make-mechanism, filter tool reports, mana= ge regression tests,.... ).
>=20 >=20 >=20 > For these scripts is usually Phyton and Perl required, as TCL is not very=
compfortable.
>=20 >=20 >=20 > regards Thomas
On 03/07/2014 14:20, Aylons Hazzud wrote:
> One example is the hdlmake project[1]: a very nice HDL project manager, build in Python. It allows you to flexibly manage multi-language and multi-plataform projects. > > Another example is MyHDL[2], a python-based HDL code generator[2]. > > [1] http://www.ohwr.org/projects/hdl-make > [2] http://www.myhdl.org/ >
Here is another one: http://potentialventures.github.io/cocotb/ From their website: Why verify in Python? 1) It's easy to interface to other languages from Python 2) Python has a huge library of existing code to re-use like constraint solvers packet parsing/generation libraries. 3) Python is interpreted. Tests can be edited and re-run them without having to recompile the design or even exit the simulator GUI. 4) Writing Python is fast, it's easy to understand and everybody knows it. Aldec has a free webinar on the subject (10/07/14): http://www.aldec.com/en/events/426 Hans www.ht-lab.com
Le jeudi 3 juillet 2014 10:44:48 UTC-3, HT-Lab a =E9crit=A0:
> On 03/07/2014 14:20, Aylons Hazzud wrote: >=20 > > One example is the hdlmake project[1]: a very nice HDL project manager,=
build in Python. It allows you to flexibly manage multi-language and multi= -plataform projects.
>=20 > > >=20 > > Another example is MyHDL[2], a python-based HDL code generator[2]. >=20 > > >=20 > > [1] http://www.ohwr.org/projects/hdl-make >=20 > > [2] http://www.myhdl.org/ >=20 > > >=20 >=20 >=20 > Here is another one: >=20 >=20 >=20 > http://potentialventures.github.io/cocotb/ >=20 >=20 >=20 > From their website: >=20 >=20 >=20 > Why verify in Python? >=20 >=20 >=20 > 1) It's easy to interface to other languages from Python >=20 > 2) Python has a huge library of existing code to re-use like constraint=
=20
>=20 > solvers packet parsing/generation libraries. >=20 > 3) Python is interpreted. Tests can be edited and re-run them without=20 >=20 > having to recompile the design or even exit the simulator GUI. >=20 > 4) Writing Python is fast, it's easy to understand and everybody knows it=
.
>=20 >=20 >=20 > Aldec has a free webinar on the subject (10/07/14): >=20 >=20 >=20 > http://www.aldec.com/en/events/426 >=20 >=20 >=20 > Hans >=20 > www.ht-lab.com
WOW! This is the kind of project what I was looking for my DSP testbenchs! = For some time I had the feeling that Python would be ideal for testbenches,= and this just fits my dream. Thanks for sharing, I'll test it soon!
On Thursday, July 3, 2014 9:20:12 AM UTC-4, Aylons Hazzud wrote:
> One example is the hdlmake project[1]: a very nice HDL project manager, b=
uild in Python. It allows you to flexibly manage multi-language and multi-p= lataform projects.
>=20 >=20 >=20 > Another example is MyHDL[2], a python-based HDL code generator[2]. >=20 >=20 >=20 > [1] http://www.ohwr.org/projects/hdl-make >=20 > [2] http://www.myhdl.org/ >=20 >=20 >=20 > Le jeudi 3 juillet 2014 08:16:55 UTC-3, Thomas Stanka a =E9crit=A0: >=20 > > Hi, >=20 > >=20 >=20 > > Around the tools (that indeed have usually TCL included) are often a wi=
de variety of additional scripts to help you automate your designflow in se= veral aspects (eg. code generators, make-mechanism, filter tool reports, ma= nage regression tests,.... ).
>=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > > For these scripts is usually Phyton and Perl required, as TCL is not ve=
ry compfortable.
>=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > > regards Thomas
Thank you very much. It really looks like an excellent tool. I am still new to Linux.I download the first (hdlmake-v1.0) from the below = 4 files. And put it under ~(Home) directory in Ubuntu 12.04 LTS. I can rename the full hdlmake-v1.0 to hdlmake (as in its tutorial of the author)? hdlmake-v1.0 05/05/2013 15:20 37 kB 184 =09 hdlmake-v1.0-isyp 05/05/2013 15:21 40.8 kB 53 =09 hdlmake-v1.0-isyp.tar.gz 05/05/2013 15:20 220.3 kB 62 =09 hdlmake-v1.0.tar.gz 05/05/2013 15:20 100.5 kB 126
On Thursday, July 3, 2014 7:16:55 AM UTC-4, Thomas Stanka wrote:
> Hi, >=20 > Around the tools (that indeed have usually TCL included) are often a wide=
variety of additional scripts to help you automate your designflow in seve= ral aspects (eg. code generators, make-mechanism, filter tool reports, mana= ge regression tests,.... ).
>=20 >=20 >=20 > For these scripts is usually Phyton and Perl required, as TCL is not very=
compfortable.
>=20 >=20 >=20 > regards Thomas
Hi, I clone the repository, but I don't know what the following command does: $ python path/to/hdlmake/hdlmake "path/to/hdlmake/hdlmake" is the menifest file path, or the Python Tool pat= h? Thanks, ............ Cloning the repository If you prefer to get the source code, you need to have the popular Git vers= ion control system installed on your machine; if you don't, this page offer= s details on how you can configure Git to clone our repositories. Assuming = you have Git installed, running the following will clone (download all file= s in the) repository to a folder named hdlmake under your /home/user_name/ = folder: $ git clone git://ohwr.org/misc/hdl-make.git hdlmake Now you're almost ready to go. You can run hdlmake by changing directory to= a desired location and running $ python path/to/hdlmake/hdlmake
On Friday, July 4, 2014 8:20:34 AM UTC-4, fl wrote:
> On Thursday, July 3, 2014 9:20:12 AM UTC-4, Aylons Hazzud wrote: >=20 > > One example is the hdlmake project[1]: a very nice HDL project manager,=
build in Python. It allows you to flexibly manage multi-language and multi= -plataform projects.
>=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > > Another example is MyHDL[2], a python-based HDL code generator[2]. >=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > > [1] http://www.ohwr.org/projects/hdl-make >=20 > >=20 >=20 > > [2] http://www.myhdl.org/ >=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > > Le jeudi 3 juillet 2014 08:16:55 UTC-3, Thomas Stanka a =E9crit=A0: >=20 > >=20 >=20 > > > Hi, >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > Around the tools (that indeed have usually TCL included) are often a =
wide variety of additional scripts to help you automate your designflow in = several aspects (eg. code generators, make-mechanism, filter tool reports, = manage regression tests,.... ).
>=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > For these scripts is usually Phyton and Perl required, as TCL is not =
very compfortable.
>=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > regards Thomas >=20 >=20 >=20 > Thank you very much. It really looks like an excellent tool. >=20 >=20 >=20 > I am still new to Linux.I download the first (hdlmake-v1.0) from the belo=
w 4
>=20 > files. And put it under ~(Home) directory in Ubuntu 12.04 LTS. I can rena=
me
>=20 > the full hdlmake-v1.0 to hdlmake (as in its tutorial of the author)? >=20 >=20 >=20 >=20 >=20 >=20 >=20 > hdlmake-v1.0 05/05/2013 15:20 37 kB 184 =09 >=20 > hdlmake-v1.0-isyp 05/05/2013 15:21 40.8 kB 53 =09 >=20 > hdlmake-v1.0-isyp.tar.gz 05/05/2013 15:20 220.3 kB 62 =09 >=20 > hdlmake-v1.0.tar.gz 05/05/2013 15:20 100.5 kB 126
On the author's website, he said: Downloading the compiled executable For downloading the compiled executable, click here and choose one of the f= iles without extension. Download to a location of choice, and you're almost= ready to use it! You can jump directly to the final steps. He said that "choose one of the files without extension". Is it this one: hdlmake-v1.0 05/05/2013 15:20 37 kB 184=20 In which directory do you put it? I am using Ubuntu 12.04. Thanks,
Le vendredi 4 juillet 2014 18:55:57 UTC-3, fl a =E9crit=A0:
> On Thursday, July 3, 2014 7:16:55 AM UTC-4, Thomas Stanka wrote: >=20 > > Hi, >=20 > >=20 >=20 > > Around the tools (that indeed have usually TCL included) are often a wi=
de variety of additional scripts to help you automate your designflow in se= veral aspects (eg. code generators, make-mechanism, filter tool reports, ma= nage regression tests,.... ).
>=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > > For these scripts is usually Phyton and Perl required, as TCL is not ve=
ry compfortable.
>=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > > regards Thomas >=20 >=20 >=20 > Hi, >=20 >=20 >=20 > I clone the repository, but I don't know what the following command does: >=20 >=20 >=20 > $ python path/to/hdlmake/hdlmake >=20 >=20 >=20 >=20 >=20 > "path/to/hdlmake/hdlmake" is the menifest file path, or the Python Tool p=
ath?
>=20 >=20 >=20 >=20 >=20 >=20 >=20 > Thanks, >=20 >=20 >=20 >=20 >=20 > ............ >=20 > Cloning the repository >=20 >=20 >=20 > If you prefer to get the source code, you need to have the popular Git ve=
rsion control system installed on your machine; if you don't, this page off= ers details on how you can configure Git to clone our repositories. Assumin= g you have Git installed, running the following will clone (download all fi= les in the) repository to a folder named hdlmake under your /home/user_name= / folder:
>=20 >=20 >=20 > $ git clone git://ohwr.org/misc/hdl-make.git hdlmake >=20 >=20 >=20 > Now you're almost ready to go. You can run hdlmake by changing directory =
to a desired location and running
>=20 >=20 >=20 > $ python path/to/hdlmake/hdlmake
It is the path for the hdlmake executable.
Le vendredi 4 juillet 2014 19:15:14 UTC-3, fl a =E9crit=A0:
> On Friday, July 4, 2014 8:20:34 AM UTC-4, fl wrote: >=20 > > On Thursday, July 3, 2014 9:20:12 AM UTC-4, Aylons Hazzud wrote: >=20 > >=20 >=20 > > > One example is the hdlmake project[1]: a very nice HDL project manage=
r, build in Python. It allows you to flexibly manage multi-language and mul= ti-plataform projects.
>=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > Another example is MyHDL[2], a python-based HDL code generator[2]. >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > [1] http://www.ohwr.org/projects/hdl-make >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > [2] http://www.myhdl.org/ >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > Le jeudi 3 juillet 2014 08:16:55 UTC-3, Thomas Stanka a =E9crit=A0: >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > > Hi, >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > > Around the tools (that indeed have usually TCL included) are often =
a wide variety of additional scripts to help you automate your designflow i= n several aspects (eg. code generators, make-mechanism, filter tool reports= , manage regression tests,.... ).
>=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > > For these scripts is usually Phyton and Perl required, as TCL is no=
t very compfortable.
>=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > >=20 >=20 > >=20 >=20 > > >=20 >=20 > >=20 >=20 > > > > regards Thomas >=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > > Thank you very much. It really looks like an excellent tool. >=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > > I am still new to Linux.I download the first (hdlmake-v1.0) from the be=
low 4
>=20 > >=20 >=20 > > files. And put it under ~(Home) directory in Ubuntu 12.04 LTS. I can re=
name
>=20 > >=20 >=20 > > the full hdlmake-v1.0 to hdlmake (as in its tutorial of the author)? >=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > > hdlmake-v1.0 05/05/2013 15:20 37 kB 184 =09 >=20 > >=20 >=20 > > hdlmake-v1.0-isyp 05/05/2013 15:21 40.8 kB 53 =09 >=20 > >=20 >=20 > > hdlmake-v1.0-isyp.tar.gz 05/05/2013 15:20 220.3 kB 62 =09 >=20 > >=20 >=20 > > hdlmake-v1.0.tar.gz 05/05/2013 15:20 100.5 kB 126 >=20 >=20 >=20 > On the author's website, he said: >=20 >=20 >=20 > Downloading the compiled executable >=20 >=20 >=20 > For downloading the compiled executable, click here and choose one of the=
files without extension. Download to a location of choice, and you're almo= st ready to use it! You can jump directly to the final steps.
>=20 >=20 >=20 > He said that "choose one of the files without extension". Is it this one: >=20 >=20 >=20 > hdlmake-v1.0 05/05/2013 15:20 37 kB 184=20 >=20 >=20 >=20 >=20 >=20 > In which directory do you put it? I am using Ubuntu 12.04. >=20 >=20 >=20 > Thanks,
You may put it wherever it works best for you. When invoking the tool, you = just have to make sure to use the full path. Later, if you want to, you may put the directory in the $PATH environment v= ariable so you won't have to use the full path every time you use the tool.= Google how to do it, it is a very common task.