Posts Tagged ‘UVM E.A.’

28 June, 2010

Now that the Accellera VIP-TSC has released UVM-EA, effectively narrowing the choice of verification methodologies to UVM or OVM, many people are asking which way to go — OVM or UVM?  The answer depends a lot on where you are in code development and what your risk tolerance is.  The good news is that neither is a bad choice. One thing is certain: OVM is not dead yet.  It will be around for a long time.  Across the industry a lot of IP has been built and testbenches have been put into production all with OVM.  These must remain operational and supported for a similarly long time. Right now, OVM is the lowest risk choice overall.  There is tons of tool support and lots of IP available along with training and other material from a variety of vendors.  We know OVM is stable and production-worthy just by how widespread its use is.

In its current state UVM is for the more adventurous.  By and large it is OVM with the Os changed to Us.  That’s why we can say it is stable and not necessarily a bad choice.  The risk comes not from whether or not UVM itself works, but in how much support of various kinds is currently available.  Vendors are now updating their tool sets to support UVM, but that work is far from complete.  I imagine as the Accellera committee gets close to releasing UVM-1.0 we’ll see announcements from vendors around their tool support for UVM. Training, examples, and other material is under development as well and will probably be available from their respective  sources shortly after UVM-1.0 is out.

Another aspect to the risk involves 3rd party IP.  IP vendors are also working on converting their IP to be UVM compatible.  If you use 3rd party IP you will need to know when your vendor will make available the components you need converted to run under UVM. The biggest risk comes from the potential of UVM not being entirely backward compatible with OVM (factoring out the simple syntactic name changes).  The VIP-TSC has stated that backward compatibility is a goal, but not a hard requirement.  For example, the VIP-TSC is now looking deeply at phasing.  Proposals are being considered that enable phases to run in parallel and to add additional default phases.  If done properly these changes would add significant capability to UVM and be entirely backward compatible.  If not, UVM could require architectural changes in drivers and monitors to accommodate new phases.  Exactly which way this will go is not clear right now. Mentor, of course, is making a case to retain backward compatibility.

The availability of UVM-EA in advance of the standard affords a prime opportunity to kick the tires and to start some early planning.  Go ahead and download it and start evaluating it.  Try it out on small- to medium-sized pieces of code.  The UVM-EA includes a script to change the Os to Us.  It’s the same script that was used to import OVM as the seed for UVM development.  You can use UVM-EA to figure out what you need to do to convert your environment from OVM to UVM.

Eventually there will be a tipping point and UVM will become the obvious choice for a testbench methodology.  That day is still in the distance.  In the mean time OVM is around and provides all the features necessary to build sophisticated testbenches.

, , , , , ,

17 May, 2010


The Accellera VIP-TSC makes the Early Adopter release of the Universal Verification Methodology (UVM) available.

While Accellera does not use the Latin word Omnimodus in place of the English word Universal, what Accellera does make available is for all practical intents and purposes just OVM.  In April 2010, we made available at an early version of UVM EA.  It has now been updated with Accellera’s version here.

Accellera VIP-TSC has toiled for about a year following the completion of the VIP Interoperability Recommended Practices, which allowed verification specialist to use their legacy VMM code in an OVM environment, to produce UVM 1.0 EA.  EA stands for Early Adopter to signify a release intended for wider community testing before further additions and changes are made, which will then to be followed by formal Accellera standards approval and release of the official UVM 1.0 standard.

UVM EA Content

For OVM users, UVM 1.0 EA offers no substantive technical advances from OVM.  In changing “O’s” to “U’s” and “tlm’s” to “uvm_tlm’s” it has the promise, however, of wider public EDA vendor support.  It offers no compelling reason for current OVM users to move now.  For those who wish to test their code’s readiness to adopt UVM, we have tested the EA release with the most current version of Questa.  We also maintain our commitment to offer versions of the OVM Register Package and the OVM Sequence Layering solution for those who wish to experiment with native UVM.  Stay tuned for more information on that in the future.

UVM 1.0 Standard Proposed Content

The Accellera VIP-TSC now embarks on the hard task to address development of the official UVM 1.0 standard.  At its last technical committee meeting, it began to discuss how to start the process to identify requirements for the UVM 1.0 register package.  That feature, along with others currently on the committee’s list of features include the following:

Register Memory package
Non-interpreted field macros
TLM 2.0 Support
Hierarchical phasing
Strongly-typed factory
Pre-defined run-time phases
Auto-documentation of configuration options
Virtual interface connection
Configuration randomization
Test concatenation
RTL configuration

I will share ongoing progress towards the official UVM 1.0 release as developments merit.

Getting Started with UVM EA

You can download UVM from OVM World contributions area where other OVM contributions are being readied for UVM.  Your feedback is always welcome.

, , , , ,

12 April, 2010

UVM Logo Web I shared information in my last blog that Mentor’s OVM-EA starter kit could be downloaded and used by those who need to plan a possible move to, or use of UVM.  I pointed out that we uploaded to OVM World two contributions: (1) Mentor’s UVM-EA Starter Kit and (2) UVM-EA OVM Compatibility Overlay Kit.

While many have started to take a look at the kits, one use scheme I did not expect to come out of this was to convert their OVM code and run it with native UVM.  I had expected all experiments to use the OVM UVM-EA compatibility overlay instead.

But that raises the question: Should an OVM user go native or rely on compatibility?

Since Mentor Graphics continues to recommend that production design verification be done with OVM 2.1.1, we believe the OVM Compatibility Overlay kit will be crucial for UVM adoption by the OVM community if they wish to move to it in the future.  But our recommendations aside, there are examples of using the conversation script in the UVM-EA Starter Kit to translated OVM into native UVM.

The first I got wind of this was a tweet from @bakshia on how nice the sed script was to convert OVM to UVM.

Baskshia Tweet

More news on the conversion script came from Willamette HDL from a comment posted about my last blog.  They used the conversion script @bakshia mentioned to convert their OVM code to be UVM just as Mentor did to covert OVM to generate the UVM-EA.  WHDL ran the script on their training examples and labs and then tested them with the UVM-EA library.  “Everything worked perfectly.  Good Job!!” said Willamette’s Kurt Schwarz  If you visit the Willamette HDL website now, you will see they offer both Introductory and Advanced level UVM training.

If you are an OVM user, will you use a compatibility overlay scheme or would you prefer to go native?

, , , ,

8 April, 2010

Companion UVM-EA OVM Compatibility Overlay Kit Available for Download

uvm-logo-web1Mentor Graphics has made available its UVM-EA starter kit to promote OVM users’ feedback on UVM. As I wrote in an earlier blog, Accellera has defined specific modifications to OVM 2.1.1 to create UVM-EA.  The Mentor Graphics version of the UVM-EA can be downloaded here.  The UVM-EA starter kits passes all our Questa 6.6 regression tests.

The UVM-EA OVM Compatibility Overlay kit is also available at The UVM-EA OVM Compatibility Overlay kit allows OVM users to continue with their unmodified OVM environments and use the UVM-EA library.  The UVM-EA OVM Compatibility Overlay kit has been fully tested with Questa 6.6 using native OVM.  Details on the tests can be found in the README file.  We welcome feedback from consumers who use it with other verification platforms. It is written in standard SystemVerilog and should work for all platforms that support IEEE 1800™.  It can be downloaded here.

What is the difference between OVM 2.1.1 and UVM-EA? The VIP-TSC has mandated that all file names that contain OVM be changed to UVM and all code that uses “ovm” be changed to “uvm.” The Mentor Graphics UVM-EA represents a faithful representation of VIP-TSC requirements. Please note: These are not the only changes contemplated by Accellera. The Accellera VIP-TSC has indicated a desire to review the “end-of-test” and “callback” services within the UVM-EA and add “message catching.” This code is for early adopter review, not for production use as VIP-TSC changes are likely.

We will share updates on UVM developments with you as it merits and as me make updates to these early adopter UVM kits as needed. If you would like follow or participate directly in the Accellera VIP-TSC standardization effort, please visit for more information.

, , , , , , , , ,

@dennisbrophy tweets

Follow dennisbrophy

@dave_59 tweets

Follow dave_59

@jhupcey tweets

  • #ARM now hiring formal verification engineers in Austin: exciting tech challenge + Ram is a great guy to work with.…
  • Attention all SF Bay Area formal practitioners: next week Wednesday 7/26 on Mentor's Fremont campus the Verificatio…
  • This is a very hands-on, creative role for a verification expert -- join us!

Follow jhupcey