The Shift Left: how virtual prototyping reduces risk
The business case behind how virtual prototyping speeds development, improves hardware and software quality, and improves ROI.
The need for virtual prototyping
Semiconductor companies and OEMs are turning to virtual prototyping to shorten development cycles and buy time to better integrate and more thoroughly test new products. That move entails a ‘shift left’ in devices practices that we will consider, along with its implications, in this article.
The basic characteristics of embedded systems — rigorous size and power constraints, precise allocation of system resources and real-time or near real-time execution — are the best platform match for today’s pocket-size multifunction mobile devices.
However, while the complexity arising from the convergence of so much functionality in such small products has driven hardware and software innovation at near breakneck speed, the methodology that brings them together lags behind.
Sequential development, with software waiting for hardware, remains the prevailing norm. This often fails to deliver quality products within the version cycles and seasonal market windows that rule the consumer space. A 2010 EE Times market study found that 56% of such projects were finished late. Virtual prototyping is a powerful response to that issue.
A virtual prototype is a fast, fully functional software model of a system under development that executes unmodified production code. It is both deterministic and scriptable, and combines fast processor models (instruction-set simulators) and register-accurate models of both on-chip peripherals and off-chip devices to assemble a binary compatible model of the SoC and the system as a whole.
In embedded software development, the virtual prototype acts as the target system, allowing teams to debug and analyze their code in advance of RTL’s availability using familiar software development tools. It also enables hardware/software integration in the absence of physical boards.
Figure 1
Virtual prototyping hardware lets software teams get to work before RTL is available (Source: Synopsys – click image to enlarge)
Shifting gear
Let’s look at the not-so-distant past. Embedded software development was slower paced and sequential, and depended on the availability of physical boards.
Those boards passed into the hands of software development teams like sacred artifacts – and until they did, nothing happened. The boards also cost quite a bit and were rather unwieldy, so software teams sometimes had to wait a long time to have access. That in itself could take a long time.
The traditional embedded development process looked something like this.
Figure 2
Until recently, embedded software development began only when hardware was available (Source: Synopsys – click image to enlarge)
When the software content of an embedded system was relatively small, you could afford to wait for hardware before beginning development. Teams that wanted to start earlier used RTL to represent the hardware, but that process was painfully slow. For 30 years, give or take, this was the status quo. Then, things got complicated.
Today’s use of virtual prototyping lets software teams get to work long before hardware becomes available. Nevertheless, the basic tasks — develop, move to target, debug — remain the same. However, now that hardware and software teams can truly work in parallel, this creates feedback loops that reveal and make it possible to correct problems throughout product development.
There is a further broader. The very same virtual prototype can be shared not only across your own team but also with technology partners and key customers early in the design process. They can also participate in those loops, helping to shape and refine the final product more thoroughly.
This is the ‘Shift Left’: a move from hardware and software development occurring sequentially and in isolation to hardware and software teams working in lock-step, communicating regularly, and continuously integrating their work.
It not only keeps problems from compounding, but also expedites the work that remains once boards become available. The Shift Left looks something like this.
Figure 3
With the ‘shift left’, hardware and software teams work in parallel (Source: Synopsys – click image to enlarge)
Reaping the benefits of virtual prototyping
Let’s look at some more specific examples of where the ‘shift left’ takes us.
Long before chips come back from fab and before boards are built and debugged, software teams receive the fast, fully functional software model of the system. It exactly replicates the target system, giving developers full visibility into and control of the platform during debugging. Because they are virtual, all system components are accessible and debug and test activities are non-intrusive.
In fact, software development can begin before the virtual prototype itself is complete. The ability to grow one incrementally as development progresses is a virtue of virtual prototypes, at each step modeling and providing access to just what is needed to perform the tasks in hand. The prototype doesn’t need to be complete to be usable but instead evolves as development proceeds.
With virtual prototypes, a common golden reference model is easily and inexpensively shared across globally distributed hardware and software teams. Curating the system becomes a software discipline. Prototypes change and evolve during development, but they never break or wear out. Indeed, they can also continue to be used even when hardware is available, providing an easily distributed and easy-to-use development environment as a product becomes increasingly mature.
In multicore designs, breaking dependencies between hardware and software lets software teams choreograph the complex dance among cores required to perform high bandwidth tasks without touching or, heaven forbid, breaking the hardware.
Programming to optimize performance while managing energy consumption is an emerging skillset, some would call it an art form, so being able to practice without negative impacts has real value. Virtual prototypes give software teams the time and tools they need to develop and test multiple usage scenarios — scenarios that are deterministic and repeatable until the best power management solution is achieved.
Time, money and parallel development
Shifting left both saves money and increases revenue. Shorter development cycles reduce overhead and get products to market faster. Better tested products reduce the risk of recall.
On that last point, the extra time that using virtual prototyping ‘buys’ a project also provides more resources to run tests on the increasingly complex functions and scenarios that today’s products incorporate.
Most companies adopting virtual prototyping solutions can expect to experience economic benefits similar to those shown in the chart below. In this example, earlier development and production starts result in a $50M revenue gain over the production life cycle.
The chart in Figure 4 compares net profit and break even experienced from use of virtual prototypes, depicting usage with and without Synopsys Virtualizer Development Kits (VDKs). Figures reflect the use of Synopsys products.
Figure 4
Virtual prototyping ROI (Source: Synopsys – click image to enlarge)
As Figure 5 below shows, virtual prototyping, simulation and system modeling tools are becoming common components in the embedded toolbox. Adoption is growing in every market where time, cost and quality are threatened by complexity. In spaces such as mobile and wireless, consumer, industrial and networking, companies are going virtual to survive.
This in turn drives innovation in the tools available for parallel hardware and software development.
Large libraries of market- and device-appropriate models are beginning to reduce the time and cost involved in prototype creation.
Figure 5
Embedded development tool usage (Source: Synopsys – click image to enlarge)
Virtualizer Development Kits (VDKs) bring together the virtual prototyping elements needed to expedite development: Models and transaction-level model (TLM) creation tools, debugging and analysis tools, optimized operating systems and reference software stacks for particular device types. These elements are packaged with an installer to make the VDK easy to get up and running.
As virtual prototyping tools proliferate throughout the device supply chain, so expertise accumulates. First, the prototypes themselves mature with use and incorporate models of the IP of their owners across product generations, increasing their value over time. Second, the industry as a whole accumulates a valuable store of best practices and tribal technical knowledge that facilitates innovation. When old ways fall short, new tools arise to solve new problems. Virtual prototyping is that kind of impasse-smashing technique.
This article is an edited extract from a much more detailed overview of the fundamental aspects and advantages of virtual prototyping, “The Power of Developing Hardware and Software in Parallel: How Virtual Prototypes Reduce Risk in a High-Stakes Game”. To read the article in full, click here.
About the author
Nithya A. Ruff is Director of Product Marketing for Virtual Prototyping Solutions at Synopsys. She is responsible for strategy, direction, business models, product management and product marketing for the product line. She brings expertise in embedded software and Linux to this position from her earlier role as Senior Director, Product Marketing at Wind River.
Nithya has been in the open source and systems software and security space for the last 15 years at companies such as Silicon Graphics, Tripwire and Cranite Systems where she guided the use of open source in security applications.
She holds an MBA from the University of Rochester, NY, and an MS in Computer Science from North Dakota State University.
Synopsys Inc
700 East Middlefield Rd
Mountain View
CA 94043
USA
T: 1 650 584 5000
W: http://www.synopsys.com/Systems/VirtualPrototyping/Pages/default.aspx