Sourcery CodeBench Virtual Edition
Sourcery CodeBench Virtual Edition delivers a new approach to software developers and enables them to remain in their native software development environment across all stages of hardware development. From early abstract simulation models, through RTL emulation, to physical prototypes and final embedded system products the Sourcery CodeBench Virtual Edition integrates the functionality of the CodeBench Professional Edition and Sourcery Analyzer products, and provides integrated software debug interfaces to Mentor's Vista Virtual Prototyping and the Veloce emulation products.
By using Sourcery CodeBench Virtual Edition, developers benefit from hardware visibility and control that is not possible with real hardware, intuitively integrated into the software development domain. With the Sourcery CodeBench Virtual Edition developer can benefit from:
Software and Hardware co-debug on Virtual Platforms
Software and hardware can be debugged together on an abstracted simulation model of the hardware. The hardware model runs on the Mentor Vista product, providing an instruction set simulator for fast code execution and hardware accurate models for other parts of the SOC. A hardware engineer can monitor and debug the hardware model through Vista. At the same time, a software engineer can debug the code running on the hardware model using CodeBench Virtual Edition, with visibility into hardware state that is not possible with real hardware. This enables software driven model verification, where test software stimulates the hardware and records responses, as well as for functional debug of software which directly interacts with hardware.
Software development on Virtual Platforms
Starting software development on a virtual platform before hardware is available reduces the overall time to market by shifting much of the software debug and system integration to proceed in parallel with hardware development. The visibility that Sourcery CodeBench Virtual Edition provides into the hardware helps debug complex software/hardware interactions, further reducing the time to market. Virtual platforms also facilitate quality improvements in three ways: firstly, they enable an iterative software development approach by incrementally coding, debugging and analyzing code layers instead of writing the code in advance and debugging it all when the prototype arrives; secondly, if hardware defects are discovered or hardware enhancements are required, there is still time to change the hardware design; lastly, virtual platforms are ideally suited to automated test and continuous integration environments.
Architectural Analysis with Virtual Platforms
The simultaneous analysis of software and hardware operation on the same time line which Sourcery CodeBench Virtual Edition provides allows for testing architectural assumptions and decisions before the hardware design is committed. The combined impact of hardware design details and software operation on the overall system performance and power can be directly measured instead of estimated, to ensure the final product meets its market requirements.
Software and Hardware co-debug on a Veloce Emulator
Debugging hardware and software together on a Veloce emulator allows the hardware to be tested using actual product software instead of contrived test cases, and allows the software to be tested on the actual hardware design, well before first silicon. A hardware engineer can monitor and debug the hardware through the Veloce UI. At the same time, a software engineer can debug the code running on the emulator using Sourcery CodeBench Virtual Edition, with visibility into hardware state that is not possible with real hardware. This facilitates software driven hardware verification, functional debug of software that interacts with the hardware, as well as full system integration and OS boot, reducing the risk of unplanned and costly hardware revisions.
Software development on a Veloce Emulator
Sourcery CodeBench Virtual Edition supports developing software on an emulation model which is synthesized from the actual hardware design. This provides a cycle accurate environment for testing hardware specific parts of the software, to facilitate validation of timing dependencies that could not otherwise be tested until real hardware is available. This improves product quality by identifying hardware defects while there is time to fix them, instead of creating ugly and costly software work-arounds near the end of the development schedule
System debug and analysis on real hardware
When the prototype or product hardware does finally arrive, Sourcery CodeBench Virtual Edition supports debug and analysis of real world problems via a JTAG probe with all the same features and benefits of Sourcery CodeBench Professional Edition.