Simics

42 articles

Determinism, Simics, and Flying Piggies

By Jakob Engblom  In a recent Simics seminar, I was asked about repeatability, variability, determinism and Simics. This is a question that comes up almost every time I present about Simics in front of an audience with testing experience. The people asking the question intuitively think that determinism is a bad thing - since it sounds like it will limit the execution scenarios that will…

Simulation is a competitive advantage!

By Michel Genard The American general election is over. Pundits providing postmortem analysis will continue to generate a ton of studies. Let’s examine one aspect of the election that has already generated some interesting ink. This article in Time Magazine mentions how analytic teams tried to predict election results, even running as many as 66,000 simulations night after night. The…

Systematically Exposing OS Kernel Races – An Interview with Ben Blum

By Jakob Engblom Full-system simulators like Simics provide unparalleled insight into what is going on in a target system. Indeed, better insight is one of the main features of simulation that we get regardless of what we simulate and how. In addition, if we want to, we can also exert control over the target system to make it take different…

Analyzing Manycore Scaling with Simics

By Jakob Engblom In my previous blog post on multicore scaling investigations with Simics, I tested a simple parallel program on a variety of machines. The scaling obtained was not particularly impressive, especially not on a 60-core target machine. In this post, we will use the Simics timeline view to look a bit closer at what is going on inside the…

Testing Manycore Scaling with Simics

By Jakob Engblom A few years ago, I did a Simics demo where I tested the scalability of a multithreaded program as the target hardware went from two to four to eight cores. Unfortunately, I could not take it beyond that point, since the hardware platform that I used simply did not allow for more than eight cores. Now, with…

Inside a Synthetic Simulation Platform

By Jakob Engblom Recently, we introduced a synthetic simulation-only Simics target machine called QSP (Quick-Start Platform) and it's included in the latest version of Wind River Simics. The idea of QSP is to give every user a useful Simics target that allows them to immediately start using Simics and begin reaping the benefits of simulation for software development. In this blog…

You Will be Simulated – A Bit Quicker

By Jakob Engblom We just released a new Simics feature, the QSP (Quick-Start Platform). This is a synthetic simulation-only Simics target machine that is included with the Simics base product. QSP provides every user with a useful Simics target that allows you to immediately start using Simics and reap the benefits of simulation for software development, without waiting for a…

Resistance is futile. You will be simulated!

By Michel Genard Within our blog series, we frequently refer to functional simulation as a requisite to do things that aren't possible in the real world when working on a physical board and a cross development system to develop embedded software. By using simulation, you’re transported to a novel dimension where, because of the control over time, you can become…

Teaching Networking using Simics

By Jakob Engblom Wind River Education Services provides user training for a variety of topics, including Wind River operating systems and tools, as well as more general topics like networking. Training always includes hands-on labs, which can complicate logistics for training sessions. Shipping boards and configuring networks is time-consuming and error-prone. For that reason, we are looking into using Simics as…

Forcing Rare Bugs to Appear – an Interview with Tingting Yu

By Jakob Engblom One use of Simics that has always been fascinating is to use the power you have over the target to somehow force error conditions in software. The hardware state control inherent in a tool like Simics should be useful to knock a system off of the expected common path and into code less tested, and to reveal…