Home > Community > Blogs > System Design and Verification > virtualization and simulation roundtable
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more conveniennt.

Register | Membership benefits
Get email delivery of the System Design and Verification blog (individual posts).


* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

Virtualization and Simulation Roundtable

Comments(1)Filed under: ARM, Palladium, virtualization, VMware, System Design and Verification, EDA Cafe, Virtual Box

A couple of weeks ago I participated in a roundtable discussion led by Peggy Aycinena that has been summarized and posted on edacafe.com. Please have a look if you are interested in Virtual Platform usage for embedded software.

One of the things that became clear right away is there are way too many terms which mean different things to different people. Peggy meant well by trying to stir up controversy by asking the difference between simulation and virtualization, but the question caused nothing but confusion. I tried to explain that I see at least three basic forms of "virtualization".

  1. The concept in the IT domain that one machine can run multiple operating systems or multiple copies of an operating system and appear to be multiple machines. This is usually done for the purpose of saving hardware costs. Cadence uses this technique to save money when building the compute farms we use to create Cadence software products. In addition to server products there are also workstation products that are similar.
  2. The technique of using a model of an embedded system or SoC to execute software. This is the Virtual Platform application I talk normally write and talk about. This is really simulation, but things like the use of physical host resources such as a USB memory stick or a network connection, and the use of processor models that use dynamic binary translation create overlap with the characteristics of software like VMware Workstation and VirtualBox.
  3. Taking idea #1 from the IT world and applying it to embedded systems. This means that mobile devices can run multiple copies of an operating system or multiple operating systems on the same device. It can be done for security reasons, reliability, to enable legacy applications on the device, and more.

At the roundtable pretty much everybody was from area #2 except Kent Fischer from Freescale. Kent does do #2 for SoC development, but Freescale also does #3 for its multi-core SoC devices that go into embedded products. While virtualization for embedded devices was not the main topic of the roundtable, it's an interesting and growing space. One of the early companies in this area, Trango, was acquired by VMware. You can read about the technology at the VMware website now. Another interesting company to read about is Open Kernel Labs. There are others, so please share your favorites in this space.

Also, feel free to offer your definitions of simulation, virtualization, and emulation.

Next week I'll be at ARM Techcon3 where I hope no Cadence people come to hear my talk which explains how software can be developed for Android on a Virtual Platform and the command to start the Virtual Platform (which is called an emulator in the Android documentation) is "emulator". Luckily, I don't think any of the Palladium commands are "emulator".

Jason Andrews


By Gary Dare on October 19, 2009
Virtual platforms can be simulated on virtual systems using virtualization.
Say that over and over again ... quickly! :)

Leave a Comment

E-mail (will not be published)
 I have read and agree to the Terms of use and Community Guidelines.
Community Guidelines
The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.