The most needed EDA innovation
Regular readers of my blog may be wondering what I have been doing during the past decade. I have been talking about EDA innovations, both those that succeeded and those that didn't. But I realize that all technologies that I discussed may sound like old news, coming from the nineties of the previous century.
However, we are 2010 by now. Therefore, some of you may think that I am overlooking or underestimating the more recent innovations that are happening before my eyes. What about Constrained Random Verification? Assertion-based Design? SystemC? C-Based High-Level Synthesis?
I could try to defend myself by claiming, as I did in my previous blog posts, that I simply haven't seen a truly disruptive innovation yet. You could then subtly point out that perhaps I'm losing the sense for innovations, as I am growing older and no longer involved in day-to-day design work. These would all be reasonable arguments. However, I believe the honest answer is the following: in the past decade, I have been losing interest in the technological innovations in EDA. That is because I'm unhappy with the overall direction in which it has been going.
Let me explain with an example. Suppose you want to set up a state-of-the-art development flow for digital design. There is a good chance that you'll take a look at SystemVerilog, supposedly a standard that has all the newest technologies. The reality will be rather disappointing. Before you find out what parts of SystemVerilog are exactly supported by which vendor, and how you should use them, you will already have spent lots of money. Think I'm exaggerating? Then read this recent blog post from JL Gray, who certainly knows these matters better than I do.
More and more, innovation in EDA seems to be a matter of the happy few. It's worse than that actually: when access is restricted like that, we can't even be sure that those innovations are real. It becomes a matter of trust in authority instead of self-judgement. This is not the EDA that I like.
Look at how different things are in the software development world. From the smallest hobbyist to the largest engineering department in a high-profile company: we all have access to the same powerful and innovative tools: languages, compilers, IDEs, revision control systems, and methodologies. And this is not just about open source, but about a whole continuum of solutions and business models. For example, a platform like Eclipse maximizes reuse by easily accomodating both open and closed source third party plugins. As an other example, look at how successful companies like Apple and Google manage to mobilize thousands of third-party developers for their proprietary platforms.
In my opinion, EDA needs business models like those found in the software development industry. Rather than technology, those are the kind of innovations that I'm looking out for.