Synopsys has launched a book on virtual prototyping that includes case studies from mobile, consumer, industrial and automotive companies that have been using the technique to do software development and hardware/software integration.
Among the companies that have contributed are Altera, Bosch, GM, Hitachi, Lauterbach, Linaro, Microsoft, Renesas, Ricoh, Siemens, and Texas Instruments. The case studies cover a wide variety of approaches to using virtual prototypes.
Tom De Schutter, who has edited the book and works as product marketing manager for Virtualizer – VDK at Synopsys, said: “The whole premise of the book is how to start software development without any hardware.”
Figure 1 Better Software, Faster!: why and how to use virtual prototyping to accelerate software and system development (Source: Synopsys)
The first chapter of the book reviews the rise of software complexity as ICs become more integrated and start using multiple processor cores, especially in the light of conflicting requirements to reduce power, increase performance and maintain security. Virtual prototyping is discussed as a way of ‘shifting the design process left’, that is, starting software development earlier in the overall design process.
The second chapter describes the virtual prototyping methodology in the context of software bring-up, test and debug challenges. Texas Instruments explains how it uses virtual prototypes to cut software bring-up time to a few days, and Siemens discusses using the technique to provide early feedback to SoC designers.
In chapter 3, Fujitsu describes how it has used virtual prototypes to improve communication between its hardware and software development teams as it adopts ARM’s big.LITTLE processor cores. Texas Instruments and Altera discus the use of virtual prototyping to increase the productivity of software teams tasked with porting operating systems to new hardware.
Chapter 4 discusses how the automotive industry is using virtual prototyping to undertake the extensive software testing necessary for its safety-critical systems. Bosch describes how it is using the technique for software bring-up and test, as well as a functional specification for system integration tasks. Hitachi discusses how it has extended its use of virtual prototypes from the design and implementation for software to cover system level testing and validation of automotive systems. And GM explains how it is virtual prototyping to improve its development processes for automotive applications.
Chapter 5 looks at ways in which virtual prototypes can be used to accelerate development throughout the entire electronics supply chain, by using them as an executable spec of a prod under development. Altera describe show it has applied this approach for it Cyclone V and Arria V SoCs, and Linaro discusses using it for faster porting on to new ARM devices. There’s also a discussion of how Synopsys and Renesas used virtual prototypes to enable software developers to speed up complex driver, multicore and AUTOSAR software development and system integration process using virtual hardware-in-the-loop processes – while the target microcontroller was still being developed.
Chapter 6 looks at ways to couple virtual prototypes with hardware approaches such as FPGA prototyping in a hybrid set-up. Ricoh describes its hybrid approach to developing an image processing engine, coupling an application subsystem expressed in a virtual prototype to an emulated version of and RTL description of the image-processing engine.
The last chapter includes a discussion of the case for virtual prototypes among experts from Lauterbach, Microsoft and Synopsys.
Download the free eBook of Better Software, Faster! here.
Further virtual prototype information and earlier installments
Please also check out our series of articles on virtual prototyping:
Part One: An introduction to core techniques for virtual prototypes – click here.
Part Two: An illustration of virtual prototype tools and techniques using the example of Linux bring-up on an ARM-based SoC – click here.
Part Three: Focusing on detecting heap memory corruption using software assertions – click here.
Part Four: discusses the extra levels of debug capability available when using virtual prototypes through the example of an ARM big.LITTLE-based embedded system – click here.