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,
What use of Python, Perl in FPGA development?
Started by ●July 3, 2014
Reply by ●July 3, 20142014-07-03
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
Reply by ●July 3, 20142014-07-03
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
Reply by ●July 3, 20142014-07-03
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
Reply by ●July 3, 20142014-07-03
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.comWOW! 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!
Reply by ●July 4, 20142014-07-04
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 ThomasThank 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
Reply by ●July 4, 20142014-07-04
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 ThomasHi, 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
Reply by ●July 4, 20142014-07-04
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 126On 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,
Reply by ●July 4, 20142014-07-04
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/hdlmakeIt is the path for the hdlmake executable.
Reply by ●July 4, 20142014-07-04
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.





