Posted by Tom De Schutter on September 27th, 2013
With the software development effort now accounting for roughly half of the overall SoC development cost, any delay on the software availability side can have a big impact on the SoC availability. As one engineer of a major semiconductor vendor expressed to me: “The SoC hardware is typically only available a couple of weeks before we want to announce and demonstrate it at a major show like CES. If we then still have to do any software development or validation, we are in trouble.”
Well, he actually said something different than “we are in trouble,” but I decided to clean up the language for usage in this blog. The effect is even bigger if delays mean missing deployment in a specific end-product, such as usage of the SoC in a particular tablet or mobile phone.
If we agree that there is a major business impact at stake when software causes the delay in the availability of a new SoC, then what can we do about it? As the saying goes, prevention is better than cure. It is better to prevent software from being the bottleneck in the first place rather than to scramble at the end to make everything work in the final weeks before an important show or customer meeting. Semiconductor vendors around the world have realized that virtual prototyping provides the ideal insurance against software availability delays. Why wait for hardware availability to start software development and then try to fit everything in a very tight schedule when you can start the software development in parallel with the hardware development and compress the overall timeline. These SoC vendors want the right level of insurance against SoC release delays.
As with every type of insurance, coverage is not equal from all vendors. So what are the levels of coverage that you should check off from your virtual prototyping providers? Well, model availability definitely ranks high up in the list. Without a good starting point, creation of the virtual prototype takes a lot longer, thus reducing its insurance value to enable early software development, where the emphasis is on early. Then there is expertise. You want a virtual prototype provider who has the right level of expertise, both in helping to model a virtual prototype, as well as helping software developers to maximize the value of the debug and analysis tools for their specific application.
In addition, this expertise should be coupled with the right level of support, especially local support. What good is it to have car insurance when your insurance agent is always on hold helping someone else or is on the other side of the world and cannot be reached when you need service? To top it off, you want your insurance to cover the right set of ‘risks’. Are you insured against fire damage, theft or earthquakes (where applicable)? Or in virtual prototyping terms, does your virtual prototyping tool help you with dealing with ‘risks’ such as debugging inter-processor communication and synchronization points, optimization of cache utilization through exposure of cache counters, power analysis and software performance optimization focused on frequency scaling.
Make sure to check your coverage carefully. Cheap insurance might look attractive in the short term, but it might not offer what you are really looking for—coverage when you run into an issue.