Despite our roots as a provider of hardware design tools, we recognize that the software side of software-on-chip (SoC) and system design is driving the industry forward today. Even the most traditional IC companies employ more software developers than hardware designers, and software development extends well into the ecosystem of the electronics development world, including into systems companies. In fact, with our virtual prototyping tools and platforms, in-process designs can easily be deployed through the supply chain, enhancing communication and enabling suppliers and customers to exercise concurrent development.
In the past, hardware and software were developed in isolation and converged at the late integration and testing stages. Time-to-market pressure, combined with the increasing amount and value of optimized software, has led companies to adopt parallel development, enabled by early and iterative prototyping. The Synopsys virtual prototyping tools and development environment enable software engineers to start development months before the hardware design is complete, enabling full system bring-up to occur within days of silicon availability.
Already known for its performance benefits for SoC software development as a design nears completion, virtual prototyping has emerged as a critical aid in system level design. For software developers, there is not a need for cycle accurate verification and developers are more focused on verifying performance and quality at higher levels of abstraction, often independent of the hardware ultimately being targeted. It’s actually more important to only focus on the minimal functionality that is needed to execute the target software, which typically doesn’t require hardware implementation details. Prototyping’s system design benefits are especially advantageous with designs that contain significant new blocks and or changed subsystems that require new or updated software.
With Synopsys virtual prototyping solutions, designers can model a physical system and use this representation for multiple tasks, including architecture design, software development, and system testing. Using fast, fully functional software models of complete systems that execute unmodified production code and provide unparalleled debug efficiency facilitates true concurrent design.