EDA tool development.............

Posted on 2003-03-22
Medium Priority
Last Modified: 2008-03-17
Hello experts,
    please be patience and read it. i have a question which is not depthly related to the subject(C++). I want to develop a EDA tool that will be used in IC design process. My question is "which language is best for EDA development?". Some people say the best language is C++, some people say VC++ and others BC++. Each language has got its own special (Hope you accept it). As you know in EDA development the most interest and tedious part is "user interface".

  I have studied about the above 3 c++ versions and concluded the followings:

  If we take C++, which is a powerfull language, lacks in graphics application (It means we write lot of codings for creating a screen, mouse operations etc.,).

  In the case of VC++, which is originally developed for graphics application, is giving lot of graphics functions interms of MFC. I created a  small application in VC++ that looks like a "mini EDA tool". In any EDA tool "Editing" plays major role. This means moving the objects, resizing the objects etc.,. When i moved an object from one place to another, my window is flickered a lot. To avoid this i had gone to "memory dc" concept in which a compatible dc is assigned to a bitmap. All works fine untill i found "CreateCompatibleBitmap" was failed. I consulted some experts regarding this problem. They said that if the bit map size exceeds certain limit the function fails. In window 98 if the the bitmap size exceeds       2500 * 2500  it fails.  My application may need  bitmap above this limit.
  In the case of BC++ & OWL i faced same problem.

  How can i rectify the above problem in VC++/BC++? Is vc++/bc++ is the best selection for EDA development?

  When i was surfing i came to know one more combination of languages tool that helps a lot for EDA programmers. The combination is "C++/TCL/TK". But i have no idea about TCL/TK. What they refer? What is their role in EDA developement?

   Let me clear about my software selection and suggest me a sutable one.

   Thanx for reading this big story and expecting your valuable commends.

Question by:hemanexp
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3

Expert Comment

ID: 8186758
Hello Herman (?),

EDA tool design is my interest as well, and even though
I am not into the same things as you (mostly instruction
set simulation and retargetable processor cores) I might
at least be able to provide you with SOME info that
could be of use.

It is true what you say, that a lot of the tools provided
today (software from Mentor Graphics, Cadence etc.) use

Tcl (= Tool Command Language) is, when used together with
Tk (a graphical user interface toolkit), often used
because of it's platform independence. Further more, it
is completely free and you can use it as you wish, even
in commercial software.

You can download it here:


The documentation for Tcl/Tk, and the C libraries:


This page gives a short tutorial, and other interesting info on how to (among other things) use Tcl together with


You should also consider downloading this graphical editor
(I have run it only under Unix, so I don't know if it's
any good under Windows):


Hope this was of any help,


Author Comment

ID: 8194874
Thanx Ulrik.
  Can i get some free EDA tools written in C++/TCL/TK (with source code)? Moreover what SWIG means? What is their role in EDA development?

Expert Comment

ID: 8196945
Hello again,

Lets start with SWIG, I quote:

"SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, Python, Tcl/Tk, Ruby, Guile and MzScheme, however the list of supported languages also includes non-scripting languages such as Java, OCAML, CHICKEN, and C#. SWIG is most commonly used to create high-level interpreted programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG may be freely used, distributed, and modified for commercial and noncommercial use."

I actually have never tried this one myself, but you can find the info here:


And please tell me if you find it worth using.

As for the EDA tools, you might want to check:


Make sure also (even though it might not be exactly what you were looking for this time) not to miss this place:


It contains mostly VHDL and VERILOG implementations, but I am almost 100% sure that you some day will use some of their stuff.



Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 8223727
  Thanx Ulrik. It is correct that SWIG is primarily used with common scripting languages. I will try some programs.  

   My application simply reads a text file which contains some geometry informations (like 4 points of a rectangle) and displays it in graphical format (stack of rectangles).
   I planned to use C/C++ for file processing. But when i studied PERL document (iam new to perl. just now started) i came to know  its powerful scripting capabilities. It provides lot of functions for string manipulation, file handling etc.

 Can i use Perl instead of C/C++ in my application? I hope it is easy to embedding Perl/tk or Perl/GTK than C++/tk. If that is the case Perl is better choice than C/C++? How do u rank Perl compared to C/C++?

 Let me clear my doubts.


Accepted Solution

Ulrik_Lindblad earned 75 total points
ID: 8279247
Hi again,

Sorry for the long delay.

I do not know much about Perl. One of my colleagues at work wrote some program in Perl that we use for comparing
log files. For this he said that Perl is very good (i.e simple to use and easier to maintain/understand than AWK).
Other than that I am not sure. Maybe you could try posting a question about this in the Perl area here at EE?

How is it going btw? You making any progress?



Author Comment

ID: 8406485
Hi Ulrik,
    Thanks a lot for your valuable coments. I adopted perl and Tk for my project. It is a nice combition one.

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: SunnyDark
This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there is…
IntroductionThis article is the second in a three part article series on the Visual Studio 2008 Debugger.  It provides tips in setting and using breakpoints. If not familiar with this debugger, you can find a basic introduction in the EE article loc…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
Suggested Courses

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question