Continue to Site

Welcome to

Welcome to our site! 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.

Which one is better TCL or Perl ?

Not open for further replies.


Full Member level 6
Mar 28, 2002
Reaction score
Trophy points
Some where
Activity points
TCL vs Perl

Which one is better? Can TCL/Tk do any thing that perl can't? Should we learn both of them well?

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 wanted only to know, which one is more required for an ASIC/FPGA designer. TCL or perl. I have to decide to begin learning one now.

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.
and ...
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.

Long live TCL...


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"

TCL vs perl

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.

:bye: XaR

TCL/TK frontend and perl Motor.

I have done such a app once: a TCL/TK built window would costumize the command line arguments to a perl script. Best of both worlds, I tell you!

Did it work? Like a charm. The purists that thought it should be done i C (and had an head start over me) are probably still dealing with bugs.


**broken link removed** provides an interesting discussion into TCL vs Perl.

TCL seems to be the language of EDA industry. It's first. Mr. Osterhout did an excellent job. Perl is better for parsing. Phyton has very good libraries.

hope it helps


We have now object oriented perl, do we have any object oriented Tcl?

yes we do ! itcl - incremental tcl. but I believe that you will not need that immediately. basic TCL will satisfy most of your parsing and automation tasks in EDA.


Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to