Network Software Bring Up

Virtual prototypes can simulate a network setup to test software in the context of an entire system.


By Tom De Schutter
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, however, is 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 this week, in a session titled Ease Debug and Control of Network Software Using Virtual Prototypes to Do Full System Simulation. We explained how network software bring up can be accelerated, both by starting much earlier and by having more productive tools, using virtual prototypes.

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.

One of Synopsys’ approaches is 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.

It’s also critical 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.

To end this blog post with a bang—well in this case with a dunk, because 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.


Leave a Reply

(Note: This name will be displayed publicly)