Posted by Tom De Schutter on April 2nd, 2013
Network software bring up, earlier with virtual prototypes
With their latest Cortex-A processors, and especially the ARMv8 Cortex-A57 processor, ARM has provided the right scalability and performance required for network applications. Porting and developing software for these multicore/multi-cluster designs is, however, not a trivial task and cannot be done as an afterthought. That is the topic that Robert Kaye from ARM and I addressed at SNUG Silicon Valley on March 26. We explained how network software bring up can be accelerated, both by starting much earlier and by having more productive tools, using virtual prototypes. Not only do Virtualizer Development Kits, which are software development kits that use a virtual prototype as target, provide the ideal set of tools and models for the task as evident in the figure below; they also have the ability to simulate a network setup.
The Synopsys DesignWare transaction-level model for Ethernet has the ability to connect a VDK to the physical network and to other VDKs through a virtual hub. That way it is not only possible to bring up and test software in the context of a specific SoC, but also in the context of the full system:
In the end you want to test the setup for reliability and security by running real software scenarios. And that is exactly what virtual prototyping is about: bring up of actual software before hardware is available.
ARM and Synopsys continue to collaborate closely to help customers achieve their goal to create and test devices and infrastructure as quickly as possible. And that means providing solutions parallelizing hardware and software such as these Virtualizer Development Kits with ARM Fast Models and Synopsys DesignWare models.
To end this blog post with a bang, well in this case with a dunk: since a network is all about enabling communication to achieve a certain goal (share data, make an online call, …), I had to think about my network software presentation when watching this amazing dunk on YouTube: http://www.youtube.com/watch?feature=player_embedded&v=cylFQ7-K2IE#!