Unified hardware/software debug with embedded virtual prototyping

January 21, 2015 // By Graham Prophet
Focussing on non-intrusive trace for embedded systems optimisation, Mentor Embedded Virtual Prototype Kits (VPKs) in the Mentor Graphics Vista and Sourcery CodeBench Virtual Edition product lines enable embedded developers to integrate, execute, validate and optimise software on a variety of platforms and application environments including automotive.

Software debug and analysis, particularly for multicore heterogeneous systems, requires understanding complex hardware and software interactions, which is challenging with physical boards executions given the limited trace and control. Virtual prototyping allows developers to run software on a large number of configurable virtual prototypes to explore various configuration alternatives and software execution threads. This is done without the need for probes and complex board setup. Compared to executing software on physical boards, virtual prototyping with the Vista product introduces unique timing and profiling technologies, with deeper, non-intrusive visibility and control of the entire system, including timing-dependent behaviour. Mentor says you can achieve deterministic execution and unlimited non-intrusive system-level profiling for efficient hardware and software analysis. Integrated debugging with combined software and hardware view provides more complete system information to developers.

A user comment from Freescale notes, “Virtual prototyping is an important methodology for validating our software ahead of hardware availability and for tuning it for best performance. It accelerates the development cycle across our software and hardware teams and allows for higher productivity and greater quality code once the hardware ships,” said Amanda McGregor, Global i.MX 6 series Product Manager at Freescale. “The deep ‘white-box’ visibility and control is an important mechanism to uncover complex hardware/software interaction, inject faults, analyse data transfers, and identify bandwidth and resource utilisation issues that would have been hard or too late to find on the physical hardware.”

Virtual prototyping is appropriate, Mentor says, for software developers who need to integrate systems and functionalities into a single device, optimise software performance, and conduct software validation and regression testing. Virtual prototypes can also integrate seamlessly with RTL verification flows (e.g. UVM) and emulation to maximise simulation speed and debug efficiency.

The Vista and Sourcery CodeBench Virtual Edition products now support off-the-shelf, configurable virtual prototypes for the following device families: Altera Arria-V, ARM Versatile Express for Cortex A-9, Freescale Semiconductor’s i.MX 6, and Xilinx Zynq. The products