Posted by Tom De Schutter on April 25, 2014
The question in the title has been one of the most asked questions by my son lately. Or as my wife says, his brain is 90% focused on Minecraft and 10% on everything else. For those not familiar with Minecraft, it is a lego-like computer game or as the Minecraft website reads: “Minecraft is a game about breaking and placing blocks.” It has literally captured the imagination of my son and to lesser extent, of my daughter as well. They can build houses, boats, clouds, towers, bushes shaped like pokemons and so on. And since building the same stuff over and over again would be boring, the question of “What should I build next?” comes up a lot. As with any building environment (virtual or real), what you can build is bound only by the available building blocks. So the Minecraft developers have provided users with all sorts of building blocks like wood and stone. Other blocks like water and lava are also available and can be used to achieve interesting effects. Different coloring options put the finishing touch to any construction.
When you think about building a virtual prototype for your next-generation SoC, the question “What should I build next?” is actually a fundamental one. While you could argue that creating a virtual prototype that reflects your entire SoC will fully enable the software team to bring up, debug and test all software stacks, doing so would make you miss out on one of the fundamental advantages of virtual prototypes, which is to align the virtual prototype availability with software bring up and testing tasks to enable the software team to start as far ahead as possible before hardware availability. Yes it is possible to create a virtual prototype that reflects an entire SoC, but it will take a lot longer to deliver. Instead it is much more advantageous to stage the virtual prototype development such that each drop enables another piece of the software stack. On top of that, the resulting virtual prototype deliverables are actually not only available earlier to the software developers, they are actually better as they will simulate faster and it is easier to debug a minimal system rather than something that reflects every single piece of the SoC.
Once you know what to build when, the next question is all about available building blocks. Without the right set of transaction-level models you can imagine any virtual prototype you want, but it will be hard to meet the modeling deadlines. Luckily there are now models available for just about every commercial processor, infrastructure and interface IP. And advanced modeling tools make it easier to create models representing custom IP, pulling in IP-XACT or other data sheet related information to construct the model structure to which functionality can be added. Now the only thing that is missing is some coloring options to make your imagination go wild …
So when your children talk about something they built in Minecraft, just tell them what fantastic virtual prototype you created or used. You can even brag about all the bugs you eliminated in your software. Let’s see if they were able to successfully battle an equal amount of those so called creepers attacking them in Minecraft. Your job will all of a sudden start to look a lot cooler!
Patrick Sheridan is responsible for Synopsys' system-level solution for virtual prototyping. In addition to his responsibilities at Synopsys, from 2005 through 2011 he served as the Executive Director of the Open SystemC Initiative (now part of the Accellera Systems Initiative). Mr. Sheridan has 30 years of experience in the marketing and business development of high technology hardware and software products for Silicon Valley companies.
Malte Doerper is responsible for driving the software oriented virtual prototyping business at Synopsys. Today he is based in Mountain View, California. Malte also spent over 7 years in Tokyo, Japan, where he led the customer facing program management practice for the Synopsys system-level products. Malte has over 12 years’ experiences in all aspects of system-level design ranging from research, engineering, product management and business development. Malte joined Synopsys through the CoWare acquisition, before CoWare he worked as researcher at the Institute for Integrated Signal Processing Systems at the Aachen University of Technology, Germany.
Tom De Schutter
Tom De Schutter is responsible for driving the physical prototyping business at Synopsys. He joined Synopsys through the acquisition of CoWare where he was the product marketing manager for transaction-level models. Tom has over 10 years of experience in system-level design through different marketing and engineering roles. Before joining the marketing team he led the transaction-level modeling team at CoWare.