Moving To Open-Source Software

By Ann Steffora Mutschler
With the typical cost of software accounting for 40% to 60% of an SoC, semiconductor OEMs are under more pressure than ever to meet margins. As a result, they are drawing on their ecosystem partners to provide a more complete foundation including hardware, software, FPGA prototypes, verification IP and virtual models, as well as an increasing demand for open source software support for their SoCs.

To be sure, software acquired through an open source model can allow faster time to market by leveraging publicly available technology. But the biggest limitation is lack of support, unless the software comes from a commercial provider.

How does this play outside in the hardware world? “Software is something you can change relatively easily, whereas hardware IP, once it’s in silicon you’re stuck with it,” said Simon Davidmann, president and CEO of Imperas and founding director of Open Virtual Platforms (OVP). “Another big difference between hardware and software is that there are very few people designing hardware compared to people writing software. If there are 100,000 apps for an iPhone then there must be 300,000 or 400,000 people trying to write them. In the hardware world, there are only about 100,000 hardware engineers globally, and yet there are many times that just developing software for the iPhone.”

Clearly, then, the software scale is completely different from the hardware scale, and this has an important effect on open-source ideas.

“With the GNU tools they can apply to tens of thousands of people easily, but in the EDA world that’s not really the case,” said Davidmann. “The closer you get to the hardware, the less appropriate an open source community is. Open source is good from a, ‘Let’s have a compiler that you can use for free,’ but no user fiddles with the open source bits of GCC (GNU Compiler Collection) or GDB (GNU Project Debugger) that doesn’t fiddle with Linux. It’s very useful for the hardware guy to make use of, but then they tend to have to pay people to do it.”

Where it works best
One of the biggest challenges companies face in implementing a design is in the verification phase, which is why it consumes the largest chunk of the non-recurring engineering expenses in any design. Prasad Subramaniam, vice president of eSilicon’s design technology, said this is exactly where open source can help.

First, open source software could be of help in the actual verification of the IP that is being stitched together as part of the SoC, especially for IP that is standards-based like a USB interface or a PCI Express interfac. “Because it is in the public domain, you can develop verification IP in an open source manner. That’s one of the advantages. People who do verification today license this kind of IP from various IP providers, and it will be significantly helpful for them if such verification IP is available in the open-source model as it will make it easier to access, allow them to do what-if analysis, experiments and so on before they go on and purchase something that is industrial class,” Subramaniam said.

Second, open source software support can be helpful in system-level verification. “Once you have designed your SoC, you want to try and run system-level testbenches, for example. If you build an ARM-based subsystem, you want to try and emulate it in an FPGA type of environment. You can get a board that contains an ARM chip with an FPGA and you can implement your logic, and this has an interface to your PC and you can control the software from your PC but the actual software will be running on the ARM test board and the FPGA,” Subramaniam said.

Similarly, John Koeter, vice president of marketing for Synopsys’ IP and Systems Division, said the use of virtual prototyping at the system level has allowed a fair share of the top 10 global semiconductor companies to pull the time to ramp into production by as much as six months earlier than with older approaches.

“Today many companies still use what I call a waterfall model where they develop the hardware, they get to the golden RTL or even the chip and then that’s when they’ll start developing the software on the physical prototype itself or maybe on an FPGA-based prototype of the chip,” he said. “That process is done in a serial or waterfall manner, and obviously that pushes out the entire development schedule significantly. We are really working with the semiconductor companies to pull in the start of the software design much earlier using virtual prototyping. In a fast moving market, ramping to silicon six months or even three months your competition easily yields 10% to 15% revenue through additional early wins.”

Models Are Key
The key to virtual prototyping involves the models, and while not disclosing any plans, Koeter noted that Synopsys intends to enable a significant effort within the open source community for creating models. He said plans are in development. Also, with its recent acquisition of Virage Logic, Synopsys gained the ARC cores, and is fully supporting the various software stacks that run on an ARC core, including variants of Linux, etc.

On the surface, it appears that Synopsys may be finding out what Imperas did, namely that people want control over the simulation models. They didn’t want to get into the insides of the simulator. But they do want a commercial company to professionally service and support the tools, and they want control over the IP and the models, Davidmann said. “The great thing about open source is that it allows you to see what’s going on, modify it and use it, and then that way it gives you freedom and can take things further.”

Imperas has a closed-source commercial simulator and open-source models (developed from published documentation and in such a way that the user can extend them). “This is very different from the SystemC approach of an open-source simulator—developed and funded by the big EDA companies, but which isn’t really open because you have to be part of their club and paying to be able to enhance it and redistribute it,” he said. “What this means is that it is about three or four years old. It’s a commercial ploy in that Cadence, Mentor, Synopsys have their own tools and simulators that use SystemC as proprietary professional solutions and the OSCI simulator is the poor cousin so it is several versions of a standard behind.”

Imperas also uses an Apache License, which Davidmann noted is good for commercial organizations and does not have the same requirements as the GNU license.

“For a silicon vendor that makes them very nervous. If [they] download a bit of IP and put it in [their] chip, the rules aren’t very clear yet because open source is all about software, it’s not really about hardware. Hardware tends to be covered by patents and software by copyright. In software if you use a GNU public license, if you link it to any other pieces of software, all of that software has to be covered by it so it really promotes the spirit of ‘free to use.’ You are allowed to access the source, and if you use it you’ve got to make your source available so it furthers the usage of it. Whereas in a commercial organization, there’s no way you would want to include a piece of hardware on your chip if you had to give away your hardware design. You want to protect that and hide it because it’s all your tricks and magic. In the hardware world people are much more nervous about the licensing of open source.” Davidmann said.

A new approach to open source for ARM-based SoCs
There is another approach that ARM, IBM, TI, Samsung, ST-Ericsson and Freescale have come together on to address OEMs that demand the best open source support. “They want the latest kernels, they want the latest tools, they’ve got to be stable. It’s more than just throwing them a BSP and hoping it is good enough. They want more than that, and that’s what Linaro was born to do,” to make it easier for ARM partners to deploy the latest, optimized technology into Linux based products, explained Rob Combs, head of global alliances at Linaro, a not-for-profit open-source software engineering company that launched in June.

Linaro stemmed from conversations with OEMs about the difficulties of developing open source—the need for great tools, the latest kernel, not having to rewrite BSPs from silicon partners, he said. “They want more of that support in the upstream trunk rather than less and they want more investment so we can fix any problems that crop up. That’s more than any one company can deliver individually. There needed to be a collaboration vehicle to deliver this for the ARM partnership. Linaro was born to make it easier and quicker to develop complex open source products based on these new whizzy SoCs that are coming out.”

Linaro does essential engineering relevant to multiple verticals markets and to multiple distributions. At the application framework level, the organization aims to helps distribution creators get a better base to start from, which is enabled on multiple ARM platforms for more commonality, and less fragmentation. In terms of development tools, Linaro believes it can provide better tools to build optimal software, which is are used at all levels of the OS, and which is crucial to achieving the best PPA. All of this is part of the move toward a common kernel and is enabled on multiple silicon platforms, Linaro said.

In the process of ramping from 20 to 80 engineers, the organization will deliver every six months a harvest of all of the latest, freshest code, Combs said. Linaro’s next step is to show proof points at upcoming Linux conferences.