Open Source EDA?
Don't hold your breath ...
In talking with Grant, I was trying to sort out the situation with respect to Linux and the current design environment, plus understand what the EDA industry means when it professes commitment to open source initiatives.
My questions were the results of attending Andrew Morton's recent address at the Software Developers Forum on maintaining the Linux kernel.
[The text of Andrew's talk is available on EDA Confidential.]
I spoke by phone with Grant on Friday, May 27th, and was grateful for his time.
Q: How does the open source movement play in the EDA industry?
Grant – There are several licensing models for open source. You have things like GNU public licenses and then you have things like community source licensing, which is more restrictive. The term "Open Source" can cover a range of different licensing models.
These concepts have a number of different relationships to EDA and IP businesses as well, starting right form what is becoming the most popular operating system today, which is Linux, for which more and more EDA tools are being ported to and running on. Linux seems to be becoming pretty successful compared to proprietary UNIX implementations.
Q: Why has Linux become so popular?
Grant – Certainly, the attractiveness of lowering your costs has to be part of it for the users – the less expensive workstations. But Linux would never have become so popular if it hadn't become stabilized. If you hadn't seen several companies over the last few years developing around that stable version. MontaVista, Red Hat, and IBM have all been involved in Linux. And that has also given people more assurance that using Linux as a basis for their design environments is a more solid thing. Of course, that has led to the EDA companies feeling that they should port to it.
Q: Do you think the EDA users, the engineers, have forced the issue by bringing Linux into the office from their home compute environments?
Grant – I don't know if it came from home to the office, or more vice versa. One thing that's associated with that [migration], is that on x86 hardware processors, Linux is viable and arguable the most widely spread implementation for that platform. All the limitations that people might have had in the past to buying proprietary implementations were eliminated when Linux became serious on the x86.
Q: What operating system do you work on?
Grant – I have a dual boot workstation that can booted either as a Linux or a Windows environment. I try to stay in Linux as much as possible – certainly as an engineering environment. On Windows I use Microsoft Office for non-engineering applications, although in Linux I can use OpenOffice for interoperability. OpenOffice is what used to be called Star Office when it came from SUN
I can also go into Windows every now and then when there are limitations in Linux. But if things like OpenOffice matured, the need for access to a Windows environment would become less over time. I've created documents using OpenOffice that I've successfully shared with people who are in a Windows environment.
Q: What about the open source movement is, or is not, attractive within the EDA community?
Grant – The interesting thing about Open Access is the question of how far will it go. Then, of course, you get into SystemC, which is really under a community source licensing agreement. But SystemC is a capability that's been made available as an environment for building models, and then building tools around that modeling.
There's no question that some of its popularity is due to the fact that it's open source. Many people at universities, and others in industry, have been able to experiment with SystemC and that wouldn't have been possible without the open source model.
But at the same time, the situation points out some of the limitations of how far the open source model can go. We have seen commercial tools arrive at a slower rate for SystemC than would have been the case if it had not been open source. The capability of what you could get for free was good enough, but [not necessarily best of class].
Q: In other words, there's a kind of financial backlash to the open source nature of SystemC?
Grant – Yes, it's a financial backlash. SystemC has tended to delay and lower the revenues you might have otherwise gotten. But the positive aspect is that the tools based on SystemC have been more widely proliferated than any other tools might have been.
From the financial motivation point of view, it's lower for the EDA vendors in an open source implementation than for a propriety implementation, even if that implementation is based on standards.
So, you see a lot of activity around SystemVerilog, which is not open source, and less activity around SystemC. Again, part of the reason for that is financial. It's a more attractive business proposition to be in SystemVerilog. Verilog implementation was a success for the same reason. Verilog was originally a proprietary language, and then the language was opened up.
But in EDA, all serious implementations have tended to be proprietary tools from one vendor to the other, where there's direct financial incentive for development. You rarely get a reference implementation that's good enough for people to use in a commercial setting if it's free. That's very clear in EDA – the RTL to GDSII methodology for Verilog and SystemVerilog fits into a much larger market.
[You should note, however] that SystemC, and Open Access, are used in commercial environments for serious work – but they are the exceptions.
I think the other issue with EDA is in terms of the general number of users. I don't think there's a large enough number of users in any particular sub-category of tools to really support very much open source development. Open source requires a big community involvement, plus ancillary things being built around that environment to attract companies into the effort.
EDA is still tool small to make open source the general model. The idea that all tools will be open source, and that all EDA companies would evolve to a service business model, is unlikely and makes no sense.
Even in much larger communities around Linux, and around Eclipse and software development, there's lots of proprietary software tools. Even there, not everyone has been able to replace the selling of tools with doing services.
Q: How does the open source movement affect the IP business?
Grant – Here at Tensilica, we're an example of a successful IP company because what we deal with is high value, StarIP that requires a credible offering to designers. It requires a high level of investment and quality associated with our development.
Open source from the IP point of view, seems to me to be even less likely than in the EDA industry. Again, because the relative number of licenses and usage is relatively low in comparison with other business. If you look at the people who might be able to utilize Linux as an operating system, then compare that number with companies creating system models in SystemC, and then compare that with the number of design teams that get access to IP – the numbers get relatively smaller at each level.
To get sufficient innovation with specialized embedded processor IP, there has to be a business model that works. I don't see open source of highly configurable processors as a likely business model.
Q: What brand of Linux does Tensilica support?
Grant – We actually interact with Linux in a couple of different ways.
MontaVista is a company with embedded Linux, and it runs on our Tensilica Xtensa T1050 embedded processors as a target OS.
Red Hat is the company whose Linux we use internally on our engineering servers and workstations, and which we support as a host platform for our development tools used by our design customers. We use internally a number of versions of Red Hat Linux.
As we make evolutions in our products, we come up against the same issues that you face in other environments. Compilers, linkers, software and tool development environments have to be supported and upgraded as we progress. That's always been an issue whether across all proprietary or open source environments. And it continues to be a problem.
You may find, for instance, a user of tools that work on an earlier version of Linux, but your own development environment has moved to a different level. To build up to the use of the tools, or to the development of the IP – these issues have to be faced.
Unfortunately, I don't see much improvement in store here going forward as different parts of the industry work at different paces.
Q: Do your system administrators impose a veto over which versions of Linux are being used?
Grant – In business, you reach a decision by way of discussion. But you always know, it isn't as much as whether you'll move to the next version, as when you'll move. That's certainly true for internal development environments. You may have a particular set of desktops running on a particular version, and your customers or suppliers are at different points. You need to synchronize all of that to make sense. You have to somehow juggle all of these [players] and develop them to move at the same pace.
When I was at Nortel, we always had that problem. One tool vendor had one operating system, and another had a different operating system. The question was then, and still is – how much can you ask of your tool vendor.
That's certainly something that's important in EDA. At least now EDAC is identifying the different platforms and encouraging the companies in the industry to maintain a matrix of the platforms they're supporting.
Hopefully, the industry will tend to move in a reasonably similar direction and at a reasonably similar pace.
Does all of this attention to different platforms for vendors and customers take up a lot of time that would be better spent on development?
It's true; it can take a lot of time. But open source hasn't made it any worse or better. People are still handling complex design environments, even within a single company, and EDA is as good an example of this as any.
Different tools from different acquired companies are always an issue. It takes a lot of effort to synchronize an acquired tool after an EDA company acquires another EDA vendor with the existing tools already supported by an EDA vendor work with the newly acquired tools.
Q: When did you start working seriously in Linux?
Grant – When I came to Tensilica, which let me get reacquainted with UNIX. I had that opportunity because a lot of people here were using Linux.
It's been very interesting but it's also caused me to wonder if Linux would have existed without very strong motivation from one person – in this case Linus Torvald. I'm also thinking back to Richard Stallman and the GNU work, the Free Software Foundation.
I'm not sure that any open source efforts would have ever existed without that strong individual leadership, or in the case of commercial efforts, a single strong corporate leader. That's certainly been the model that's driven the Open Access effort in EDA.
So, I believe a leader is needed for open source, whether it's a person or a corporation.
Q: What kind of marks would you give to the EDA industry regarding the disconnect between their commitment to open source, open access, and the reality today?
Grant – The EDA industry has been dragged into this effort by the users. However, I think the motivations to open up is actually for proprietary advantages to the vendor rather than a recognition that the formatting of data is not the place for EDA competition leads to the best technical or business results.
Competition and proprietary tools give users the best results when it adds major new functionality to those tools. In general, data formats and data interpretability is not the place where that happens.
Q: Any closing thoughts?
Grant – My net conclusion, especially in the EDA area, is that open source will continue to arise as a particular model in particular niches. But it's more likely to be in data interoperability ad flow of data, or in the creation of models. That's where SystemC has at least promoted a model creation environment. But for the major tools that give people major leads in design functionality, and the models themselves – not the environment – will continue to be the things that continue to develop on a proprietary basis. The business incentives just aren't there to motivate those efforts in an open source environment.
Grant Martin is Chief Scientist at Tensilica, Inc. and well-known expert in SoC design methodologies. Previously, Grant was a fellow and worked in the office of the CTO of Cadence Design Systems at the Cadence Berkeley Labs. Over his 10 years at Cadence, he held a variety of positions including director of design methodology for Cadence’s VCC hardware-software co-design technology and design tool development. He was also Cadence’s chief representative on several EDA industry and IP design standards initiatives.
From 1984 to 1994, he worked at Bell-Northern Research/Northern Telecom in Ottawa, Canada, as a layout automation engineer and then as a manager of VLSI design systems. From 1978 to 1984, he worked at Burroughs Machines Ltd, in design automation and computer architecture. Martin is widely published and frequently presents at EDA conferences.
He was co-author of Surviving the SOC Revolution – A guide to platform-based design and System design with SystemC. He was also co-editor of Winning the SOC Revolution – Experiences in Real Design and UML for Real–Design of Realtime Embedded Systems.
In addition, Grant has contributed chapters or forewords to six other books. Grant Martin has a BS and MS in mathematics from the University of Waterloo in Canada.
May 30, 2005
Peggy Aycinena owns and operates EDA Confidential. She can be reached at firstname.lastname@example.org