“You say you want a revolution? Well, you know . . . we all want to change the world.”
John Lennon penned that opening line of The Beatles’ “Revolution” in 1968. And it’s just as relevant now as it was 40 years ago. The electronics industry stands on the threshold of an era of creative innovation as it rushes toward multicore system-on-a-chip (SoC) design.
The increased number of processors in consumer devices that formed the multicore trend has disrupted the existing sequential software flow. Unlike Lennon’s lyric that promised a revolution, the electronics industry is still waiting for one to manage the way in which multicore architectures can be handled in a productive and efficient manner.
Of course, virtual platforms with proprietary languages have been introduced throughout the last 10 years or so, but have lacked performance, model interoperability, and ease of use. Specifically, on the hardware side they fail to meet the challenges of growing complexity, such as multicore or array-of-processor architectures. For embedded software development, these platforms have focused on highly accurate simulations, which are great for driver and firmware development, but totally inadequate for running billions of instructions for applications.
The development of embedded software for multicore designs is a problem that consumes resources, time, and money—and in effect thwarting the delivery of the final electronics device. Design teams have addressed the problem in one of two ways––by implementing virtual platforms into their design environments as hardware virtual platforms or through software operating system virtualization.
Well you know, if you are developing embedded software then virtual platforms will be increasingly important, especially if you are working on designs with more than one processor. While hardware virtual platforms give the software teams a view of the hardware resources, they take too long to develop and are too slow for comprehensive software verification.
Conversely, operating system virtualization has the speed, but provides no view into the hardware, a critical consideration for software optimization, verification, and debugging. As a result, the co-design of software and hardware has never been more important, and the need to offer tools and a reasonable solution to accommodate both camps has never been greater. In this competitive environment, waiting is not an option. Instead, the industry would love to see the plan.
We’re doing what we can. The electronics industry is rallying around an effort known as Open Virtual Platforms (OVP) to address the limitations of the previous generation of hardware virtual platforms. It is meant to accelerate the adoption of the new way to develop embedded software for SoC platforms.
You ask me for a contribution
OVP, available as open source, supports a freely downloadable virtual platform technology that’s built on an infrastructure that can handle the complexities of multi-processor systems on chip (MPSoCs). It includes a library of existing models and a reference simulator, because simulation continues to be the best way to solve embedded software development problems, and software needs to be comprehensively tested early in the process.
Adopting virtual platforms enables earlier development and testing of software, reducing SoC schedules, and should significantly reduce initial development and maintenance costs for embedded software.
With a nod to Lennon and McCartney, “Don’t you know it’s going to be all right?” Free your mind and join the revolution for solving embedded software verification problems now at: www.OVPworld.org. We all want to change the world. OVP is a start.
Special credit and thanks to John Lennon and Paul McCartney, August 1968.