simulation

44 articles

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 post, we'll…

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 Neo from…

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…

Getting Code Coverage with LDRA Tools on Simics

By Jakob Engblom A system development tool like Simics is rarely used completely on its own. Simics is usually brought in by companies and development teams who are already using a variety of tools and expect to keep doing so along with Simics. Also, Simics by itself cannot reasonably be expected to solve all problems for all people. Instead, we…

Making a Faulty Serial Port

By Jakob Engblom  As noted before, one common use case for Simics is doing fault injection.  Fault injection is typically added to an existing system without changing it, since the goal is to maintain a fundamentally fast simulator when not injecting faults.  There are a range of mechanisms available in Simics to implement fault injection. This blog post will take a…

Why Simics Won’t Run Super Mario

By Jakob Engblom Emulating old computer gaming systems is a popular consumer-market application of simulation technology similar to Wind River Simics. There are a large number of emulators out there, emulating everything from old arcade games to the home computers of the 1980's to gaming consoles.  These emulators might seem quite similar to Simics on the surface, but in practice,…