Array
(
    [content] => 
    [params] => Array
        (
            [0] => /forum/index.php?threads/open-source-and-eda.589/
        )

    [addOns] => Array
        (
            [DL6/MLTP] => 13
            [Hampel/TimeZoneDebug] => 1000070
            [SV/ChangePostDate] => 2010200
            [SemiWiki/Newsletter] => 1000010
            [SemiWiki/WPMenu] => 1000010
            [SemiWiki/XPressExtend] => 1000010
            [ThemeHouse/XLink] => 1000970
            [ThemeHouse/XPress] => 1010570
            [XF] => 2021370
            [XFI] => 1050270
        )

    [wordpress] => /var/www/html
)

Open source and EDA

Hiroshi Komoda

New member
As for the EDA tool of the open source, it was not made practical use for various reasons until now, but how will in the future?

I am worried about the trend in the field of ESL which is near to Software Development.

In DATE2011 held in Grenoble, the first QEMU user meeting was held the other day. Five sessions related to hybrid environment of QEMU and SystemC among 13 sessions carried out in QEMU user meeting.

W8 1st International QEMU Users Forum (QUF) | DATE - Design, Automation and Test in Europe
 
Daniel-san,

Kon nichi wa.

I did not know the page.
Thank you for information.

By the way, I promote a seminar of SystemC named "SystemC Japan" in Japan.
The seminar includes applications more than 400 every year.
I am going to hold a seminar this year in July. I intend to contribute seminar contents to SemiWiki.
 
Here's an interesting datapoint (I got from Simon Davidmann):
Google Synopsys. There are 1.6M results.
Google QEMU. There are 2M results.
There are more references on the web to QEMU than to the biggest EDA company.
 
There 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 and some systemC infrastructure. 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. Virtual platforms are one area with both commercial offerings and open source offerings (primarilly Qemu and Imperas) alongside each other, with neither dominant in real-world applications.



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.


(Originally on EDAgraffiti 1/13/2009)
 
There 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 and some systemC infrastructure. 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. Virtual platforms are one area with both commercial offerings and open source offerings (primarilly Qemu and Imperas) alongside each other, with neither dominant in real-world applications.



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.


(Originally on EDAgraffiti 1/13/2009)
 
There 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.

I think you exaggerate the difference. I heard similar reasoning from the big UNIX vendors (Sun, HP, IBM) about Linux.
What I think is holding back open source EDA is the existance of cheap possibilities to produce their results at home.
For ASIC the startup costs for the PCB production and chip production are too high for a hobbyist to do them.
Cheaper FPGA board could form a solution but Xilinx and Altera seem to focus now on the high margin telecom world with their $5K dev boards. The cheap boards with older FPGAs most of the time have not enough LUTs for real designs like CPUs etc. Althoug they give their software for free it is not open source and they lock you in with their proprietaty bit stream formats.
If you look at the succes of something like the Arduino I think open source hardware and it's design can be done if you find the right mix of cost, flexibility and tool flow. To what you said in another comment, Arduino has now around 4.7M Google hits, more than double of Qemu.
I agree that the business model will look totally different than the current ASIC world and the EDA software support companies.

But there are no Microsofts of open source, no Oracles nor Adobes.

But you do have Red Hat which is approaching 1 Billion USD in revenue and growing.

IC design tools are all closed source, apart from a few bits of infrastructure like openAccess

I wish that was the case. Before you can download the reference implementation you need to sign some paperwork. I have been looking at this and asked advice on it at the SFLC. Conclusion is that there are clauses in the license that make OpenAccess non-free (as in freedom) and I did not sign the license and am not able to download the reference implementation. If somebody can help in legally getting the implementation without needing to sign the Si2 license I would be grateful.


The number of chip designers is fairly small, perhaps 20,000 engineers.

I think that can only be true if you exclude FPGA hardware from it.

greets,
Staf.
 
Continuing my previous post -

Hardware design breaks down into multiple pieces - analog (various) and digital - the digital currently breaks down into two parts: developing a parallel algorithm and implementing it with (RTL based) synthesis tools. If you can move the parallelization part into the software engineering domain, then it's easier to find support for it in the open-source community (where there are 100x the engineers). The growing market for FPGA and GP-GPU accelerators makes it possible for the folks who develop gcc etc. to make money adding tools for parallel programming that can be reused for hardware design.

http://parallel.cc
 
Comments on FOSS simulators -

DeepChip.com

"First they ignore you, then they ridicule you, then they fight you, then you win."
-- Mahatma Gandhi

I think the closed source EDA world is now in the ridicule/fight phase. We have some way to go before we rule the world :).

greets,
Staf.
 
Back
Top