Home > Community > Blogs > Industry Insights > best practices for selecting and using verification ip
 
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more convenient.

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

Best Practices for Selecting and Using Verification IP (VIP)

Comments(4)Filed under: Industry Insights, verification, Verification IP, Xuropa, Formal Analysis, Simulation, VIP, acceleration, formal verification, vPlan, VIP Catalog, protocols, memory models, PCI Express, coverage metrics, USB, verification plan

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:

  • Does the vendor offer Verification IP or Memory Models for all of the protocols you need, when you need them?
  • How mature is the VIP you're considering? How many designs has it verified?
  • How easy is it to configure the VIP?
  • Is there a compliance test suite available "out of the box"?
  • Does the VIP support all simulators, languages and methodologies?
  • What are your verification needs? Do you need the VIP for simulation only, or do you also want to run it on an accelerator or use it for formal block-level verification?
  • What metrics are you going to use to determine when verification is completed, and will the VIP measure and report those metrics for you?
  • Is the vendor aware of, and actively participating in, the development of the protocol standard or new versions thereof?
  • If you use an ARM protocol, does the vendor have a close working relationship with ARM?
  • How is the VIP verified? (At Cadence, this is done with design IP, assertions, and regression testing, in close partnership with protocol standards bodies or with providers such as ARM).

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.

Richard Goering

Comments(4)

By Gaurav Jalan on February 14, 2012
Hi Richard,
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 @
whatisverification.blogspot.in/.../verification-ip-changing-landscape-part.html
Thanks & Regards,
Gaurav Jalan

By Harry Gries on February 21, 2012
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
Harry

By Praveen Kumar Saxena on March 16, 2012
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?

By Tom Hackett on March 19, 2012
“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.

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.