feature article
Subscribe Now

Commercial Virtuality

Learning from SwitchCore and Simics

Usually these companies developed their own “home grown” solutions – creating one-shot systems that simulated their particular hardware platforms, then deploying them to eager software development teams waiting to get started so they could avoid the long work nights and weekends associated with being the long pole in the project schedule tent. These simulators were generally thrown away as soon as they were used, making way for development of a new one for the next project.

SwitchCore, “Sweden’s Fastest Growing Company,” develops integrated switching chipsets for use in communications networks. SwitchCore’s devices are used in a wide variety of high-performance ethernet-based switching systems. Since their end products are complex systems-on-chip (SoCs) developed using a custom silicon methodology, SwitchCore’s developers can’t often do software development using actual hardware. Developing software and hardware simultaneously, SwitchCore saw a great deal of potential in virtual platforms for software development.

SwitchCore initially went one step beyond the typical, as they developed their own general-purpose tool in house for high level modeling of their hardware platforms. “Our in house tool was effective, but it lacked the user-friendliness and support required to make it into a commercial product,” says Peter Ygberg, vice president of SwitchCore product management. “We needed to deploy our virtual platform to our customers who are designing systems around our products, so we needed something that could be commercially supported in the field. We decided to evaluate Virtutech’s Simics as a commercially-available alternative.”

SwitchCore was dealing with the typical make-or-buy analysis that often drives development decisions in engineering organizations. In developing their Xpeedium-3 switch chip, they saw a big advantage in being able to use and deploy a simulation-based model of the device to allow software and system design to precede silicon availability. In looking at commercializing their internally developed product, they saw that the support and quality requirements for commercially viable software were much more stringent than for an in-house tool. Commercializing their own tool would take a significant ongoing engineering and support investment. By transitioning to a commercially available and supported tool, they could focus their resources on the places that they added the most value – which was not software tool development.

Ultimately, SwitchCore decided to adopt Virtutech’s Simics platform over continuing their internal development work. As an industry indicator, their decision is a sign that companies are starting to look at simulation-based software development environments more as a generally accepted development methodology than a fringe, early-adopter fad or a super-secret back-room technology/methodology that gives a leg up on the competition. This opens the door for companies like Virtutech to partner with OEMs like SwitchCore to commoditize full-system simulation for software development.

There were other considerations in SwitchCore’s decision as well. “We saw that we would incur a lot of schedule risk because of the multi-chip multi-CPU architecture we were developing,” explains Ygberg. “Virtutech’s product already had those features supported, so our development risk in that area was eliminated. We also had the advantage that Virtutech had a support organization already in place to take care of our customers. Also, it increased the virtual size of our development capability. By adding the capabilities of their engineering organization to ours, we could become much bigger.”

So far, the decision appears to have paid off. SwitchCore is in the middle of development and their first release is on track. In their measurements, that they’ve brought software development times down form a couple of months to less than two weeks. There have been a few bonus discoveries as well. “In our own environment we only could run under one OS. By picking up a commercial product, we instantly had multi-platform support and several other nice features as well.” Ygberg continues. He also points out that doing software in parallel with silicon development has a positive impact on hardware by helping to highlight improvements that can be made to the hardware prior to initial tapeout.

With embedded hardware becoming more integrated (and therefore inaccessible) by the proliferation of SoCs, we expect to see more companies choosing to use virtual platforms for embedded software development. Commercial suppliers are sure to take advantage of this trend and the economy of scale allowed by replacing a traditionally in-house function with a commercial solution. Since there are already several suppliers either in or entering the simulated hardware platform business, competition is likely to drive the technology forward as well.

Ultimately, the winner will be the embedded software developer as mature, robust, high-performance virtual platforms promise a much cleaner and more capable work environment for the software engineer than badly behaved boxes jammed with immature, semi-functional prototype hardware. Software developers that have sampled the capabilities of even these relatively new simulation-based tools are reluctant to go back. They soon become accustomed to the additional features offered by these virtual environments and to the relative stability and predictability of simulation-based design compared with development on prototype hardware.

Management seems to appreciate the additional development flexibility offered by parallel software/hardware development as well. Even with virtual platforms such as these, software will lag hardware by some margin, but the timing and stability of a virtual platform certainly does a lot to level the playing field. Concurrent development will probably be a win-win for teams that learn to take advantage of it beyond the basics, too, as considerable design insight can be gleaned by prototyping hardware/software combinations before committing to a particular architecture or solution path.

For end-customers, the commoditization of virtual platforms means they won’t have to learn a new, proprietary tool for each different chipset or processor that they use in their designs. Moving to a smaller number of unique tools in the development spectrum is an overall win as it allows improved effectiveness by mastering a single tool rather than dabbling in many. In other areas such as EDA this effect has allowed engineers to become experts in particular tools and processes that cross technologies, creating a more capable development team.

While the SwitchCore/Virtutech project is only one cooperative project among many in this space, it looks to us like a reasonable bellwether for the adoption of virtual software development as a mainstream methodology in embedded systems projects. If that’s true, expect to hear many more of these stories in the near future.

Leave a Reply

featured blogs
Nov 22, 2024
We're providing every session and keynote from Works With 2024 on-demand. It's the only place wireless IoT developers can access hands-on training for free....
Nov 22, 2024
I just saw a video on YouTube'”it's a few very funny minutes from a show by an engineer who transitioned into being a comedian...

featured video

Introducing FPGAi – Innovations Unlocked by AI-enabled FPGAs

Sponsored by Intel

Altera Innovators Day presentation by Ilya Ganusov showing the advantages of FPGAs for implementing AI-based Systems. See additional videos on AI and other Altera Innovators Day in Altera’s YouTube channel playlists.

Learn more about FPGAs for Artificial Intelligence here

featured paper

Quantized Neural Networks for FPGA Inference

Sponsored by Intel

Implementing a low precision network in FPGA hardware for efficient inferencing provides numerous advantages when it comes to meeting demanding specifications. The increased flexibility allows optimization of throughput, overall power consumption, resource usage, device size, TOPs/watt, and deterministic latency. These are important benefits where scaling and efficiency are inherent requirements of the application.

Click to read more

featured chalk talk

Ultra-low Power Fuel Gauging for Rechargeable Embedded Devices
Fuel gauging is a critical component of today’s rechargeable embedded devices. In this episode of Chalk Talk, Amelia Dalton and Robin Saltnes of Nordic Semiconductor explore the variety of benefits that Nordic Semiconductor’s nPM1300 PMIC brings to rechargeable embedded devices, the details of the fuel gauge system at the heart of this solution, and the five easy steps that you can take to implement this solution into your next embedded design.
May 8, 2024
39,099 views