In the past few years, commercial verification IP (VIP) has been selected for use in an ever greater percentage of verification environments. While VIP has the capability to save considerable time and engineering resources, there are several decisions you need to make in order to optimize the value received. For example, should you buy VIP or build your own, what should you consider in selecting VIP, and how can you make best use of it once you have it?
To get some answers to these questions I talked to Pete Heller, senior product line manager for VIP at Cadence. Perhaps the first question to answer is, "what does VIP do?" From a Cadence perspective, it's critical that VIP provide more than a simple bus functional model, and it must do more than just generate protocol specific stimulus. Cadence's perspective is that VIP must also be easy to configure (especially if you're not a protocol expert), and must be available for the newest, most in demand protocols at - or even before - the time when the spec becomes available.
The VIP should have been exercised across a range of user implementations to ensure quality, and must provide protocol compliance checking and functional coverage metrics. VIP also needs to be reusable between projects, so it must support multiple simulators, languages and methodologies. Finally, the VIP must enable verification at all the levels of abstraction from block level to subsystem to full chip (SoC) to avoid re-creation of verification environments at different points in the project life cycle.
Fig. 1 - Cadence VIP and Memory Models for a wide range of protocols and applications
Buy or Build Your Own?
Go back in time a decade or so, and you'd find that most verification teams were building their own VIP. But over the years standard protocols became increasingly complex (think USB 3.0 or PCI Express 3.0), and the build-your-own approach became less and less feasible. It can now take 6 to 12 months to develop VIP for an advanced protocol, Pete said, and it requires a tremendous amount of protocol expertise to do so.
"Today, PCI Express 3 and USB 3.0 are each thousand page specs," he noted. "It's not realistic or sensible for a development team to use its own resources to create VIP to verify a standard protocol that adds literally no differentiation to their end product." Add to that the fact that new protocols and new derivatives are being introduced faster than ever (about 20 new protocols in 2011 alone!), and the task of keeping abreast with newest protocol developments becomes even more daunting.
There are other considerations as well. In particular, will your VIP have the right functionality? If you build your own VIP, will it be reusable between projects and simulators? Will it be easy to use? Who will support it when something goes wrong? Will it offer full protocol compliance? Will it work with formal verification and/or acceleration platform? Will it use a verification plan and track coverage metrics? Of course, if your company uses a proprietary protocol, then your only choice for that protocol is to build your own VIP, but for standard protocols, the choice is now much more commonly to buy versus make.
How to Select Commercial VIP
If you decide to buy VIP, there will typically be a choice of suppliers. Pete suggests asking these questions when selecting a commercial VIP product:
Finally, can you "test drive" the VIP before buying? (With Cadence VIP, you can do so through Xuropa Online Labs. You can run an evaluation using the Incisive Enterprise simulator. The software runs on Xuropa servers, and there is nothing to purchase, license, install, download, or upload.)
Making Best Use of Purchased VIP
To use VIP effectively, Pete said, you need to be familiar with the VIP - and you should have at least some knowledge of the protocol you're verifying. "To a large degree, the VIP will do the heavy lifting by removing most of the need to know the spec details, but you should still have at least a basic understanding of it," he said. Cadence's GUI based "configurator" helps the user to get underway quickly by leading them through the often bewildering configuration options, step-by-step via a hierarchy of pull-down choices and recommendations.
Fig. 2 - VIP and Memory Model "Configurator" GUI
Beyond that, it's important to define your verification goals, establish a strategy, and have a plan for achieving it. To this end Cadence VIPs provide a simulator independent test suite and functional coverage that is tallied up against an executable verification plan (vPlan). The vPlan enables you to set your goals and then measure coverage metrics to track your progress.
"The vPlan is like a GPS that tells you where to go, and the test suite provides stimulus - that is, the ‘fuel' - that drives the engine to get you there," Pete said. "The vPlan provides both the roadmap and then the confirmation that you've actually driven down all the roads you need to travel." The ability of the vPlan to sort through a huge amount of coverage data, and present it in an easily understandable way, is an extremely valuable addition to Cadence's VIP.
Fig. 3 - Mapping from the ARM AXI spec (left) to Cadence vPlan (right)
Finally, VIP isn't only about simulation. You might choose to use assertion-based VIP (offered by Cadence for bus-based protocols) to support block-level formal verification, or to use acceleratable VIP (AVIP) in order to handle large designs or to work at a systems level. Cadence accelerated VIP is based on the Accellera SCE-MI standard and supports a variety of use modes and languages. It enables verification with and without a testbench and supports key verification languages like SystemVerilog and e. In the near future, it will also support TLM level interactions with virtual prototypes to enable software development.
Cadence VIP Catalog
The Cadence VIP Catalog includes over 30 complex protocols and over 15,000 memory devices, exercised across thousands of designs - all with a consistent user interface and configuration GUI. The simulation VIP runs on Cadence, Synopsys, and Mentor Graphics simulators. Cadence's VIP Catalog provides support for simulation, acceleration, and formal verification; and supports multiple verification languages including SystemVerilog and e, and multiple methodologies including UVM and VMM. The Catalog is located here.
“Independence” is a priority! A key function of VIP is to provide an independent set of “eyes” to check the design. But when choosing VIP, customers also want the confidence of using proven products from a partner they can trust. The last thing they want to do is debug the VIP along with their design! With over 500 VIP customers and thousands of designs verified, customers know they can depend on the Cadence VIP Catalog to verify their IP blocks, SoCs, and Systems.
Very good article. Only issue is why Cadence and Synopsys are out for killing the fledgling business opportunity and forcing the customer to use IP and VIP from their house only going hammer and tong on acquiring companies like Denali,nSys and Expert IO and god only knows what are other companies are on Radar for acquisitions. Is independent verification is dead?
Good point about Xuropa. If you really want to know what you are getting, you can test drive the Cadence tools at http://xuropa.com/cadence
Quite comprehensive summary of the offering from Cadence. In past I have tried the Xuropa labs and find it quite interesting and helpful in decision making. You know what you are getting.
Coincidentally, I have also posted a blog on VIP - changing landscape @
Thanks & Regards,