Why Open Source Matters

IP models for virtual prototypes will likely be created in an open market, then be honed to for-profit offerings from vendors.

popularity

By Ann Steffora Mutschler
A huge effort has been under way to create virtual prototypes that allow true hardware/software co-design, but there are still a number of pieces missing.

One significant missing element is a full library of IP models to guide the process, and the solution could come from an unlikely place—open source developers. Today, ‘open source’ IP generally seems to be limited to fairly simple blocks, pointed out Sam Stewart, chief architect at eSilicon. “More complicated blocks like SerDes, high-bit rate DDR-SDRAM Phy, high-speed ADC/DAC, high-volume CPUs, high speed I/Os, controllers, etc., were developed over many years and required significant expenditures on the part of the developer.”

This kind of complex IP was written for profit, not as part of an open-source effort. That’s beginning to change.

“Over the years, as this IP became available on the ‘for-profit’ market, it has become iteratively refined by the numerous users who have both found the inevitable bugs and requested new features and refinements. Each of these iterations required wafer runs for validation and as we all know, this is both time-consuming and expensive. But as a result, the developers have built up a strong knowledge base, and have used this know-how as a platform for their subsequent IP,” Stewart explained.

As a result, it is difficult for ‘open source’ IP to break into the complex IP market, as the ‘know-how’ simply does not exist outside the developer companies, he said. “In other words, complex IP blocks are typically not available as open source IP. For those IP blocks that are available as open source, the downside is the lack of a support group to turn to when you run into glitches/bugs. This is a risky proposition and generally for-profit businesses stay away from taking the open source IP path.”

Another impediment to the adoption of open source ideas is convincing potential users to try out software that embodies the open-source approach. “In most cases, users will not want to seriously try out such software if they have to pay for it. Conversely, they will only pay for such software if it has been proved useful and adopted by other users,” said Stan Krolikoski, group director of standards and interoperability at Cadence.

This is a classic ‘vicious circle,’ but a circle that can be broken through the use of open-source software that embodies the new design technology ideas, they pointed out. “Such open source software not only can be run, but may be modified and experimented upon, and (depending on the open source license used) can be freely distributed to other users,” Krolikoski said.

In fact, one of the major success stories in the system-level design area—SystemC—is evidence of the power of open source. “When SystemC was first introduced in the early 2000s there were some small start-ups pushing C/C++ design languages and methodologies, but they were mostly of interest to a very few visionary designers. However, when OSCI introduced its high-quality reference simulator, more designers started taking a serious look at it, and SystemC use surged,” Krolikoski said.

However, for the next “surge” phase to be reached, i.e., for a new technology to become mainstream, a real ecosystem including a market of commercial tools needs to develop. “The truth is that most of the ‘heavy lifting’ in developing open source implementations comes from tool vendors, but these vendors have very little reason to initially develop and later enhance open source implementations unless they see that doing so will eventually help them make money. This means that an open source implementations cannot continue as real competition to commercial offerings, but must give way to such commercial offerings,” he added.

Using SystemC as an example, the OSCI reference implementation still exists but has been somewhat neglected over the past few years, although a number of EDA vendors have supplemented this reference simulator with strong commercial implementations that are embedded in their full system-level solutions. This commercialization stage is what cemented the success of SystemC: Open source got things going for SystemC, but commercialization really kicked things into high gear, Cadence maintains.

“This is a general model for the system level design community: Use open source implementations to make new technology accessible, use it as a reference or a baseline software with minimal capabilities. Then, build commercial solutions on top of this with add-on capabilities that customers will be willing to pay for,” Krolikoski said.

Still, in order to make the industry successful, examples, reference designs and reference models combined with methodologies must be created. In order to grow an industry, it is Cadence’s view that some of these should be available in a public domain, others (that include intellectual properties) should be provided by the vendors.

Of course the trick is to find a balance that will allow the industry to grow and ensure interoperability and at the same time not jeopardize the profit from the tools providers to the point where they can’t fund their investment and make money from the significant value provided to the users. From the business model point of view, it still needs to be determined how the system-level design automation providers will make money: Is it from the tools, the IP, the integration enablement, design royalties, services, maintenance or other means?

From an overall industry perspective, Mike Gianfagna, vice president of marketing at Atrenta, remarked that the meaning of “system-level design” and the associated EDA tag of “ESL” have seen some evolution in meaning lately. Where these terms used to encompass all kinds of hardware/software tradeoff analysis, exotic simulation techniques and even high-level synthesis, now many designers are converging on the importance of the software virtual prototype as the “killer app” for system-level design, referring to the ability to run meaningful amounts of software against a virtual model of the hardware with sufficient accuracy to truly assess hardware/software interactions for things like power consumption and overall system throughput, he said.

In the end, for software virtual prototypes to proliferate, there must be a rich library of IP models to drive the whole process. “Some will come from the larger IP suppliers, but many will be missing,” Gianfagna said. “An open source development environment holds the promise to plug this hole. There are plenty of examples of rich capability that has resulted from open source collaboration, why not semiconductor IP models?”