Zibb

EDA GRAFFITI, WITH EDA VETERAN PAUL MCLELLAN, DIGS INTO THE WORLD OF DESIGN TO FIND OUT HOW WE GOT HERE, WHERE WE ARE GOING, AND WHY EDA IS DIFFERENT.



   Advertisement

Tuesday, January 13, 2009

Where is all the open-source EDA software?

Jan 13 2009 12:00AM | Permalink |Comments (28) |


Open source logoThere is a big cultural difference between tools for IC design and tools for software design. A difference in the way they are developed, the way they are sold, the way they are deployed. I think there are two reasons.

Firstly, IC designers are not software designers (duh!) and so are not generally capable of writing or extensively modifying their own tools, so it doesn’t cross their mind that it might be a good use of their time to do so. After all, it wouldn’t be.

Secondly, the culture has arisen that the studliest IC designer (or whatever the equivalent is for a woman) has the most money spent on their tools. Companies capitalize IC designers with large amounts of software to increase their productivity. But it is not really productivity, it is the ability to get the job done at all. Only in the most technical sense is improving the time taken to design a chip from a millennium to six months merely a productivity increase. The EDA industry has improved engineering productivity by a factor of maybe 100,000 in the last thirty years.

Neither of these are true in the world of tools for software engineers. Firstly, they are software engineers and so can develop software fast by either just going and developing it on whatever is available (without requiring centuries) or they can write themselves some productivity tools and then use those tools to produce their product with higher efficiency. They are their own customers in that sense.

Open source development has also been shown pretty conclusively to be more efficient the closed source. Eric Raymond’s1 book “The Cathedral and the Bazaar” is a little dated but still the best survey of this. But there is a problem. Open source software is also known as “free software”. Originally this meant “free as in freedom not free as in beer” but has come to mean “free as in beer” too. Or at least very cheap.

Open source means that if you buy the product, and perhaps even if you don’t, you also get the source code and can do what you want with it. Of course, since you can do what you want, it becomes really hard to sell a second copy since you can always build that yourself from the source, so the second copy had better be really cheap or that’s what you’ll do. For example, Wind River used to have a proprietary royalty-bearing operating system called VxWorks but the world is going to Linux and so Wind River supplies their own version of Linux. But it is hard to charge much and impossible to charge a royalty on this since a customer can get Linux from many places and even hire a few engineers and build their own version. Or a competitive company can take the same source and customize their own product. It is hard to see what Sun has got from Java to justify its investment, and even harder to see why it recently bought MySQL for about a billion dollars when the price for a copy of MySQL is exactly zero.

In that way, open source is a bit like Craigslist. Craigslist didn’t steal all the money from newspaper classified advertising. It took a billion dollar business and made it into a million dollar business, making it impossible for anybody, even Craigslist themselves, to make real money in classified advertising.

So the result of all of this in the world of tools for software development is that all the best tools are open source, but nobody can make any money selling them. This works fine as long as enough people like Sun and IBM pay their developers to do open source development on the basis they make money on the hardware, or enough programmers do this in their spare time for fun (and because if you want a job at somewhere like Google, one of the things they’ll take a look at is what open source projects you work on after hours). But there are no Microsofts of open source, no Oracles nor Adobes. Not even Intuits or Mathworks.

IC design tools are all closed source, apart from a few bits of infrastructure like openAccess. Synopsys isn’t about to give you the source code for Design Compiler just because you bought a license, and they certainly aren’t going to put it up on the web so Cadence can grab themselves a copy too. It is arguable whether the quality would even improve that much if they did so since most of the users are not itching to get into the millions of lines of source code and add a few enhancements.

Now that electronic systems contain large amounts of software content, these two worlds are starting to collide a bit. The investment for a system design team in tools for the IC part is maybe in the millions of dollars, and for the software part it is essentially zero. And not because they are forgoing the best tools because they are too cheap; those free tools are the best tools.

The number of chip designers is fairly small, perhaps 20,000 engineers. There are ten million software engineers. The price of EDA tools has to be high to recover the development cost over a small base; software tools have a much larger base. After all, Bill Gates got rich selling copies of MS-DOS and Windows for less than $100 each. But he sold a lot.

1 Interestingly, since open source sounds like some sort of socialist commune, everyone tends to assume that Eric Raymond and other open source luminaries are pinko lefties. Actually he is hard-core libertarian with interesting views on other issues than programming. His blog is Armed and Dangerous.


Reader Comments



at 1/13/2009 9:24:21 AM, Daniel Payne said:
Paul,

There have been some small efforts to make open source eda tools available, www.reyessoft.com/eda.html

Berkeley SPICE is perhaps the best know example, at least to us transistor-level guys.

www.marketingeda.com



at 1/13/2009 11:22:51 AM, bayareadude said:
This blog has MUCH BETTER content than any of the other web resources (Goering's excellent site included). Granted it's totally different, but it totally trumps the useless, dated and self serving deepchip.com.




at 1/13/2009 12:19:30 PM, Jakob E said:
I think one key aspect of the problem is that open source, despite all the hype, tends to pretty bad a major league innovation in the way that most EDA tools are.

The best open-source tools are the ones that essentially create tool that already existed before, and build on that conceptual foundation. Also, open source tends to work where you can build something piece by piece from a small embryo. Building a hundred-man-year code base from scratch is rarely done in open-source, and requires real funding. Heavy-weight EDA tools do not quite fit that description.

In software design, you have the advantage that most tools are pretty simple in nature. And you accidentally got a good start in the gcc compiler that has then been progressively extended. But if you had tried to start gcc today, it would have been very difficult to do that.

And finally, open-source has no point in and of itself. It is just one way of many to build software. Is it really a problem that there is no open-sourced software for core EDA stuff?



at 1/13/2009 2:32:45 PM, Clyde said:
Open source works well for software with a large customer base. That's why Linux has been so successful as an open source project in spite of being a highly complex collection of software. Open source doesn't work well for software with a small customer base since there are very few users who have the time, motivation and expertise to develop the product.



at 1/13/2009 3:12:03 PM, CodezInMainsail said:
Given the market cap of many of the EDA guys out there today, one would guess they might be better off giving their stuff away for free.

Plus, before they go preaching about value added and how they are a premium tool... they should realize the OS that the machines run on are vastly more stable than the code they write on top of it.

None of us engineers wants open source EDA because if it did, it might actually work and then we would all be out of jobs. Automation is good only if it doesn't cross a certain line, especially in this economy.




at 1/13/2009 5:04:38 PM, Bad Dog said:
I think it''s fairly safe to say that all open source software of any significant size started in either a corporate, or academic environment, and then was open sourced.
If it was started in a corporate environment, the companies usually saw some competitive advantage to releasing it for free (market share, damage a competitors product,etc).
Additionally, if you talk to any engineer, project manager,etc who was involved in such an effort, it''s usually costly, because they need to insure that the code doesn''t contain patented, copyrighted, or licensed code which they may not want to or may not have permission to release for free.
Not to mention that releasing your code will open it and your engineers up to criticism.
Those comments like "customer blah is a fool, we had to put this special case in because they''re dummies" have to be removed/replaced with "fix for bug #1234".
OpenAccess is not a real open source project as they rarely take patches from the community, and really is just a vehicle for Cadence to acquire companies. (not that it doesn''t provide value for the users, but it could improve vastly faster if it was really open source)



at 1/13/2009 6:49:15 PM, DeanS said:
This is an extremely interesting post, along with excellent comments (I especially appreciate CodezInMainsail's crack about the EDA industry). We (www.foresightsystems-mands.com) have looked hard at open source models, but for many of the reasons stated in the post and comments, we have not been able to figure out how to build a sensible business around the concept. That said, however, we've started to see more experimentation, like the work going on over at www.ovpworld.org



at 1/13/2009 9:02:45 PM, bobby said:
I love it when companies that are selling $2000 designer phones that are reminiscent of designer watches want their vendors to offer products that compete only on price.

“We need you to lower your prices to below break even so that we can design cool must-have products (price exceeds value) and retire early.”




at 1/14/2009 9:37:53 AM, Mike said:
Open Source is the road to poverty. It will cripple the EDA industry. It takes a lot of R&D $$$ to create good quality software. Making it open source just erodes the value of the work and will lead to devaluing the work of the IC designers as well. Believe it or not the high cost of IC design tools is a barrier to outsourcing design work. If the tools were free then why pay an expensive US/EU engineer to run it?



at 1/14/2009 2:32:15 PM, bayareadude said:
Open Source can work for EDA widgets (like data base, GUI's, interchange formats).

This could open up innovation / competition - good for customers.

The real question is why has OA not caught on. Are there any customers using OA in production with non Cadence tools?

(Not that OA is truly open...)



at 1/14/2009 7:03:50 PM, DeanS said:
I couldn't resist another comment. I firmly believe that there is another important factor in the lack of traction for open-source in EDA. Quite simply, the pool of engineers who have both the domain expertise and the skills to make a meaningful contribution to sophisticated EDA tools is relatively small. Further, most of these folks are already working either for EDA companies or for internal tools groups at the big semiconductor firms. Given the employment agreements that I've signed over the years, I suspect that most of these specialized people aren't particularly free to contribute to an open source effort in their “personal” time.



at 1/16/2009 10:20:26 AM, m5man said:
OpenAcess is not open at all. As an Si2 member, you can view the reference implementation but any changes you make cannot be re-distributed, nor can you convince Si2 to accept your changes unless they feel it's important.






at 1/16/2009 10:22:04 AM, m5man said:
bayareadude -- what have you got against deepchip ? Cooley tries to tell the truth, doesn't he ?



at 1/18/2009 5:19:40 PM, bayareadude said:
I love the user feedback. But I hate the format - the web has so much to offer (wiki's, blogs, user forums) than an archaic, moderator-driven newsletter.

As for Cooley...well he is but one voice w/ a big microphone. Too big...



at 1/18/2009 5:21:16 PM, m5man said:
OA would have been a much bigger success if CDNS had really opened it, IMO. Si2 is way too political to be the home... right on m5man.

M5, nice car.



at 1/19/2009 4:14:44 PM, stabie said:
Last I checked, Si2 also charges EDA companies for OA. Its not alot, but its certainly not the open source model. As someone else posted, Si2 was created so cadence could have startups develop on their db. Then if the startup had something cadence wanted, it was easy for cadence to acquire. don't know how succesful this was in the end for cadence.



at 1/19/2009 11:28:17 PM, JColgan said:
There is an interesting project over at Fedora: Fedora Electronic Lab (FEL)(www.tinyurl.com/ysqf7s). Also, the leader of the program (Chitlesh Goorah) has just started an online community to support FEL within the Xuropa Online Electronic Design Community (www.tinyurl.com/98bt6p). Go to the FEL Online Booth for more information - it''s just starting out, and so still only lightly populated with material, but you can engage with the community via the forum.



at 1/24/2009 9:44:48 AM, Saranyan said:
Paul, I have tried to answer some of the concerns (or opinions) you have expressed here. If you have time, please check out my blog www.chipleads.com
Any feedback or discussion is welcome.

Thanks,
Saranyan



at 1/24/2009 10:20:42 AM, SDB said:
Where is the open-source EDA software? Try here:

geda.seul.org/
www.opencollector.org/
www.gnucap.org/
www.icarus.com/eda/verilog/
gtkwave.sourceforge.net/
fedoraproject.org/wiki/Features/FedoraElectronicLab
www.toped.org.uk/
opencircuitdesign.com/
www-asim.lip6.fr/recherche/alliance/
vlsi.cornell.edu/magic/
ngspice.sourceforge.net/
kicad.sourceforge.net/wiki/index.php/Main_Page

Gee... did you try a Google search before writing your article? There's a whole world of open-source EDA hackers working on this stuff. How can it be so hard to find?

For more information, feel free to post a few questions to the geda-user e-mail list (which you can find linked from the main gEDA webpage above).

Regards,

SDB



at 1/24/2009 10:24:29 AM, SDB said:
Also, this article is a little bit disingenuous. I've sent several gEDA (GPL'ed EDA) related press releases to the EDN editors (as well as other news sites), but they apparently got moved to /dev/null upon receipt. Do the EDN editors read their e-mail? If so, why don't they know the answer to this question already?

Regards,

SDB




at 1/30/2009 5:27:46 PM, CR said:
We spend 100''s of thousands a year on analog EDA and IC layout/verification tools at a small startup. There is no FOSS tools that would allow us to do this part of our design, but I do use FOSS tools for the RTL design of our relatively small digital section. We contract the synthesis and buy a short term license to do the final digital and mixed mode simulations.

I can not justify always having a full digital tool set and with the FOSS tools I don''t need to.



at 1/31/2009 1:44:21 PM, Nigel said:
Hello CR,
can you tell me the names of the FOSS tools you are using for the RTL design please ?



at 1/31/2009 7:27:48 PM, CR said:
Icarus Verilog for simulation, GTKWave for waveform viewing and Covered for coverage analysis. For the most part I am using the latest/development versions since they have the functionality I need. Icarus has enough real value support that I can build models for the analog blocks that the digital system controls. FYI both Icarus Verilog and GTKWave should be releasing new stable version fairly soon.



at 2/19/2009 1:24:06 AM, The Tweeter said:
How come nobody mentioned the two most pervasive open-source (or quasi-open source) EDA reference implementations around - SystemC and OpenAccess ? SystemC was developed by major EDA guys Synopsys/CoWare/Forte, etc., with lots of inputs/fixes from other EDA suppliers and end-users, and is genuinely open source. SystemC is used at the core of most commercial ESL tools.

OpenAccess was pretty much a Cadence development effort and is only quasi open source due to Si2 limits on changes and distribution (plus the ugly Si2 commercial distribution toll). Nonwithstanding these limitations, OA is offered for free in source code form and is a pretty robust database for analog chip design. OA is in use by Cadence and Synopsys, and a bunch of smaller companies so as long as Cadence and Si2 keep it up-to-date, it's a boon to the industry.



at 7/26/2009 1:43:05 PM, garydpdx said:
Tweeter writes, "SystemC is used at the core of most commercial ESL tools." Actually, SystemC is supported by most commercial ESL tools, they are not implemented in SystemC ... which means using the library and constructs standardized by OSCI. Standardization means agreeing on something, usually a data representation (Verilog, SV, VHDL, SystemC, IP-XACT, etc.). The motivation is that, try as EDA firms might, customers who build the actual chips will rarely use a single vendor flow from concept to first silicon. Common data and standards allow for greater interoperability, which is why electronics firms like IBM, ARM, Freescale, LSI, etc. participate in EDA standards.




at 9/9/2009 2:49:07 PM, dick_freebird said:
There are a number of point tools out there as either
open source, or free/liberal licensing. Ton of analog
simulators, bunch of digital, some schematic capture
and a few layout tools. The verification (LVS) is more
of a problem and there is nothing resembling a front-
to-back integrated suite ala Cadence.

But the real problem is a nearly complete lack of
foundry PDK support, most foundries insist on one of
the "golden" ($$$$$$) commercial tool sets' clean
result for tapeout. And foundries churn their PDKs
at a rate that would be hard for a volunteer to keep
current "shadow PDKs" maintained, even if the foundry
would share the data.



at 9/16/2009 10:14:28 PM, Jeremy Ralph said:
Synopsys' Verification Methodology Manual (VMM) and Mentor & Cadence's Open Verification Methodology (OVM) SystemVerilog libraries are both Apache licensed. Kind of a give away the razor (library) sell the blade (simulator++) proposition. The Apache license may well be the best suited licenses for EDA due to it's commercial friendliness. The Eclipse Public License seems to get a lot of mileage in the embedded/fpga space too and of course comes from IBM.



at 11/16/2009 10:55:27 AM, alex_d said:
The problem is that commercial EDA software (let's say we focus on PCB and FPGA) is very poor in terms of having an intuitive interface. When amateurs download it, they are bewildered. So they give it up and don't pursue EE. Without the amateurs, you have no open source community. For PCB design it is especially puzzling, since many hobbyists have use for it and many of them are also good programmers.

Why are the user interfaces bewildering? There are a number of reasons. For one, companies don't care enough about UI when making purchasing decisions. They look for concrete paper features (features which can be explained on paper), rather than nebulous, subjective, even frivolous things like a good UI. Of course, UI is important for everyone. It helps professionals unlock the features of their software, reduce training costs, and reduce the level of intelligence and discipline necessary to function as a designer (and hence salary costs). But ultimately, it is the culture of consolidation that wipes out competition and market-driven progress in the EDA industry (competition which would perfect even "frivolous" features).

And so, by making software that is repulsive to hobbyists, EE is a shadow of the software development community. Nevertheless, I see amateur/self-taught EE rising. Open source hardware (hardware designed by semi-amateur efforts with publicly available design files) is gaining ground and will soon be attracting hype. I myself am involved with such things.

To respond to some of the posters: Yes, amateur/self-taught EE and the open source (or just low-cost) software that goes with it will indeed kill your cushy jobs. :(

Post a comment



Display Name

Change Image
Before submitting this form, please type the characters displayed above.
Note the letters are NOT case sensitive.


ADVERTISEMENT

©1997-2009 Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other Reed Business sites