Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
As a developer in both perl and Tcl, I have found python to have more or less the best of both worlds.
However, I am yet to find something that beats perl in it's own game (text processing) ot Tcl in C interfacing or GUI building. I have done, incidently, a project with both languages (a GUI in TCL/TK would call a perl script with all command line arguments), back in 1995.
As an engineer, python provides me with complex, matrix manipulation and good interface to C libraries (both with SWIG and the pygtk-codegen.)
It's really up to you to measure up the strong points of the languages based on the work you have to do.
Could you provide an insight on what you really want?
I have never heard of FPGA or similar stuff being programmed in Tcl or Perl. Actually, you should learn Visual Basic for Applications if you intend to work on normal *winblows* packages like Protel. Eagle in Linux uses unfortunately it's own language, and it does not do FPGA. Can you tell me if there is another tool that uses TCL or PERL?
I am afraid I am missing your point completely. Can you be more specific.
You can run Synopsys DC using a Tcl command shell, with no problem. So a Tcl script runs dc and does the synthesis for you automatically.
You can run Synplify using Tcl.
ModelSim shell is in Tcl.
Most of the work which HDS does, are mainly Tcl scripts.
You can add many new capabilities to these EDA tools, if you know Tcl and perl well. But I didn't know, which one Tcl or perl is more important.
And I wanted someone to help.
In this context, TCL or PERL is not to program the FPGA, but to control the tools involved in its design flow.
In my knowledge, all the tools I know that are involved in this flow can not only be controlled through TCL scripts: you can in fact customize the tools: simulators, synthesizers and place and routers. Mode|sim is the perfect example: all its environment is TCL based and can be TCL-customized.
In this context, it is easy understand that TCL is almost becoming "like a standard" in this EDA tools: all of them incorporate the interpreter to run TCL and propietary commands. And not PERL commands nor PERL interpreter. I don`t know why TCL and not PERL, but this is the reality.
Is this sentence correct: "Tcl is mainly used when you want to automate your tasks in an application, or when you want to add more capabilities to it. Tcl is mainly used inside applications." Then "Perl is mainly used when you want to do some large amount of work (which can be automated) outside of your app"
Modelsim, Synplify, and Quartus all support tcl scripting.... whne you get tired of driving them via the Gui... you'll probably wind up writing some TCL scripts to run them from the command line.
We use Perl scripts to sort through output message files and filter invalid warnings from the timing rpt files... but not for a lot else.
I wish more tools had TCL or python interpreters embedded.
I for once have sugested the developers of VariCAD and Cadsoft to provide TCL or python or GUILE or something standard and free embedded in them. Just imagine being able to export your Eagle PCB to be rendered in a graphics program, or being able to schedule a simple task to an event of another program, like for instance running a simulation after you have provided it with data coming from your SpiffSimGen python script.
TCL is probably a good choice: it is so simple that you can generate it with another script, like a PERL script. I would prefer python or some dialect of LISP, but TCL will do. I just wish more tools were made that way. Just remember that even the foul language Visual Basic for Apps will do a good job connecting WINBLOWS apps together.
If only the developers were aware how simple it is to integrate such an inperpreter in their applications...
i dont know much about TCL/TK but as far as Perl is concered i haven't seen such a powerfull scripting laguage yet ....
Perl is good if u want to automate the tasks and is reallly more usefull if u need to modify or process text files. U can automatically generate the code as well which is used extensively in EDA to generate VHDL & Verilog code as per the requirement ....
One more advantage of perl is it's short learning cuve ...
but certainly Perl programs and TCL/TK frontend GUI would be gr8 combination.