HOME    COMMUNITY    BLOGS & FORUMS    A View from the Top: A Virtual Prototyping Blog
A View from the Top: A Virtual Prototyping Blog
 
  • About

    A View From The Top is a Blog dedicated to System-Level Design and Embedded Software.
  • About the Author

    Tom De Schutter
    Tom De Schutter is responsible for driving the virtual 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.

    Achim Nohl
    Achim Nohl is a solution architect at Synopsys, responsible for virtual prototypes in the context of software development and verification. Achim holds a diploma degree in Electrical Engineering from the Institute for Integrated Signal Processing Systems at the Aachen University of Technology, Germany. Before joining Synopsys, Achim has been working in various engineering and marketing roles for LISATek and CoWare. Achim also writes the blog Virtual Prototyping Tales on Embedded.com.

Accelerate IP Software Development With Virtual Prototypes

Posted by Tom De Schutter on April 26th, 2015

Almost all electronics devices have some way to connect to other devices. While we don’t really think about it a lot, these interfaces actually have to be quite smart and need to deal with a lot of different device types and/or handle a great deal of data, preferably all while consuming as little power as possible.

As a result, device drivers for this type of interface IP are non-trivial. And because they are a key piece to making an SoC work, these device drivers have to be available early in the SoC design cycle. This is where virtual prototypes come in. They enable device driver development long before hardware is available. Plus, they help accelerate the software development and testing by providing superior debug and tracing, repeatability and scalability.

My colleague Achim Nohl just recorded a webinar on this topic: Accelerate DesignWare IP driver development for ARMv8-based designs with Virtualizer Development Kits.

tom1
DesignWare IP VDKs

In the webinar he explains how Virtualizer Development Kits (VDKs), software development kits using a virtual prototype as the target, can be used to accelerate driver development for interface IP, more particularly the industry-leading DesignWare Interface IP. The webinar demonstrates how a Synopsys VDK for the ARMv8 Base platform with models representing specific DesignWare Interface IP like USB 3.0/3.1, Ethernet GMAC, Ethernet XG-MAC, PCI Express, UFS, Mobile Storage and so on, enable early and efficient software development for these interfaces.

I highly recommend viewing the recorded webinar presented by Achim Nohl via the provided link above to learn how to maximize the benefits from virtual prototyping through VDKs.

In the meantime we can all continue to benefit from the connectivity that our electronics devices offer. I for one am looking forward to a less frustrating USB connection future with the reversible USB plug (type C USB 3.1 reversible USB cable.)
Not all innovation has to do with software :-).

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS

Posted in Uncategorized | No Comments »

Fast Followers And The Value Of Virtual Prototyping

Posted by Tom De Schutter on April 1st, 2015

I am writing this blog while traveling though China. In this country of opportunities, new electronics companies show up regularly and some of them are quickly growing to become leaders in their application domain. Of course it helps if your local market is as big, if not bigger, than the U.S. and European market combined.

The advantage of being a fast follower is that you can learn from the technology leader and adjust based on what worked well and what didn’t work well before. And one thing that these new Chinese semiconductor companies have quickly realized is the importance of software—especially the importance of starting software development early and adjusting hardware to the software needs rather than the other way around.

To achieve this, these Chinese semiconductor companies understand the value of virtual prototyping to achieve the fastest time to quality software. And this value is really achieved in two ways: starting early and the ability to achieve higher productivity. This week I had a discussion with a customer who praised the value of virtual prototyping post-silicon, pointing to determinism, debug control and visibility and software testing capabilities as key characteristics that extend the usefulness of virtual prototypes even when hardware-based alternatives are available.

Now, it is clear that even in these relatively new companies, where it should be easier to introduce new methodologies, there are some adjustment pains in fully embracing virtual prototyping for software development. Most notably the creation of a modeling team, and scaling that team to meet the software development requirement, is still too much of an afterthought. So in a lot of cases these companies are asking us to help them ramp up and complement their modeling expertise. But as we’ve seen in other technology areas, Chinese customers catch up quickly and their virtual prototyping modeling teams are growing at rates that not a lot of other companies have matched in the past.

So expect to see a lot more Chinese-based electronics products, such as mobile phones and tablets, soon. I plan to visit China much more frequently and continue to spark the virtual prototyping revolution.

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS

Posted in Uncategorized | Comments Off

Better Software. Faster! A Virtual Prototyping Case Study from Kyocera Document Solutions

Posted by Tom De Schutter on February 27th, 2015

From time to time I like to use this blog to provide you with an update about the Better Software. Faster! book that illustrates the best practices in virtual prototyping. This time, I am happy to announce that Mamoru Kani-san, senior manager, R&D department 22, software 2 R&D division, of the corporate software development division of Kyocera Document Solutions wrote a new case study for the book. Kyocera’s case study explains how its software team leveraged virtual prototypes to develop device drivers for the DesignWare IP in their multi-functional printer SoC.

The book explains the use of virtual prototypes to accelerate software development tasks. Kyocera’s virtual prototype usage is an exact example of this. In the case study, Kani-san explains the importance of having transaction level models available for the main pieces of IP in their multi-functional printer SoC. The availability of TLM-2.0 LT models for their ARM and DesignWare IP helped Kani-san’s team to create a virtual prototype quickly and enabled them to focus on specific software development tasks.

Kani-san goes on to explain how the virtual prototype allowed his software team to complete 86% of the USB tests that they normally do with real hardware. The remaining software was mostly related to the USB PHY and typically done with real hardware.

kyocera

Figure 1: Kyocera Document Solutions VDK for software development

You can read this case study and others by downloading the Better Software. Faster! book for free at following website: www.synopsys.com/vpbook

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS

Posted in Uncategorized | Comments Off

A Bird’s Eye View

Posted by Tom De Schutter on January 30th, 2015

We are living in the age of pictures. Just about any event or non-event in our life is being captured in a picture. Even more so, a lot of those pictures are being shared with others. It offers us a way to share a moment with the ones who weren’t there. Living with my wife and children in Silicon Valley, far away from our family in Belgium, it provides us with a way to show what we are up to and in that moment shorten the distance with our relatives.

On the other hand, having a camera-enabled device at our fingertips at just about every moment seems to make us want to take pictures of everything around us. Interestingly enough, one of the most photographed subjects is our food. While I was thinking about this, I recalled an old smart phone parody commercial, which is still very applicable and funny.

Another interesting use of lightweight cameras is in combination with a drone. There are companies working on drones that fly above you and track you while you are in action, such as while you are rafting or skiing. Even better than recording your ski skills from your helmet, have a drone actually record you while you are giving the performance of a lifetime thundering down the slopes.

What about having a small drone with you while hiking to fly out in front of you and provide a bird’s eye view of the road ahead, or more easily orient yourself in the context of your surroundings.

This is exactly what the Synopsys VP Explorer tool offers to software developers — a bird’s eye view of the entire system, both hardware and software, to better maneuver through the many lines of code and identify a particular issue faster. While I have been mainly focusing on the early availability benefits of virtual prototyping in this blog, with the right tool, a virtual prototype also provides additional benefits in terms of debug control and visibility.

tom1

So be the adventurer. Log all your activities, events and non-events, and share them with your fellow software developers so that together you can create better software, faster.
Somebody should write a book about this.

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS

Posted in Uncategorized | Comments Off

Turning on the Virtual Prototyping Hose

Posted by Tom De Schutter on December 18th, 2014

Growing up in Belgium, it never occurred to me that rain or for that matter water can be in short supply. Living in California for over 8 years now, I know better. While I still enjoy the fantastic weather in the Bay Area, I do realize the importance of having enough rain and water. Water is one of those resources that we easily take for granted. It is in fact the most important resource, but we are just used to the fact that it flows out of a tap, hose or shower with the turn of a valve. According to recent studies, the last three years of drought were the most severe that California experienced in at least 1,200 years.

In the meantime November and December have turned out to be quite wet. While it is great to fill up the basins again, too much rain in a short time brings its own set up problems, like mud slides and trees falling down. On the other hand, it is clear that Californians aren’t really used to rain and call just about anything the storm of the century, as depicted nicely in following picture:

we will rebuild

This cycle of extreme drought, followed by heavy rain reminds me of the problem software developers are facing. Without a strategy to incrementally get access to targets for software developers, the software development cycle for a particular project looks first like a drought: nothing is available to start software bring-up and then all of a sudden hardware is becoming available all at once and the pressure is on to deal with the software requirements of all IP blocks and subsystems at the same time.

A more incremental software target development plan can mitigate this problem and alleviate the pressure on the software team,  resulting in a better flow between hardware and software and a better product overall, which is available in the market faster.

It is hard to achieve this flow using purely hardware based targets for software development. Inherently virtual prototypes can be available much earlier since there is no dependence on hardware. Plus the nature of having a model-based approach allows you to stage the incremental target availability any which way you want. That means that the software team can drive the stages based on the logical order of software bring-up, debug and test.

incremental VDKs

So whenever you find yourself in need of an earlier software target to mitigate the trend of software development droughts and floods for your project, you might want to turn on the virtual prototyping hose to ease the software development flow.

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS

Posted in Uncategorized | Comments Off

3,000 Reasons To Look Into Virtual Prototyping

Posted by Tom De Schutter on November 21st, 2014

As announced on Nov. 5, Synopsys virtual prototyping book achieved a remarkable milestone of more than 3,000 copies in distribution to more than 1,000 companies. The success of the book highlights the interest in virtual prototyping as a key methodology to shift left software development.

Upon the book’s publication, we received a lot of interest from China and Japan for translated versions of the book. Receiving such high interest for the book in both languages motivated us to start translations, with the Mandarin version already available on the Web site. Soon to follow will be the Japanese translation, scheduled to become available around the end of the year.

In return for downloading a free copy of the eBook, we asked people to fill out an online survey. The answers to this survey confirm the most common software development challenges and virtual prototype benefits that are discussed in the book.

When asked, “What are your biggest software development challenges,” the No. 1 answer by 36% of the respondents was software complexity. That was closely followed by late availability of hardware (31%), changing requirements (27%), and limited debug visibility (24%). (Note that respondents could mark multiple answers for this question.)

It is clear from these answers that software developers are under constant pressure to meet tight deadlines while dealing with increasing software complexity and changing requirements. So it is not a surprise that they are looking for new methods to pull in the software development effort, manage increasing software complexity and late hardware availability. Many software developers have found that virtual prototyping helps to solve these challenges, as evident from more of our survey responses.

When asked, “What is the most important benefit you have seen from using virtual prototypes,” respondents who used virtual prototyping in the past answered as follows: Earlier software availability (45%); better software quality (19%); tighter coordination between hardware and software teams (18%); and software bring-up and debug productivity gain (16%). (Note that because we wanted to understand the most important benefit, we only allowed one answer per respondent.)

I will use the findings of the “Better Software. Faster!” book survey in subsequent blog posts. For now I want to leave you with following observation: If 3,000 persons at more than 1,000 companies around the world are interested in learning more about virtual prototyping, you might want to take a look yourself.

Screen Shot 2014-11-19 at 10.29.09 AM

To download a free ebook go to: www.synopsys.com/vpbook or If you would like a printed copy, you can purchase Better Software. Faster! at Synopsys Press, Amazon.com, or you can order a copy through any bookstore (ISBN: 978-1-61730-013-4).

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS

Posted in Uncategorized | Comments Off

Gluten-Free Virtual Prototyping

Posted by Tom De Schutter on October 30th, 2014

When marketing products, should you emphasize what is included in the product or what is not? These days it seems that for so many foods it has become more important to highlight what is not in the food rather than what is. With sugar free drinks, alcohol free cocktails, gluten free bread and dairy free milk, one might wonder what you should continue to eat or drink. In fact, you now often see food packaging with multiple lines of advertisement to indicate what is not in the food.

Maybe we need to adopt the same strategy for virtual prototyping. Now available: hardware free software development … There is actually something to it. It actually helps customers easily identify how the product is different. If you need or want to avoid gluten you choices are limited and a big brightly colored message saying: “Gluten free bread” avoids the need to check the contents of every bread package.

gluten free

If you don’t have hardware available yet, you want to find that one alternative that can help you to develop software in the absence of a target hardware platform. So with this: if you are working on a complex multi-core electronics design and can’t start software development until you have hardware available, don’t look any further: virtual prototyping is the product for you. It has a nice colorful message saying: “Hardware free software development”. Even better, you can continue to use your favorite debugger with a “hardware free” target to start software development earlier than you could ever imagine.

hardware free software development

Let’s embrace the marketing of products that are “missing” something. Hopefully the user will appreciate what he/she can get versus what he/she can’t get. Hardware may not be available yet, but  virtual prototypes offer a nice early replacement with lots of control and debug visibility. Enjoy!

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS

Posted in Uncategorized | Comments Off

Leveraging Virtual Prototypes for Hybrid Emulation

Posted by Tom De Schutter on September 29th, 2014

As highlighted in many of my blog posts, virtual prototyping has really established itself as the key methodology to shift left software development by decoupling the dependency of software development from hardware availability. The success of the “Better Software. Faster!” book  illustrates the wide spread interest in the methodology.

The success of virtual prototypes has also led users to find more ways to leverage them across a wider range of use cases. For certain tasks, the combined strengths of virtual prototypes and other methodologies can help you achieve a 1 + 1 that is bigger than 2. Examples of these great synergies are virtual prototypes + automotive tools like Saber and Simulink, virtual prototypes + FPGA-based prototypes (called hybrid prototypes) and virtual prototypes + emulation (called hybrid emulation). In this blog we will focus on the use cases for hybrid emulation.

I see three main use cases where hybrid emulation can provide significant benefits to its users:

  • Software-driven verification: speed up software execution for SoC verification by running the application subsystem as part of a virtual prototype connected to the rest of the SoC mapped onto an emulator.
  • Early software development: by mapping blocks of the design not available or easily modeled in a virtual prototype, like GPUs, onto an emulator, software developers can connect these blocks to their virtual prototypes to develop software in context of the full system.
  • Architecture validation: once architecture exploration and optimization is done using traffic generators in virtual prototypes, hybrid emulation enables the traffic generation functions to be replaced with emulated cycle-accurate processor sub-system RTL running the real software for architecture validation.

hybrid emulation

Users around the world have experienced significant value from the above three use cases. A major SoC company explained how they first used a VDK (virtual development kit) to bring-up, test and debug their application processor software, like the OS and then connected the VDK to their GPU mapped onto an emulator (Synopsys ZeBu) to enable GPU software bring-up. The accuracy of the emulator environment also enabled them to optimize the caches in the system and complete the software performance optimization. Eventually they were able to validate the hardware and software by mapping the entire SoC onto the emulator. This step-by-step effort enabled them to fully leverage the strengths of the different methodologies such as high simulation speed of a VDK to boot up the OS and cycle accuracy of the emulator to optimize and validate the hardware and software.

The value of this hybrid emulation methodology is further explained in an article from Tom Borgstrom: http://electronicdesign.com/eda/hybrid-emulation-accelerates-architecture-optimization-software-development-and-software-driven-.

I also invite you to attend our session at ARM TechCon on this topic: http://schedule.armtechcon.com/session/synopsys-turbocharge-your-verification-with-synopsys-hybrid-emulation

Gwyneth Sauceda, one of our ZeBu emulator experts and I will explain the value of hybrid emulation and dive deeper into the different applications and customer case studies.

See you at ARM TechCon on October 1 from 12pm-12:50pm in the Mission City Ballroom M1 at the Santa Clara convention center.

Or visit us at the Synopsys booth #600.

 

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS

Posted in Uncategorized | Comments Off

Just About Enough Virtual Prototyping

Posted by Tom De Schutter on August 25th, 2014

While traveling back to California from the U.K., I had a layover in Chicago, which is probably all too familiar to most United Airlines frequent flyer members. Everything went according to schedule until everyone boarded and the plane still didn’t take off. The pilot explained to us that there was a problem with the hatch for the refueling of the aircraft. We were stuck in the plane for about 2 hours. Eventually the captain announced “We have just about enough fuel to get us to San Francisco.” While I don’t doubt that United wouldn’t allow an airplane to take off if it had  “just about enough fuel,” it was an interesting set of words to hear from the captain. This made me wonder what does, “just about enough” mean in the context of software development and virtual prototyping.

An interesting measure of lines of code: students of the Code.org tutorials have written 1,969,497,657 lines of code. About 100 of these must have been from my son who went through a couple of their online coding tutorials. It is a great way to get your children introduced to programming.

And as beautifully illustrated on http://www.informationisbeautiful.net/visualizations/million-lines-of-code/ the lines of code in products have dramatically increased over time. So what is “just about enough code” in that context? Apparently it is very dependent on the product, e.g.  software in cars is now reaching 100 million lines of code.

Any way you look at it, the software content is growing in just about every imaginable electronics product. And with over 18 million students trying out the tutorials of Code.org, the interest in “code” is growing as well.

With such a reliance on software to drive electronics, “just about enough” code isn’t cutting it. Neither is being “just about on-time” to have software available to release a new product. The new heartbeat of electronics products requires an equivalent heartbeat on the software development side. Like in real life, you wouldn’t want any sort of heart rhythm disorder (an abnormal variation from the normal heartbeat). While virtual prototyping might not save lives preventing heart rhythm disorders, it can help you achieve a healthy heartbeat to align software development alongside hardware development. And the great thing is that “just about enough” virtual prototyping will ensure that you can develop more than enough software to successfully launch your product with the right functionality and on time!

 

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS

Posted in Uncategorized | Comments Off

Planning for the Unexpected

Posted by Tom De Schutter on July 23rd, 2014

Last month we undertook a big family trip. My parents, my brother and his family came from Belgium to California and together we embarked on a trip across the North West US. Starting in Silicon Valley we drove via Lake Tahoe and Salt Lake City to Yellowstone. Afterwards we crossed over to Seattle and Portland to finish off the trip with visits to Crater Lake and Lassen Volcanic National Parks. In total we travelled about 3,400 miles or 5,500 km.

yellowstone

One of the unique sights in Yellowstone

For those of you who have been there, it is probably not a surprise that Yellowstone was the absolute highlight of the trip. It just has everything: lots of wild life, beautiful sights and unique wonders of nature, including a wide variety of thermal activity as you can see above. One of the coolest things happened when we were waiting in a traffic jam, most likely caused by some bison crossing the road further up. Right next to us was a river and at a certain moment we saw an osprey dive into the river and fly off with a fish in its claws. The speed and accuracy with which the bird caught the fish was quite amazing.

Given that our group of travelers was quite diverse in age, level of interest and willingness to hike (we decided afterwards to “train” our children by going on hikes more often), it was important to create a balanced schedule and plan all the hotels and main sightseeing events in advance. Starting a virtual prototyping project is a bit like embarking on a big trip. Given that there are different software developers with different needs, it is important to carefully plan the different deliverables. And it is not just a matter of what needs to be available, but also when. It doesn’t help if a specific virtual prototype is available, but can’t be deployed because the software developers are still working on something else.

phased VPs

Phased virtual prototype (VP) availability enables software teams to start early, focus on the main software pain points and get value quickly

And similar to exploring nature, where you’ll never know in advance what type of animals or incredible sights you will encounter; it is also hard to predict which part of a virtual prototype will provide the most value. Depending on the issue, the ability to control and overwrite register values, or the context trace or function trace information might enable the software developer to find the cause of an issue more quickly and reduce the overall software bring up time.

With the right preparation and planning virtual prototyping can be quite rewarding. Software development in incremental stages is an immense benefit of virtual prototypes, which is amplified by the wide gamut of unique capabilities that are bound to bring a smile to the software developer’s face when he or she finally resolves a nasty bug.

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS

Posted in Embedded Software, Multi-core debug, Shift left software development, Uncategorized, Virtual Prototypes | Comments Off