editor's blog
Subscribe Now

Palladium Hybrid

Cadence has announced its latest upgrade to their Palladium emulator family. It has many of the usual improvements you might expect – faster execution, higher capacity, better debug, and such. But there are two other new features that are more than incremental.

The first hybridizes verification between a virtual platform and the emulator. This is not the same as, say, simulation acceleration, where a simulator is running a cycle-accurate model and using the emulator to speed up the particularly intensive bits. In that model, the emulator is “slave” to the simulator.

In the hybrid model they’ve announced, it’s almost the inverse of that: the emulator is doing the real verification; a virtual platform is employed to speed up non-critical elements.

An obvious example of that is OS bring-up. If you’re actually testing the OS loading process to see if it works and to find bugs, then doing that on the emulator is necessary to model the true hardware cycle by cycle.

But once you have that done, then re-running the OS load each time you want to test something after that is not a good use of time. So the virtual platform can do that and then establish the state from which the emulator can continue. It’s more versatile than simple save-and-restore because you can instruct the virtual platform to do things differently each time if you want.

In this model, the overall SoC (or whatever) and its state are distributed between the virtual platform and the emulator. But it’s key to remember that the virtual platform is running abstracted models while the emulator is running the actual circuits. So anything that’s truly being verified needs to be in the emulator: the stuff in the virtual platform is assumed to be correct (at least for the purposes of the test being run – you could always swap it later).

Typically, the processor would be in the virtual platform and things like graphics and other accelerators would be in the emulator. (Unless you’re actually testing out the processor…)

Cadence says that the tricky part was achieving synchronization between the virtual platform and the emulator to make sure that they can each do their own thing when that makes sense – but that they check in and synchronize with each other where needed. This is essential for ensuring that, at any given time, the combined emulator/virtual platform entity is in a valid state.

Using this model, parts of the execution that don’t matter except to establish a correct state for some other test can be hurried along, slowing down only when the block-under-test is being exercised. The result they claim is 10X faster hardware/software verification and 60X faster OS bring-up.

The other new element is the ability to download virtual testbench elements like data generators into the Palladium for software-based execution. This may sound a bit like the VirtuaLAB thing we discussed last year, but there’s a critical difference. While they’re both intended to get rid of the rate matchers necessary to interface real data sources to the emulator, the VirtuaLAB approach is via pizza-box hardware as an accessory to the emulator. Cadence’s approach involves no new hardware because it’s simply software executed in the existing Palladium hardware.

You can get more details in their release.

Leave a Reply

featured blogs
Apr 7, 2020
Have you seen the video that describes how the coronavirus has hit hardest where 5G was first deployed?...
Apr 7, 2020
In March 2020, the web team focused heavily on some larger features that we are working on for release in the spring. You’ll be reading about these in a few upcoming posts. Here are a few smaller updates we were able to roll out in March 2020. New Online Features for Ma...
Apr 6, 2020
My latest video blog is now available. This time I am looking at the use of dynamic memory in real-time embedded applications. You can see the video here or here: Future video blogs will continue to look at topics of interest to embedded software developers. Suggestions for t...
Apr 3, 2020
[From the last episode: We saw some of the mistakes that can cause programs to fail and to breach security and/or privacy.] We'€™ve seen how having more than one program or user resident as a '€œtenant'€ in a server in the cloud can create some challenges '€“ at leas...

Featured Video

Automotive Trends Driving New SoC Architectures -- Synopsys

Sponsored by Synopsys

Today’s automotive trends are driving new design requirements for automotive SoCs targeting ADAS, gateways, connected cars and infotainment. Find out why it is essential to use pre-designed, pre-verified, reusable automotive-optimized IP to meet such new requirements and accelerate design time.

Drive Your Next Design to Completion Today with DesignWare IP® for Automotive SoCs