Mentor’s announcement from Design West this week pretty much signals the end of standalone ESL tools, in favor of more useful stuff. They have pulled the pieces of their Sourcery CodeBench environment along with their embedded Linux offering and their Vista virtual prototyping platform into a native embedded software development environment.
The premise is simple: stop having to use this tool for coding, that tool for analysis, this other tool for simulation, and give up on the hardware-centric tools that cause differences in pre- and post-silicon work. It’s easier said than done, however, and one has to read their press release and understand a bit of history to get the picture.
Mentor has always been one of the leaders in Eclipse-based IDEs, which allowed their tools and those from third parties to be integrated into a single working development environment. The vision for Eclipse was always to just plug in better tools as they become available, and over years one can see this panned out nicely. Mentor’s attraction to Sourcery CodeBench was fairly obvious: it was also Eclipse-based, so there was an easy transition for developers.
But, embedded coding environments have generally had to wait for some hardware platform to get any real work done. Code could be simulated in various environments, but the details of hardware usually weren’t there. On top of that, virtual prototyping environments for the most part developed in an alternate reality and looked nothing like the embedded coding environment.
The key to this release ofSourcery CodeBench Virtual Edition is taking a first step into integrating the coding, analysis, and virtual prototyping activities into one tool. The coding and analysis pieces were fairly straightforward, having always existed in some form in an embedded software development environment. What is different here is the integration with Vista, the Mentor virtual prototyping solution.
Mentor is after one environment that supports the entire code flow from SystemC models and QEMU emulation to embedded code development and debug in C to advanced analysis capability using their Sourcery Analyzer – in one developer interface with everything available. This is quite a bit different from leaving the ESL effort in SystemC to the SoC design team, while C development and debug belongs to an application development team.
The potential benefits for software reuse are great. Simulation is nice, but the only way to prove an SoC works is co-verification: running the actual operating system and application, testing the functionality of IP blocks and how well they are integrated. All that work from what was the ESL effort should carry forward somehow, but the tools disparity made that difficult.
I was reading comments on another EDA board about the value of assembling these parts – QEMU, SystemC, GDB and a C compiler, and Linux – and whether designers could do it themselves. The answer is sure. I’ll go with the “plumber” analogy Glenn Perry used: if you want to spend your time building a power saw from scratch before cutting the granite countertop and installing the sink, OK. Eclipse allows one to do that.
Having integrated best-in-class embedded software development tools with validated support for processors and peripherals people can learn to use and get to work quickly seems better, IMHO.
Mentor is hosting an upcoming webinar featuring Sourcery CodeBench Virtual Edition.