Why Are People Using Virtual Platforms?
The embedded software contained in modern electronic products has evolved dramatically in recent years along three dimensions:
- Scale: The use of embedded software operating on standardized hardware platforms has become increasingly common as the cost of IC hardware production increases. This has driven up the sheer volume of code required for each project, and the effort to produce it.
- Complexity: The new 64 bit and multi-core processor architectures have been continually improved, providing the necessary performance and capability to meet modern product requirements. However, coding for these new processors has become exponentially more complex than previous generations.
- Quality: Modern electronic product functionality and quality requirements continue to increase dramatically, suggesting a zero tolerance for post-production bugs. In addition, embedded software has become harder to change as a product moves into production.
In the past, embedded software development and verification was typically performed by running code on a prototype of the hardware platform until the project team was satisfied that a working system had been achieved. This solution is time-consuming, unreliable in terms of quality and hard to use, making it impractical for next generation embedded software development. Similarly to hardware verification 15 years ago, new thinking must be applied if high quality embedded software is to be produced in a timely fashion.
Virtual platforms offer an alternative to hardware prototypes. Software models of the key components in a processor platform are combined to form an executable sub-system. The models must have enough functionality to execute the code correctly, but retain a level of abstraction that provides the performance necessary for rigorous testing.
To read more about why Virtual Platforms are being adopted read here.
Currently available Imperas / OVP Virtual Platforms / Virtual Prototypes.