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 with the 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, software developers benefit from hardware debug visibility and non-intrusive trace 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 models run on the Mentor Vista generated Virtual Platform providing an instruction set simulator for fast code execution and functionally accurate hardware models for other parts of the SoC. A software engineer can debug the code running on the Virtual Platform using CodeBench Virtual Edition, with visibility into hardware states that is not possible on a real board. All hardware registers are visible and can be manipulated. Users can have full control over execution clocks, and can put breakpoints on both hardware and software threads. Both SMP and Non-SMP cluster debugging is supported.
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 project development schedules. 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.
HW/SW Performance 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 validating performance assumptions and decisions before the hardware design is committed. It uses unique Non-Intrusive Trace (NIT) profiling technology allows the software engineers to have backdoor access to software execution with a variety of debug, profiling and coverage features, without the need to recompile their images and without affecting execution behavior. This unlimited non-intrusive system-level profiling results in consistently repeatable deterministic execution. The combined impact of hardware design details and software operation on the overall system performance and power can be directly measured even under final software control to ensure the final product meets its market requirements.
Virtual Prototyping Kits for industry standard platforms
Sourcery CodeBench Virtual Edition supports the Mentor® Embedded Virtual Prototype Kits
- Altera Arria-V SoC
- ARM® Versatile Express for Cortex® A-9
- Freescale i.MX6 Dual/Quad Applications Processor
- Xilinx Zynq-7000 All Programmable SoC
Integration with Mentor Embedded runtime platforms
Mentor® Embedded Virtual Prototype Kits (VPKs) are tightly integrated with Mentor Embedded runtime platforms under the Sourcery CodeBench unified SW IDE. Mentor Embedded runtime platforms include the Mentor Embedded Linux Development Platform and the Nucleus Real-Time Operating System (RTOS). Some platforms include various applications utilizing the Mentor Embedded Linux and Nucleus and other bare-metal applications and demos.
Software and Hardware co-debug on a Veloce Emulator
Debugging hardware and software together on a Veloce emulator allows the hardware RTL 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 RTL code through the Veloce UI. At the same time, a software engineer can debug the code running on the emulator using Sourcery CodeBench Virtual Edition. 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 RTL design. This provides a cycle accurate environment for testing highly hardware dependent parts of the software, to facilitate validation of timing dependencies that could not otherwise be tested until real hardware is available. Software can also run in CodeBench Virtual Edition on a Hybrid co-emulation virtual prototype where it runs faster on the Virtual Prototype processor subsystem while the rest of the design in RTL runs on the emulator. This improves product quality by identifying hardware defects while there is time to fix them, instead of creating ugly and costly software workarounds near the end of the development schedule.
Path to debug and analysis on real hardware
When the prototype or product hardware does finally arrive, Sourcery CodeBench Professional Edition can be used to debug and analyze real world problems via a JTAG probe using the same Integrated Development Environment provided by of Sourcery CodeBench Virtual Edition on Virtual Platforms and the Veloce Emulator.