Virtual Prototype for Embedded System Modeling and Simulation CoMET-METeor from synopsis
Synopsys virtual prototype represents a revolutionary change for target software development — it removes the need to develop code on host workstations and test by downloading to target single- board computers for execution and debugging. Software is developed on a virtual prototype of the target system rather than on a host system. Code is then executed and debugged as it is written — not months later when the silicon is available.
The Synopsys virtual prototype simulates fast enough that it is no longer necessary to use either host-based or hardware-based (ICE, emulation or prototype) development approaches. Since the entire simulation is cycle-accurate, it can be used to develop both software with strict real-time requirements and software that interacts intimately with the hardware. A Synopsys virtual prototype is a PC-based surrogate for the actual chip or system into which the software will eventually be integrated.
Building and using Synopsys virtual prototypes does not require major changes to a software development methodology. Because a Synopsys virtual prototype executes the identical binary code used on the real hardware the choices of compiler and source-code control software are not restricted. Even real-time operating systems available only in binary form will run correctly. Software tools are the standard cross-development C/C++ compilers together with debuggers suited to the target processor(s).
The final choice of a system architecture is assisted by the CoMET environment’s dynamic visualization of systems, parameters, behavior and interactions.
Synopsys’ technologies and models have a high degree of timing accuracy so that the virtual embedded system simulation reflects the actual behavior of even the most demanding real-time systems. Fast and accurate cycle edge simulation enables device drivers and other code to be run interacting intimately with the hardware. Important parameters such as cache size also can be evaluated and optimized, which is impossible in a less accurate environment where cache hits and misses are not modeled precisely.
Critical data can be abstracted from the simulation, including detailed performance data such as bus utilization; cache hit and fill rates, code procedures consuming the most time, and platform power dissipation. Designers no longer need to use rough estimation approaches to look at hardware/software tradeoffs, but can run accurate simulations of the various possibilities and then base decisions on real data:
CoMET® is a system engineering tool that enables the creation of a software simulation-based virtual prototype of a system-on-a-chip. Initially used for architectural optimization and analysis the virtual prototype goes on to become the environment for the concurrent design of hardware and software. With CoMET you can design, simulate, analyze, and optimize complex embedded systems and quantitatively evaluate performance while running real software. METeor® is an interactive, real-time software development environment for embedded systems and system-on-chip (SoC). With METeor you can use the virtual prototype created with CoMET to develop, simulate, debug and optimize embedded software many months before the hardware becomes available.
Quick sketching, rapid experimentation and visualization of ideas are the métier of system architects. Synopsys virtual prototype technologies enable system architects to rapidly construct and evaluate candidate system architectures. A virtual prototype simulates fast enough to enable architects to evaluate architectures under real software loads, including real-time operating systems, protocol stacks and large software libraries — no need to compromise by running just a small sample of the software.
Using Synopsys embedded software development environment, METeor, and the Synopsys virtual prototype software, development can begin even before the detailed hardware design has been finalized. Porting of operating systems and communication stacks, together with the development of both driver and application code, can be overlapped with hardware design and development. Concurrent design and development means substantially reduced product cycle times and time-to-market for new and iterated products.