Summary of Python in Electronic Design Automation (EDA)

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Summary of Python in Electronic Design Automation (EDA)

Stephen McInerney
Here is a summary for anyone who is interested in Python in Electronic
Design Automation (EDA):

As it happens three separate people today independently asked me about the
exact same topic.
So I am writing this because I know for a fact there has been a small
cluster of EDA people who
periodically attend BayPIGgies for at least 2 years, but it seems to ebb and
flow without ever
acquiring critical mass. I have been trying to round up enough heads for a
"Python in EDA" evening for a few years now.

EDA is unfortunately historically dominated by legacy proprietary languages
(Cadence SKILL (a LISP derivative), Synopsys dc-shell, etc.).
Tcl has emerged within the last 8 years to an extent as the de facto
scripting and automation
standard, as endorsed by many EDA vendors. (Believe it or not, that's a huge
advance on what went before).
Essentially, EDA scripting as written by EE's (as opposed to the EDA
software itself, which is written by CS guys) lags best practices in
software (revision control, testing, object-orienting, reuse) by about 25
years typically. This is a pet topic of mine and believe me I can show you
plenty metrics to prove that (see also ISQED conference).

There is no single area of application for Python in EDA but there are
several open areas which are not dominated by any legacy. Python also goes
head-to-head with PERL since PERL is an EE's de facto scripting language of
choice, historically anyway. So writing an imperative style with heavy use
of regexes and eschewing OO is kind of an unfortunate straitjacket
requirement, in order that your colleagues can understand and maintain your
code.
These are the main current areas where Python is used in EDA:

- Python for small tasks, netlist transformations, buffer insertion,
transistor compaction
- Python in testing, builds, automation, job control, webserver logging of
results
- interfacing to the emergent OpenAccess standard for a silicon design
database with an open API (in C++): (http://www.si2.org/?page=69)
- interfacing to or wrapperising C++ APIs or revision control
- small GUIs (usually Tkinter)
- mod_python, mod_perl, Ruby and PHP for internal websites (e.g. regression
results)
- Jan Decaluwe even proposed PyHDL: Python as a design language (HDL):
(http://www.eet.com/news/design/technology/showArticle.jhtml?articleID=177101584)
although that is very uncommon - Verilog(& SystemVerilog) dominate, followed
by VHDL.

Here is a list of former or current BayPIGgies with an interest in Python in
EDA,
based on my personal interactions. Apologies if I get anyone wrong or
omitted:

Stephen McInerney (Sun Microsystems, Magma, Transmeta)
Dennis Reinhardt (DAIR Computer Systems, former chair of HotChips conference
and IEEE chapter head)
Peter Simanyi (Cadence)
Jan Decaluwe (Mephisto Design Automation (MDA), PyHDL, eAsics)
Tim Burks
John Ivie
Andrew Lentvorski

And here is a list of EDA companies known to at least partially use Python:
Synopsys  www.synopsys.com (mainly for testing only)
Magma Design Automation www.magma-da.com (only for some testing and
automation)
Pyxis http://www.pyxistech.com/
Tabula Software
various other OpenAccess partners (mostly small startups)

(A couple of folks had suggested it might be neat to add links pages from
baypiggies.net to
Pythonic companies broken out by sector. That is a good idea for the
future.)

Hope this is useful for people who are interested,
Stephen


_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Talk about Django on Google Video?

Mike Cheponis
It was mentioned that the meeting last night would be videotaped and put on Google Video.

URL?

Thanks.
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Talk about Django on Google Video?

Alex Martelli
On 4/27/06, Mike Cheponis <[hidden email]> wrote:
> It was mentioned that the meeting last night would be videotaped and put on Google Video.
>
> URL?

I believe my worthy googleEdu colleagues will take a few days to edit
and prepare the video before putting it online -- I'll be glad to post
a URL when I do find out about it.


Alex
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Summary of Python in Electronic Design Automation (EDA)

Rick Kwan
In reply to this post by Stephen McInerney
Hmmm.... interesting.

On 4/26/06, Stephen McInerney <[hidden email]> wrote:
> Here is a summary for anyone who is interested in Python in Electronic
> Design Automation (EDA):

(...snip...)

> EDA is unfortunately historically dominated by legacy proprietary languages
> (Cadence SKILL (a LISP derivative), Synopsys dc-shell, etc.).
> Tcl has emerged within the last 8 years to an extent as the de facto
> scripting and automation
> standard, as endorsed by many EDA vendors. (Believe it or not, that's a huge
> advance on what went before).

That's logical.  Tcl was invented by John Ousterhout, who was famous
for VLSI design tools at Berkeley, upon which a lot of industry tools
were based.  Fabulous extensibility compared to anything else around
at the time.  (And then later came Python. :-)

> Essentially, EDA scripting as written by EE's (as opposed to the EDA
> software itself, which is written by CS guys) lags best practices in
> software (revision control, testing, object-orienting, reuse) by about 25
> years typically. This is a pet topic of mine and believe me I can show you
> plenty metrics to prove that (see also ISQED conference).
>
> There is no single area of application for Python in EDA but there are
> several open areas which are not dominated by any legacy. Python also goes
> head-to-head with PERL since PERL is an EE's de facto scripting language of
> choice, historically anyway. So writing an imperative style with heavy use
> of regexes and eschewing OO is kind of an unfortunate straitjacket
> requirement, in order that your colleagues can understand and maintain your
> code.
> These are the main current areas where Python is used in EDA:
>
> - Python for small tasks, netlist transformations, buffer insertion,
> transistor compaction
> - Python in testing, builds, automation, job control, webserver logging of
> results
> - interfacing to the emergent OpenAccess standard for a silicon design
> database with an open API (in C++): (http://www.si2.org/?page=69)
> - interfacing to or wrapperising C++ APIs or revision control
> - small GUIs (usually Tkinter)
> - mod_python, mod_perl, Ruby and PHP for internal websites (e.g. regression
> results)
> - Jan Decaluwe even proposed PyHDL: Python as a design language (HDL):
> (http://www.eet.com/news/design/technology/showArticle.jhtml?articleID=177101584)
> although that is very uncommon - Verilog(& SystemVerilog) dominate, followed
> by VHDL.
>
> Here is a list of former or current BayPIGgies with an interest in Python in
> EDA,
> based on my personal interactions. Apologies if I get anyone wrong or
> omitted:
>
> Stephen McInerney (Sun Microsystems, Magma, Transmeta)
> Dennis Reinhardt (DAIR Computer Systems, former chair of HotChips conference
> and IEEE chapter head)
> Peter Simanyi (Cadence)
> Jan Decaluwe (Mephisto Design Automation (MDA), PyHDL, eAsics)
> Tim Burks
> John Ivie
> Andrew Lentvorski

I did CAD support overseas for Acer Labs' ASIC Division when they
first started in 1987.
Also did a small amount of Perl hacking for cell layout for a shop
that has now disappeared into legend.

> And here is a list of EDA companies known to at least partially use Python:
> Synopsys  www.synopsys.com (mainly for testing only)
> Magma Design Automation www.magma-da.com (only for some testing and
> automation)
> Pyxis http://www.pyxistech.com/
> Tabula Software
> various other OpenAccess partners (mostly small startups)
>
> (A couple of folks had suggested it might be neat to add links pages from
> baypiggies.net to
> Pythonic companies broken out by sector. That is a good idea for the
> future.)
>
> Hope this is useful for people who are interested,
> Stephen

Although I haven't done much in EDA in many years, I will attend a
"Python in EDA" evening.  It seems like the right way for that
industry to go.

And speaking of industry segments, I'd be interested in hearing from
people using Python in aerospace.  I use Python for other things (web
hackery, database interface, etc.), but I talk regularly with lots of
aerospace folks, and am plugged into one technical committee.  The
major languages I see in use are:  C/C++, Java, Matlab, and a bunch of
legacy Fortran.  It seems to be there is immense unexploited
opportunity for Python there, but the people need some education.

--Rick Kwan ([hidden email])
  Associate Fellow, American Institute of Aeronautics and Astronautics (AIAA)
  chair (until end of May), AIAA San Francisco Section
  member, AIAA Computer Systems Technical Committee
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Summary of Python in Electronic Design Automation (EDA)

snowwrite
Interesting that you mention Magma Design Automation.. I worked for
them from June 2004 to November 2004 .. (temporary replacing their
webmaster who was on an extended vacation over the summer).

Their cms at the time was Cuesta Technologies - Web-n-Able - tcl
based. I believe they still use Cuesta for the main site.. Plone for
intranet.

I helped them to convert their intranet (which was a static html site
updated through Dreamweaver) to a Plone environment. Not sure if they
are still using it because I'm not connected anymore.. but they had
quite a Zope setup (zeo cluster) and had written Salesforce API's in
Python... for their sales team.

BTW.. having used a tcl based content management system was quite
interesting but much less featureful than any other one I've used..
could have improved in the last couple of years..but after 3 years (at
that point) of using Plone .. it felt like a step backwards.

Just my input as I worked there as a consultant for awhile and saw
first hand what they use in house.. things coulda changed since then.

Donna M. Snow
C Squared Technologies
technology at the speed of innovation
http://www.csquaredtech.com <--- coming back soon!



On 4/27/06, Rick Kwan <[hidden email]> wrote:

> Hmmm.... interesting.
>
> On 4/26/06, Stephen McInerney <[hidden email]> wrote:
> > Here is a summary for anyone who is interested in Python in Electronic
> > Design Automation (EDA):
>
> (...snip...)
>
> > EDA is unfortunately historically dominated by legacy proprietary languages
> > (Cadence SKILL (a LISP derivative), Synopsys dc-shell, etc.).
> > Tcl has emerged within the last 8 years to an extent as the de facto
> > scripting and automation
> > standard, as endorsed by many EDA vendors. (Believe it or not, that's a huge
> > advance on what went before).
>
> That's logical.  Tcl was invented by John Ousterhout, who was famous
> for VLSI design tools at Berkeley, upon which a lot of industry tools
> were based.  Fabulous extensibility compared to anything else around
> at the time.  (And then later came Python. :-)
>
> > Essentially, EDA scripting as written by EE's (as opposed to the EDA
> > software itself, which is written by CS guys) lags best practices in
> > software (revision control, testing, object-orienting, reuse) by about 25
> > years typically. This is a pet topic of mine and believe me I can show you
> > plenty metrics to prove that (see also ISQED conference).
> >
> > There is no single area of application for Python in EDA but there are
> > several open areas which are not dominated by any legacy. Python also goes
> > head-to-head with PERL since PERL is an EE's de facto scripting language of
> > choice, historically anyway. So writing an imperative style with heavy use
> > of regexes and eschewing OO is kind of an unfortunate straitjacket
> > requirement, in order that your colleagues can understand and maintain your
> > code.
> > These are the main current areas where Python is used in EDA:
> >
> > - Python for small tasks, netlist transformations, buffer insertion,
> > transistor compaction
> > - Python in testing, builds, automation, job control, webserver logging of
> > results
> > - interfacing to the emergent OpenAccess standard for a silicon design
> > database with an open API (in C++): (http://www.si2.org/?page=69)
> > - interfacing to or wrapperising C++ APIs or revision control
> > - small GUIs (usually Tkinter)
> > - mod_python, mod_perl, Ruby and PHP for internal websites (e.g. regression
> > results)
> > - Jan Decaluwe even proposed PyHDL: Python as a design language (HDL):
> > (http://www.eet.com/news/design/technology/showArticle.jhtml?articleID=177101584)
> > although that is very uncommon - Verilog(& SystemVerilog) dominate, followed
> > by VHDL.
> >
> > Here is a list of former or current BayPIGgies with an interest in Python in
> > EDA,
> > based on my personal interactions. Apologies if I get anyone wrong or
> > omitted:
> >
> > Stephen McInerney (Sun Microsystems, Magma, Transmeta)
> > Dennis Reinhardt (DAIR Computer Systems, former chair of HotChips conference
> > and IEEE chapter head)
> > Peter Simanyi (Cadence)
> > Jan Decaluwe (Mephisto Design Automation (MDA), PyHDL, eAsics)
> > Tim Burks
> > John Ivie
> > Andrew Lentvorski
>
> I did CAD support overseas for Acer Labs' ASIC Division when they
> first started in 1987.
> Also did a small amount of Perl hacking for cell layout for a shop
> that has now disappeared into legend.
>
> > And here is a list of EDA companies known to at least partially use Python:
> > Synopsys  www.synopsys.com (mainly for testing only)
> > Magma Design Automation www.magma-da.com (only for some testing and
> > automation)
> > Pyxis http://www.pyxistech.com/
> > Tabula Software
> > various other OpenAccess partners (mostly small startups)
> >
> > (A couple of folks had suggested it might be neat to add links pages from
> > baypiggies.net to
> > Pythonic companies broken out by sector. That is a good idea for the
> > future.)
> >
> > Hope this is useful for people who are interested,
> > Stephen
>
> Although I haven't done much in EDA in many years, I will attend a
> "Python in EDA" evening.  It seems like the right way for that
> industry to go.
>
> And speaking of industry segments, I'd be interested in hearing from
> people using Python in aerospace.  I use Python for other things (web
> hackery, database interface, etc.), but I talk regularly with lots of
> aerospace folks, and am plugged into one technical committee.  The
> major languages I see in use are:  C/C++, Java, Matlab, and a bunch of
> legacy Fortran.  It seems to be there is immense unexploited
> opportunity for Python there, but the people need some education.
>
> --Rick Kwan ([hidden email])
>   Associate Fellow, American Institute of Aeronautics and Astronautics (AIAA)
>   chair (until end of May), AIAA San Francisco Section
>   member, AIAA Computer Systems Technical Committee
> _______________________________________________
> Baypiggies mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/baypiggies
>
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Summary of Python in Electronic Design Automation (EDA)

Andy Wiggin
In reply to this post by Stephen McInerney
You can add me to the EDA interest list (Andy Wiggin, Synopsys). I
would attend an EDA oriented evening.

On 4/26/06, Stephen McInerney <[hidden email]> wrote:

> EDA is unfortunately historically dominated by legacy proprietary languages
> (Cadence SKILL (a LISP derivative), Synopsys dc-shell, etc.).
> Tcl has emerged within the last 8 years to an extent as the de facto
> scripting and automation
> standard, as endorsed by many EDA vendors. (Believe it or not, that's a huge
> advance on what went before).
> Essentially, EDA scripting as written by EE's (as opposed to the EDA
> software itself, which is written by CS guys) lags best practices in
> software (revision control, testing, object-orienting, reuse) by about 25
> years typically. This is a pet topic of mine and believe me I can show you
> plenty metrics to prove that (see also ISQED conference).

I've been chuckling about the above for the past two days. I have
plenty of anecdotal evidence to confirm it. However, I'm wondering if
your theory is that EE software skills are constantly advancing, just
delayed by 25 years, or if EEs stuck in 1980? I'd lean towards the
latter :)

FYI, I'm aware of another, though obscure, use of Python in EDA. In
2000 (maybe 2001?) I evaluated an MCM design product from Zuken/Redac.
It used primarily a GUI interface, but it also had a scripting
interface, and the language was Python.

And one general thought about Python as a TUI for an EDA tool: There's
a long tradition (from the logic synthesis tools of the late 80's,
perhaps?) of EDA point tools being implemented as command shells. This
allows for a single interface (often Tcl, as noted) to be the
interactive command shell as well as the scripting/automation
interface. I think it's hard to make a case for Python as an
interactive shell. User's like the command/option paradigm, such as in
Tcl, and would probably resist a function call based TUI for
interactive use. I've always thought that some kind of command shell
built in Python that allowed both a command/option syntax and standard
Python syntax (or perhaps a way to push/pop into one or the other)
might expand Python's horizons. I looked at the built in cmd module
years ago, but it didn't quite seem to fit the bill. Is anyone aware
of other similar projects?

-Andy
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Summary of Python in Electronic Design Automation (EDA)

Keith Dart-2
Andy Wiggin wrote the following on 2006-04-28 at 12:15 PDT:
===
> nteractive use. I've always thought that some kind of command shell
> built in Python that allowed both a command/option syntax and standard
> Python syntax (or perhaps a way to push/pop into one or the other)
> might expand Python's horizons. I looked at the built in cmd module
> years ago, but it didn't quite seem to fit the bill. Is anyone aware
> of other similar projects?

===

That sounds like ipython <http://ipython.scipy.org/>.

I also have a CLI framework as part of pyNMS
<http://www.dartworks.biz/pynms>. However, this framework implements a
CLI that you cannot evaluate Python directly but is used to implement
Cisco/Posix-like CLI for other projects. On  the other hand, you can
enter "Python mode" with it. I also use it for the pyNMS enhanced debugger.


--

-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Keith Dart <[hidden email]>
   public key: ID: 19017044
   <http://www.dartworks.biz/>
   =====================================================================
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Talk about Django on Google Video?

Mike Cheponis
In reply to this post by Alex Martelli
On Thu, 27 Apr 2006, Alex Martelli wrote:

> On 4/27/06, Mike Cheponis <[hidden email]> wrote:
>> It was mentioned that the meeting last night would be videotaped and put on Google Video.

>> URL?


> I believe my worthy google Edu colleagues will take a few days to edit and prepare the video before putting it online -- I'll be glad to post a URL when I do find out about it.

> Alex

Super!

I look forward to viewing this Django talk.

Thanks!
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Talk about Django on Google Video?

Brian Mahoney-2
On 5/5/06, Mike Cheponis <[hidden email]> wrote:

> On Thu, 27 Apr 2006, Alex Martelli wrote:
>
> > On 4/27/06, Mike Cheponis <[hidden email]> wrote:
> >> It was mentioned that the meeting last night would be videotaped and put on Google Video.
>
> >> URL?
>
>
> > I believe my worthy google Edu colleagues will take a few days to edit and prepare the video before putting it online -- I'll be glad to post a URL when I do find out about it.
>
> > Alex
>
> Super!
>
> I look forward to viewing this Django talk.
>
> Thanks!

Don't know when it went up, but I saw it Thursday night
django: Web Development for Perfectionists with Deadlines
http://video.google.com/videoplay?docid=-70449010942275062
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Talk about Django on Google Video?

LarryT-3

"Brian Mahoney" <[hidden email]> writes:
>
> > http://video.google.com/videoplay?docid=-70449010942275062

Is this available in an open format or has Flash been "donated", a la
Java?  Maybe I missed something major, because I'm seeing lots of
stuff in flash lately, even from folks who must have swallowed hard
before using proprietary technology to this degree.

-larry



_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Talk about Django on Google Video?

Dennis Reinhardt
In reply to this post by Mike Cheponis
At 01:02 AM 5/5/2006, Mike Cheponis wrote:

> >> It was mentioned that the meeting last night would be videotaped and
> put on Google Video.
>
> >> URL?
>
>Super!
>I look forward to viewing this Django talk.

Try

http://video.google.com/videoplay?docid=-70449010942275062
------------------------------------
| Dennis    | [hidden email]     |
| Reinhardt | Powerful Anti-Spam   |
| http://dair.com/py/planmeet.html |
------------------------------------

_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Talk about Django on Google Video?

Bob Ippolito
In reply to this post by LarryT-3

On May 4, 2006, at 8:18 PM, [hidden email] wrote:

>
> "Brian Mahoney" <[hidden email]> writes:
>>
>>> http://video.google.com/videoplay?docid=-70449010942275062
>
> Is this available in an open format or has Flash been "donated", a la
> Java?  Maybe I missed something major, because I'm seeing lots of
> stuff in flash lately, even from folks who must have swallowed hard
> before using proprietary technology to this degree.

Flash is ubiquitous and works decently in-browser.
Nearly all of the Flash video out there is just a container for a  
known derivative of H.263, possibly even encoded with ffmpeg.
FLV can be played and transcoded without Macromedia's player, since  
it's mostly just H.263 (except when it's On2 VP6, but most of it isn't).
Google Video will let you download it in DivX anyway.

-bob

_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Talk about Django on Google Video?

Andy Wiggin
On 5/5/06, Bob Ippolito <[hidden email]> wrote:
>
> Flash is ubiquitous and works decently in-browser.

Bob,
it's not really ubiquitous. At least, everytime firefox running on my
powerpc linux box looks for a plugin, it's not available. I agree with
the earlier post, that flash is closed, controlled and limited format.
But maybe that's due to my powerpc linux box perspective.

Regards,
Andy
_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: Talk about Django on Google Video?

Bob Ippolito

On May 5, 2006, at 1:39 PM, Andy Wiggin wrote:

> On 5/5/06, Bob Ippolito <[hidden email]> wrote:
>>
>> Flash is ubiquitous and works decently in-browser.
>
> Bob,
> it's not really ubiquitous. At least, everytime firefox running on my
> powerpc linux box looks for a plugin, it's not available. I agree with
> the earlier post, that flash is closed, controlled and limited format.
> But maybe that's due to my powerpc linux box perspective.

It is absolutely the PowerPC linux perspective. The Flash player  
ships with the other (only) popular PPC OS, and it can be made to  
work on just about any of the x86 platforms (if one tries hard  
enough, anyway).

The Flash format isn't entirely closed, and I don't even know what  
"limited" is supposed to mean. As for openness, there are only two  
proprietary codecs in Flash (Adobe licenses these from third  
parties): On2 VP6 (video) and the Nellymoser audio (voice). All other  
aspects of the Flash file formats are open -- either by reverse  
engineering or published specifications (though the license attached  
to that spec doesn't please everyone, it disallows creating a player  
using that knowledge).

However, all of this is totally irrelevant to the initial question  
because Google Video also provides DivX encoded video, and I'm sure  
that the H.263 FLV files that google video produces are playable or  
at least can be transcoded using an entirely open source stack  
(though not conveniently in-browser AFAIK).

-bob

_______________________________________________
Baypiggies mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/baypiggies