The Growing Importance of Software
Software development has traditionally trailed the hardware development as part of a sequential design flow. However, today most chips simply will not reach volume production without the availability of the associated software. Therefore, it has become imperative that design teams start software development as early as possible in the design flow, ideally in parallel to hardware development.
Synopsys Solution
Synopsys’ Innovator provides an integrated development environment for embedded system developers to efficiently develop, execute and debug virtual platforms. In addition to the ability to integrate transaction-level models from various sources, Innovator eases the authoring of SystemC TLM-2.0 compatible models. Once a virtual platform is assembled and verified with Innovator, it can be delivered to programmers as a standalone, run-time executable with open interfaces for software debuggers and software development tool chains, seamlessly fitting into software developers’ work flows.
In combination with the Synopsys DesignWare® System-level Library of tool-independent, transaction-level models, Synopsys’ Innovator delivers a complete, high productivity environment for developing virtual platforms.
Virtual Platforms
Virtual platforms are an effective method of advancing software design to an early stage of the development project. Virtual platforms are fully-functional, transaction-level software representations of a hardware design. Virtual platforms include single- or multi-processor SoCs, peripheral devices, I/O, board components and user interfaces. They execute unmodified production code, including drivers, the OS and applications at close-to-real-time speed. Recent industry standardization around OSCI’s SystemC TLM-2.0 API provides the industry an interoperable infrastructure in which virtual platforms can be efficiently assembled.
Developers and Users
With an average of 60% of blocks in a SoC being reused, virtual platform developers face challenges similar to engineers doing physical implementation, including how to integrate abstract models of the blocks that come from multiple sources (e.g., prior virtual platforms, 3rd-party providers, etc.) and how to quickly create new ones when the models don’t pre-exist.
Software programmers are the primary beneficiaries of virtual platforms, as they use the hardware representations to begin the development of their embedded software up to 9 months before silicon is available. Innovator enables the delivery of virtual platforms that fit seamlessly into customers’ software development flows, flexibly interfacing to existing software debuggers and development tool chains of compilers and linkers. Virtual platforms also benefit verification engineers, who reuse them to in their testbench environment.
Synopsys has a rich set of pre-assembled virtual platforms that are the result of successful customer deployments.
Virtual Platforms for Embedded Software Development
The primary use model for virtual platforms is to advance embedded software development to an earlier stage of the development project.

For a layered software architecture as depicted above, virtual platforms are ideal development vehicles for software drivers, OS and middleware, all the way up to end applications.
As a solution to support decision making at the embedded system level, Innovator offers users the ability to instrument SystemC™ TLM-2.0 based virtual platforms with power-related information to enable software-driven power optimization.
When instrumented with power data, virtual platforms can be used for two main purposes. First, the development of power management software can be started early, even before RTL is available. Second, given that virtual platforms are available early in the design flow, power analysis results can be used as feedback into the architecture phase and guide changes in partitioning the architecture of voltage islands, etc.
Within Innovator’s graphical user interface, parameters for power models (e.g., average power consumption for different states) can be entered. The appended power information can be sourced from experience in previous projects, using RTL simulation or using early estimates. Synopsys VCS® RTL simulation can be used to determine power consumption at the RTL level. The resulting characterized power data can be fed back into the virtual platform model in Innovator.
As the SoC design cycle progresses, virtual platforms evolve to meet different needs beyond pre-silicon software development, including functional verification. There are three main use models of “software driven verification”, which utilize the integration of virtual platforms with signal level simulation at the register transfer level.
First, before an RTL block becomes available, it can be substituted for its transaction-level model in the virtual platform. Software can then be verified on this version of the platform as a way to validate both hardware and software.
Second, the virtual platform can provide a head start towards testbench development and post silicon validation tests by acting as a testbench component running actual system software. The virtual platform can be used to generate system stimuli to test RTL, and then verify that the abstracted models and RTL function in the same way.
Additionally, as portions of the virtual platform are verified as equivalent to their corresponding RTL, the virtual platform can become a golden or reference executable specification.