This is Jakob Engblom's Typepad Profile.
Join Typepad and start following Jakob Engblom's activity
Join Now!
Already a member? Sign In
Jakob Engblom
Uppsala, Sweden
Technical Marketing Manager - Simics at Wind River
Recent Activity
Image
A few week ago, Intel announced the Crystal Forest platform, a new IA-based platform for networking and communications applications. The first Crystal Forest hardware is appearing now, but we have been working with Crystal Forest on Simics for more than a year already. While we cannot yet talk about the details of the hardware (and in any case, that is really Intel's job, not ours), it is a pretty complex piece of silicon. Crystal Forest is based around Sandy Bridge processors and features hardware acceleration for network and security tasks. It features multicore 64-bit processors with virtualization and the latest... Continue reading
Posted Mar 8, 2012 at Jakob Engblom
Image
Networked systems is one of the primary application areas for Simics. Simics can run many machines inside a single Simics simulation, and apply all Simics features to the system, not just to a single machine inside the system. This is something that Dan Poirot from Real-Time Innovations, RTI, has made quite extensive use of recently. It is a pretty cool use-case for Simics, so we arranged to interview Dan about his use of Simics. Jakob Engblom: We start with the basics. Can you introduce yourself? Daniel Poirot: Hello! My name is Daniel Poirot. I am the RTI Senior Field Applications... Continue reading
Posted Nov 16, 2011 at Jakob Engblom
Image
My blog posts about Simics tend to focus on how virtual platforms are used and what you can do with them. However, underlying all Simics use is the issue of getting a virtual platform in place. You need some kind of platform to run your software on in order to get the full benefit of Simics. Thus, creating virtual platforms is an important part of practical Simics use for many of our users. We have been working with Simics for more than a decade, and we have learnt a lot about modeling along the way. The approach we have ended... Continue reading
Posted Aug 2, 2011 at Jakob Engblom
Image
They just upgraded our coffee machine in the office. When I came out into the kitchen to get another cup, a service technician was there with a laptop perched on the sink and a USB cable running into the innards of the coffee machine, into the back of its open front panel. When I asked what was going on, he said that he was updating the coffee machine. In particular, he was adding the feature of selecting the strength of the coffee being brewed. A software update to add features to a coffee machine? It is a bit weird, but... Continue reading
Posted Jun 17, 2011 at Jakob Engblom
Image
Simics 4.6 is now out, and I would like to share some of my initial impressions of the new Simics version. The most visible new feature is probably the Simics source code debugger in Eclipse. Source code debug might seem a yawn, but the way it has been integrated with Simics provides some new and unique abilities that at least I have never seen before in a debugger. Most importantly, the debugger works on the system level with a single debug connection. An example is shown in the screenshot below, where we have two machines in the same Simics simulation... Continue reading
Posted May 31, 2011 at Jakob Engblom
Image
Wind River Simics has been used in teaching for as long as I have been aware of Simics. Indeed, my first contact with Simics was when it was used in a graduate computer architecture course at Uppsala University in Sweden. In that course, we modeled cache hierarchies and replacement strategies with Simics and measured the performance results. A few years later, I was part of a team that created a project course based on Simics where students got to write their own operating system from scratch. Using Simics in teaching is an ongoing interest of mine, and that's why I... Continue reading
Posted May 11, 2011 at Jakob Engblom
Image
In 2011, we mark several anniversaries here at Wind River and in the world of virtual platforms. First of all, it is 30 years since Wind River was founded, in 1981. Ten years later, in 1991, the first code of what would become Simics was written by Peter S Magnusson at the Swedish Institute of Computer Science. Thus, Simics turns 20! 2011 also marks the 60th anniversary of the instruction-set simulator and virtual platform-based debug. In 1951, Stanley Gill from the Mathematical Laboratory at the University of Cambridge published a paper called "The Diagnosis of Programmes on the EDSAC" in... Continue reading
Posted May 5, 2011 at Jakob Engblom
Wind River just released the world's first 64-bit RTOS, Wind River VxWorks 6.9 for the 64-bit Intel x86 Architecture. This is a great achievement by the VxWorks team, and I am proud to say that Simics played a role in the development of the 64-bit port of VxWorks. Simics was used throughout the development in a variety of ways. One particular clever technique was used at the very start of the project to kick-start development and overcome the hurdle of getting hardware support in place. An operating system really consists of two main parts. There is the kernel that manages... Continue reading
Posted Mar 25, 2011 at Jakob Engblom
The US National Highway Traffic Safety Administration (NHTSA) recently released a deep report into last year's issue with "unintended acceleration" on certain Toyota cars. They actually employed a team from NASA who analyzed the throttle control software using a wide range of cutting-edge tools. Reading their report gives a good idea for how embedded control software is developed, and the challenges inherent in validating it. The conclusion is that the software is not a likely cause of the problems. The real meat of the report (and its appendixes) is just how this conclusions is reached, and what it says about... Continue reading
Posted Mar 11, 2011 at Jakob Engblom
One very important property of a virtual platform like Simics is its speed of execution. Without sufficient execution speed, a virtual platform is not very useful - users want to have results in reasonable time. Raw simulation speed (getting as many target instructions as possible simulated each second) is important, and Simics is certainly pretty good at that. It is not necessarily the case that the best way to get a job done faster is to process instructions faster. Sometimes, working smarter rather than harder is possible. Typically, working smarter means doing less to achieve the same goal. If the... Continue reading
Posted Feb 23, 2011 at Jakob Engblom
The other day, I spent some time getting a new operating system up on one of our Simics virtual platforms. The platform is stable, the hardware is shipping and it is being used with the very software I was setting up. However, as the operating system was booting, I got quite a lot of warnings from Simics about incorrect hardware settings. The operating system still worked, however, so why did we see all these warnings? Actually, when is it prudent to issue warnings to a user about suspicious uses of hardware? When building Simics models, we want them to be... Continue reading
Posted Feb 11, 2011 at Jakob Engblom
Image
A new book about processor and system-on-chip simulation recently appeared. Edited by Professor Rainer Leupers and Professor Olivier Temam, it features chapters from a wide spectrum of academic and industrial authors. The chapters in the book each come from a particular company or research group. Each chapter addresses a different problem or technology, from a different perspective. This provides a good overview of the SoC simulation landscape, from processor architecture through hardware design to software development, system integration, and testing. I had the honor to co-author one chapter, about Simics. In our chapter, I, Bengt Werner, and Daniel Aarno describe... Continue reading
Posted Jan 27, 2011 at Jakob Engblom
Making good design decisions is hard, making bad decisions is easy. The best way to avoid really bad design is to actually work through how a certain design works in practice. One of my favorite examples is how Jeff Hawkins walked around with a mockup of the original Palm Pilot to tests its real feel through daily "use". The same principle applies to software architecture. When you design a software component that other programmer's will use, the best way to make sure the design makes sense is to use it to accomplish something. Just creating an API and some unit... Continue reading
Posted Dec 22, 2010 at Jakob Engblom
In a virtual platform world, cheating is sometimes a good thing. One man's cheat is another man's optimization. Let's start with a story from the 1904 olympics in St Louis. In the marathon race, a runner crossed the finish line far ahead of the competition at an incredibly good time. It quickly became clear that he had cheated - he had been riding in a car for about half the race. This was obviously wrong, and he was quickly stripped of his "victory". Running a marathon is defined as covering the distance on foot. Using a car is not an... Continue reading
Posted Dec 10, 2010 at Jakob Engblom
I recently gave a talk at an industry-academia collaboration called ICES, Innovative Center for Embedded Systems, at KTH in Kista, Stockholm, Sweden. The theme was embedded multicore, and I realized that my role at these events seems to have changed. A few years ago, I would be the "embedded guy", defending the collective of embedded systems against speakers assuming that everything was a homogeneous shared-memory multiprocessor. This time was different, though. I have become the "debug fanatic". There seems to be less need to explain embedded multicore nowadays. The academic community and multicore event participants seem to have finally accepted... Continue reading
Posted Dec 2, 2010 at Jakob Engblom
Last week, I went to Tel Aviv to present at the CDNLive event taking place there. CDNLive is Cadence's user meetings, and while still being mostly about hardware design and classic EDA, they added a small track about embedded software where I was presenting. The trip was quite a climate shock, going from Sweden where the puddles had just started to freeze at night to the coast of the mediterranean with 30+ degrees. The welcome was also warm, and I really appreciate the effort the local Cadence staff put into organizing the software track and the good discussions we had... Continue reading
Posted Oct 29, 2010 at Jakob Engblom
Image
After Summer, I have been in contact with Tennessee Carmel-Veilleux at the École de technologie supérieure in Quebec, who has been doing some really cool work with Simics. Tennessee has learnt Simics very quickly, and has been very clever in how to apply Simics to the research problems he has encountered. In this interview, he tells us some more about his research and use of Simics. I prefix my comments with "JE", and his with "TCV". JE: We start with the basics. Can you introduce yourself? TCV: My name is Tennessee Carmel-Veilleux and I am a masters student in the... Continue reading
Posted Oct 26, 2010 at Jakob Engblom
In the 1970's BBC comedy show Fawlty Towers, John Cleese manages to turn harmless everyday situations into total disasters, with very little effort. It is a marvellous example of how to inject faults into what could have been a smoothly operating hotel, and demonstrating just how things fall apart as the unexpected happens. Injecting faults isn't always that easy, unfortunately (or should that be fortunately)? I recently read an article by Steve Chessin in ACM Queue about fault injection, where he discusses how the UltraSPARC II and III systems from the late 1990s and early 2000s supported hardware fault injection... Continue reading
Posted Oct 15, 2010 at Jakob Engblom
Image
When you explain what a virtual platform or full-system simulation solution like Wind River Simics is, a key part is that it runs the same software as a physical board or physical system. This does capture the core of the idea - but it does not mean that the virtual platform is only "just like the real thing". Comparing virtual and physical systems is like comparing apples and apples, not apples and oranges: while apples are mostly interchangeable, they is certainly variation between them. Some apples are best for eating, some are better for making sauce, some are pie material,... Continue reading
Posted Oct 6, 2010 at Jakob Engblom
I spent most of last week at the S4D conference in Southampton, the UK. A small gathering of people interested in debug, it seems to be a good indicator of trends in debug. The dominant trends this year were clearly tracing and instrumentation. From the perspective of a virtual platform, tracing is a natural task, and it can be done with much less pain than on a physical platform. Tracing on a piece of hardware requires that the processor or SoC at the heart of the system has an interface that can communicate a trace to an external trace box,... Continue reading
Posted Sep 23, 2010 at Jakob Engblom
Image
A virtual platform like Wind River Simics is generally designed to be deterministic. Determinism brings a host of benefits to users (repeatability of bugs, reverse execution, bug transportation, etc.), but is also easily misunderstood. Quite often, users fear that they will lose an important "feature" of a physical machine - its built-in variation across runs of the same software. If the virtual platform is deterministic, surely it will not expose all the different ways a program can run that you get on a random physical machine? Yes it can. There is a huge difference between the repeatable determinism of a... Continue reading
Posted Sep 9, 2010 at Jakob Engblom
Image
I have a paper about "Transporting Bugs with Checkpoints" to be presented at the S4D (System, Software, SoC and Silicon Debug) conference in Southampton, UK, on September 15 and 16, 2010. The core concept presented is to leverage Wind River Simics checkpointing to capture and move a bug from the bug reporter to the responsible developer. It is a fairly simple idea, but getting it to work efficiently does require that some things are done right. This approach to bug reporting solves two of the fundamental bug reporting problems with the same mechanism: How to reliably reproduce a bug at... Continue reading
Posted Aug 31, 2010 at Jakob Engblom
Image
After my blog post on Academic Simics earlier this Summer, I got a very nice reply from Girish Venkatasubramanian of UFL. Turned out that he and his group was doing some really interesting and exciting stuff with Simics, researching into Hypervisor architectures and hardware support. Having been a PhD student myself, I can certainly appreciate the excitement and fun of working in that field. We ended up doing a virtual interview, which I am happy to present here. We start with the basics. Can you introduce yourself? I am Girish Venkatasubramanian, a PhD candidate at the Department of Electrical and... Continue reading
Posted Aug 26, 2010 at Jakob Engblom
Image
Normally when people are introduced to virtual platforms or full-system simulators like Wind River Simics, they jump at the ability to support software development before the hardware arrives. This is certainly an exciting prospect, as we all like shiny new things. What is often not as obvious is the extensive use of virtual platforms to support old, aging, and obsolete hardware. There is a huge need in industry for easily available instances of older hardware. Virtual platforms like Simics offers one way to improve the situation. Essentially, anything can be made into a virtual platform, whether it is designed tomorrow,... Continue reading
Posted Aug 20, 2010 at Jakob Engblom
I couldn't agree more that testing seems to be having some kind of crisis. The number of flaws spotted in the wild is amazing/appalling (choose one). What I often see missing is that deep understanding for a product and the destructive creativity that starts with how it might actually be used and then go on to find the scenarios that nobody in development thought about. Testing is really just as important as development, and you want just as sharp people in there as in product creation - but with a different aptitude. I walked through some recent examples of bugs that you think should not have escaped, at http://jakob.engbloms.se/archives/1185 and http://jakob.engbloms.se/archives/1147
Toggle Commented Aug 11, 2010 on It’s Time for Testers to Step Up at Paul Henderson