• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 624
  • Last Modified:

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

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.

   
0
hemanexp
Asked:
hemanexp
  • 3
  • 3
1 Solution
 
Ulrik_LindbladCommented:
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/Tk.

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:

http://www.tcl.tk/software/tcltk/downloadnow84.tml

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

http://www.tcl.tk/man/tcl8.4/

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

http://www.pconline.com/~erc/tcl_c.htm

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):

http://vtcl.sourceforge.net/

Hope this was of any help,

/Ulrik
0
 
hemanexpAuthor Commented:
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?
0
 
Ulrik_LindbladCommented:
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:

http://www.swig.org/

And please tell me if you find it worth using.

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

http://bach.ece.jhu.edu/~tim/programs/opensource.html
http://www.eedesign.com/resources/opensourcelinks.html
http://www.openeda.org/

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

http://www.opencores.org/

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

Cheers,

/Ulrik




0
Independent Software Vendors: 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!

 
hemanexpAuthor Commented:
  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.

 Thanx
0
 
Ulrik_LindbladCommented:
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?

Cheers,

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

Featured Post

Independent Software Vendors: 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!

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now