Shift Left: Software Or Hardware?

Early software development is now being used to accelerate hardware verification and hardware-software integration.


A couple of weeks ago I was with a virtual prototyping user who described the benefits his company has seen from deploying virtual prototyping for early software development. The use of virtual prototyping has been rolled out progressively to more projects over the years, making it possible for the company to measure its impact on the software availability schedule and the impact has been dramatic. He stated that the software team’s stance on virtual prototyping has changed from “we don’t want it” to “we will tolerate it” to “we want more”.

In fact the shift left of the software development schedule and the availability of quality software through the use of virtual prototyping has been so dramatic that software availability, in a lot of cases, is no longer the long pole in the tent when it comes to releasing a new SoC.

Given the increased importance of software driven use cases and the explosion of software that has to run on a SoC, verifying the hardware in the context of the software has become the critical path.

However, this doesn’t mean that shift left of software development is becoming less important in favor of shift left of the hardware design and verification. In fact, it means that the software needs to be available even earlier as it is now a key factor in verifying the hardware. The result is a double shift left of hardware and software.

It also expands the role of virtual prototypes. Thus far the emphasis has been mostly on enabling early software development to ensure software availability alongside the hardware. Now virtual prototypes can help in accelerating software availability to drive the hardware verification and the hardware/software integration. Plus a hybrid setup of virtual prototype and hardware emulator can provide much faster execution of the software stacks as part of the software-driven verification step.

As discussed in a previous blog, hybrid emulation mixes the speed of a virtual prototype to run the application subsystem with the ability to verify the rest of the SoC mapped onto an emulator.

With the continuous growth of software content and complexity, and increasing time to market pressure spilling over from mobile to all other electronics driven markets, including automotive, shift left is more important than ever. In fact the shift left concept has become a universal term across software and hardware. This means that an investment in virtual prototypes pays off even more so than before. Since they enable earlier software availability and accelerate software driven hardware verification (in context of a hybrid emulation setup), their use has become a no-brainer. At least that is what users are telling me …