Home > Community > Blogs > Industry Insights > designer view new emulation use models employ virtual targets
 
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 Industry Insights blog (individual posts).
 

Email

* 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: *

Designer View: New Emulation Use Models Employ Virtual Targets

Comments(0)Filed under: Industry Insights, Palladium, virtual platforms, AMD, Verification IP, VIP, emulation, Cadence, in-circuit emulation, Palladium XP, virtual prototypes, Cadence Theater, accellerated VIP, DAC theater, virtual platform co-emulation, Alex Starr, embedded target emulation, hybrid emulation

AMD has been using emulation for IC design for many years, but engineers there have recently found two new ways to use this versatile technology. At a recorded Cadence Theater presentation at the 2013 Design Automation Conference, Alex Starr, AMD Fellow, showed how an increasing need for early software development has led to two new usage models for the Cadence Palladium emulation system.

The presentation is titled "Complementing In-Circuit Emulation with Virtualization for Improved Efficiency, Debug Productivity and Performance." As Starr explained, in-circuit emulation - the traditional way to use hardware emulation - uses "real" targets such as disk drives that hook up to the emulator with cables. He presented two alternatives that use "virtual" targets:

  • Embedding devices inside the emulator using accelerated verification IP (VIP)
  • Using a "hybrid" mode that combines emulators with virtual platforms

This is not to say that in-circuit emulation is going to be replaced. Indeed, Starr said it will remain the "bread and butter" of emulation for many years. "You have real devices that run at speed, you have real device stimulus, and you have real traffic conditions," he noted in the presentation. "It really ensures that your devices work with your designs."

Making Emulation More Efficient

However, the need for more efficiency led AMD to look for other ways to utilize its emulation platforms. As early software development becomes more and more important, Starr said, more demands are placed on emulation systems. Another driving force is shrinking time-to-market. Engineers have a limited amount of time in which they can use emulators.

In-circuit emulation has some challenges, Starr said. Target availability is one of them. Certain targets are attached to certain boards on certain emulators, and you might not be able to get time on the one emulator that has the configuration you need. Replicating the same target configuration on a number of different emulators would be expensive. Also, save and restore is very difficult with physical targets. If it takes 50 hours to boot an OS (not an exaggeration), you'd like to be able to save that state and go on from there.

The first alternative Starr presented is embedded target emulation. Instead of hooking up a physical disk drive, you would take something like a SATA hard disk accelerated VIP model and run that inside the emulator. This setup can be relocated to a different emulator without having to physically move a disk drive. Further, with all functionality inside the emulator, save and restore is usable.

The second alternative is virtual platform co-emulation, the "hybrid" mode that combines virtual platforms with emulation. Here, C/C++ code is connected to the emulated portions of the design through transactors. Starr said AMD is seeing a 2-20X performance improvement over emulator performance, because virtual platforms use very fast virtual CPU models. Further, the virtual platform debugger provides a familiar environment for software engineers. And save and restore is available as well.

Making the Choice

So what to use when? Here's a quick summary of a chart Starr showed during the presentation:

In-Circuit Emulation

WHY: Real-world traffic
USE WHEN: Highest model accuracy is required

Embedded Target Emulation

WHY: Enables save/restore, easily re-locatable
USE WHEN: Getting deep into workloads is important

Virtual Platform Co-Emulation

WHY: Highest performance
USE WHEN: Need to run large software workloads

In conclusion, Starr noted that in-circuit emulation still provides a "huge value" and is especially important for real-world traffic conditions. The embedded target emulation is becoming more popular because of save/restore, and it allows engineers to get very deep into software workloads. Virtual platform co-emulation is great for software development when CPU validation is a lower priority.

"In the future, we definitely have some challenges," Starr said. "Debugging is becoming a big challenge, especially now with software teams getting on the systems. They want to see their debuggers and they want to see their view of the world. The hardware designers want to see the details and the waveforms. How do we synchronize these things?"

To listen to the audio presentation and view the slides, click here and look for the Monday 12:30 pm presentation.

Richard Goering

                        

 

Comments(0)

Leave a Comment


Name
E-mail (will not be published)
Comment
 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.