Mentor Graphics announced a version of its Sourcery Codebench GNU toolchain and IDE (integrated development environment) that incorporates electronic system-level (ESL) tools for emulating hardware environments, both pre- and post-silicon, on embedded Linux targets. “Mentor Embedded Sourcery Codebench Virtual Edition” integrates trace/debug, hardware analysis, and simulation tools and APIs.
The new Virtual Edition product combines the company’s Sourcery CodeBench and Sourcery Analyzer tools along with its Vista Virtual Prototyping and Veloce2 Emulation Systems platforms.
Prior to Mentor’s acquisition of GNU toolchain company CodeSourcery in 2010, and before it bought embedded Linux development firm Embedded Alley in 2009 and released its Mentor Embedded Linux distribution, the company was known for its “Vista” ESL design tools. Now, the company is bridging the gap between ESL design and embedded Linux software development with a Vista-enhanced version of Sourcery CodeBench that offers deep hooks into hardware design and early visibility into hardware/software interactions.
Embedded Sourcery Codebench Virtual Edition architecture
(click image to enlarge)
Mentor’s Embedded Sourcery Codebench Virtual Edition enables embedded Linux software developers to begin working with new SOC (system-on-chip) and embedded hardware designs prior to manufacturing — even before the SOC’s RTL (register-transfer level) design abstraction is completed, says the company. Virtual Edition provides for the early validation of hardware/software interfaces, and the closer integration of drivers and applications. Additionally, the tools can help developers identify and analyze SOC attributes like latencies, power consumption, and cache hits and misses.
Silicon IP (intellectual property) and SOC vendors can benefit from Virtual Edition by fixing potential bugs and bottlenecks early in the hardware design process, while gaining earlier and wider adoption of their new silicon, according to the company. Meanwhile, embedded software developers can significantly speed time-to-market and produce cleaner code, claims Mentor.
Typically, developers looking for a jumpstart on new hardware before the evaluation boards arrive must learn complex EDA tools, explains Mentor. Consequently, few even attempt it, despite efforts to make the tools easier. “The traditional EDA industry approach has seen limited success by attempting to modify hardware tools for use by software developers,” states the company.
Mentor decided on a different approach, and embedded some of its Vista EDA platform for transaction-level modeling (TLM ) into an optimized version of Codebench. As a result, software developers can “remain in their core development environment and develop, debug, and optimize their complete software stack on virtual prototypes and emulation platforms, before and after first silicon,” according to Mentor.
Eclipse-based IDE with GNU toolchain
At the heart of the new platform is the popular, Linux-focused Sourcery CodeBench C/C++ embedded development suite. CodeBench combines an Eclipse-based integrated development environment (IDE) with GNU compilers, assembler/linkers, runtime libraries, debuggers, and additional tools, including a QEMU emulator.
The Virtual Edition integrates the Sourcery Analyzer add-on tool, which offers application- and kernel-level insight for visualizing and analyzing system data. Analyzer supports numerous time-stamped data formats, including the Linux Trace Toolkit (LTTng).
The Virtual Edition further builds on this Sourcery foundation by embedding pre-silicon technology from the hardware design tool flow while supporting hybrid platforms that combine emulation and virtual prototypes. The key component is Vista Virtual Prototyping, which offers real-time and offline debugging using an early abstract functional model of hardware. Vista integrates modeling formats like OSCI SystemC 2.0, TLM 2.0, QEMU, and ARM FastModels, which are said to provide a close approximation of performance on actual hardware. Vista further enables tuning of both hardware and software, and enables a level of post-silicon bug tracking that is impossible to achieve with evaluation boards, claims Mentor.
Vista Virtual Prototyping correlates hardware factors with software execution flow
(click image to enlarge)
Virtual Edition also integrates Mentor’s Veloce2 Emulation Systems, an emulation and verification system that provides simulation acceleration and in-circuit emulation of complex SOC designs. Features include accelerated block, module, and full SOC regression test runs. There’s also a simulation-like debug environment and a VirtuaLAB environment for verifying SOCs.
Major features of Sourcery Codebench Virtual Edition include:
- Visibility and tracing for memory-mapped registers and deep hardware states, including CPU internals, memories, cache and fetch sequences
- System execution features including stopping all system clocks, and cross-debugging hardware and software execution
- Trace and debug of complex hardware/software interactions deterministically with the ability to set breakpoints on any software or hardware object
- Simulation APIs with semi-hosting and direct access to the target file system for host-target file transfers
- API and backdoor access for testability and non-intrusive software code injection
Mentor Graphics rival Wind River offers somewhat similar hardware visualization and simulation tools with its Wind River Simics. However, Simics has never been significantly integrated with its Wind River Linux or other development tools.
Mentor Embedded Sourcery Codebench Virtual Edition is available now, says Mentor. More information may be found at the Sourcery Codebench Virtual Edition product page.