Explaining new concepts using the things that we find around us is nothing new. In a previous blog, the connection between changes in sport called for challenging assumptions and trying new types of testing. Today we are going to use another … Comic Books! Having enjoyed a resurgence, there are a plethora of characters that you can study for their special powers. In many cases, it is a character’s inevitable flaws that are more important to the story.
Normally in simulation you find a virtual platform that is a representation of specific hardware components or systems, with sufficient accuracy to run unmodified software. An Unreal Simulation is possibly best visualised as Frankenstein. A combination of multiple virtual components to represent new hardware. Why would you possibly want such an abomination? Let me present you with a scenario to explain.
You have developed, validated, and maybe even deployed software for an embedded device. Now the villains in management want to switch and use a different chip. In their eyes it’s a relatively simple task, but the devil is always in the details. This new chip has a timer that has the equivalent functionality, but different interfaces, etc, etc. For some this would trigger a transformation from mild Bruce Banner to the Hulk at the injustice of such a request. Instead consider the path that Unreal Simulation offers.
Traditionally, best practice when changing SoC vendor has been to switch to the new system and hope that the failures due to change are easy to diagnose. With unreal hardware models you can follow a more incremental approach of only changing one variable at a time. Instead of starting with switching the instruction set and swapping out every single device driver in one go, add the new, or replace the current timer in your existing virtual platform and leave everything else as it was.
Now you can be sure that any failures come from only the single unit under test. No longer do you require the deductive brilliance of Sherlock Holmes, simply apply the scientific approach of Batman to debugging and nab the errant semicolon.
Echoing the many faces of the shape shifting Mystique, your virtual platform can gradually transform as required. The benefit is the ease in which you can independently develop, test, and validate every change. Here is where simulation comes to the fore. Individual changes to the hardware can be merged in an incremental approach, leveraging both parallelism and one change at a time methodology. Gradually you are able to build a complete system while retaining a continuity of regression tests and continuous integration.
No longer is it necessary to don a cape and emulate only Superman when changing SoCs or moving to updated specifications. Instead the question becomes which superhero more closely represents your development style? Post your answer to LinkedIn and try out your super powers with VLAB by contacting firstname.lastname@example.org .
Still not convinced? Take a look at how Unreal Simulation can be used to quickly build a test bench in the video below.