Home > Community > Blogs > Functional Verification > ovm tricks and treats
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 Functional Verification blog (individual posts).


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

OVM Tricks and Treats

Comments(0)Filed under: Functional Verification, OVM, SystemVerilog, IES, e, OVM e, OVM SV, OVM SC, AMIQ, OVM ML

Your kids may be going house to house for treats, but you can get a big OVM sugar rush from Cadence's OVM World contributions.  Each delectible nugget is wrapped in documentation that helps you savor all the goodness. So reach into the bowl and indulge in these methodology sweets!

Callback Mechanism

From day 1 the OVM has employed a factory mechanism for both simple reuse and multi-language consistancy.  While factories are the generally accepted practice for object oriented languages, users migrating to the OVM from other methodologies may be more comfortable with extending procedural and structural elements using callbacks.  This donation adds callbacks to the OVM SV (SystemVerilog) library.

Compliance Checklist

With it's roots in eRM, users of the OVM can access to the collective experience of 5000+ tapeouts over nearly a decade using the contributed OVC (OVM Verification Component) Compliance Checklist. Since each donation is open, it is easy for the ecosystem to take them and create value-added products.  Amiq has done this by automating the checklist in an OVM DVE.  A demo of the OVM e version was recently blogged and one demoing the OVM SV (SystemVerilog) version will be up shortly.

Objection Mechanism

When everything works perfectly, life is just so easy.  Unfortunately (or fortunately for those of us who need the work!!), it rarely works that way.  The Objection Mechanism package adds a number of capabilities to help coordinate and manage complex testbenches.  It includes hierarchical status coordination, objection handling, simplified end-of-test coordination, heartbeat detection of malfunctioning objects, and more.

Register and Memory Package

Fourth in alphabetical order, this most downloaded contribution on the entire OVM World website with 1500+ at the time this blog was written.  In its second release now, this register package contains significant improvements recommended by our customers and the OVM Advisory Group (OAG).  Among these include greatly improved capacity/performance, multi-bus system-level control, alignment with IP_XACT 1.5, and much more. We do recommend upgrading from our 1.1 version and there is documentation on how to do so. The most-often asked question is "when will there be a joint package" and we are continuing to work with Mentor on that so say stuned to the OVM World and this blog!

Regression Speed-Up

OVM messages are critical to understanding both nominal and error conditions in your testbench.  However, when you scale up the environment those innocent string manipulations can become very expensive regardless of the verbosity settings.  This contribution show you how to optimize your messaging to improve OVM testbench performance. Like all of our contributions, this should improve your life regardless of the simulator you choose.  Of course, this blogger would prefer y'all use Incisive Enterprise Simulator!!

Christmas / Hanukkah / Kwanzaa is coming next.  Will there be more treats?

Yes! The genIES are hard at work conjuring up more magical treats for you so visit the OVM World contributions area and this blog frequently or sign-up for the RSS feed.

=Team genIES



Leave a Comment

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