Posts Tagged ‘UVM E.A.’
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.
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 www.ovmworld.org 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|
|Pre-defined run-time phases|
|Auto-documentation of configuration options|
|Virtual interface connection|
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.
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.
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?
Companion UVM-EA OVM Compatibility Overlay Kit Available for Download
Mentor 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 OVMWorld.org. 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 http://www.accellera.org/activities/vip/ for more information.
About Verification Horizons BLOG
This blog will provide an online forum to provide weekly updates on concepts, values, standards, methodologies and examples to assist with the understanding of what advanced functional verification technologies can do and how to most effectively apply them. We're looking forward to your comments and suggestions on the posts to make this a useful tool.
- Part 1: The 2012 Wilson Research Group Functional Verification Study
- What’s the deal with those wire’s and reg’s in Verilog
- Getting AMP’ed Up on the IEEE Low-Power Standard
- Prologue: The 2012 Wilson Research Group Functional Verification Study
- Even More UVM Debug in Questa 10.2
- IEEE Approves New Low Power Standard
- May 2013 (2)
- April 2013 (2)
- March 2013 (2)
- February 2013 (5)
- January 2013 (1)
- December 2012 (1)
- November 2012 (1)
- October 2012 (4)
- September 2012 (1)
- August 2012 (1)
- July 2012 (6)
- June 2012 (1)
- May 2012 (3)
- March 2012 (1)
- February 2012 (6)
- January 2012 (2)
- December 2011 (2)
- November 2011 (2)
- October 2011 (3)
- September 2011 (1)
- July 2011 (3)
- June 2011 (6)
- Intelligent Testbench Automation Delivers 10X to 100X Faster Functional Verification
- Part 9: The 2010 Wilson Research Group Functional Verification Study
- Verification Horizons DAC Issue Now Available Online
- Accellera & OSCI Unite
- The IEEE’s Most Popular EDA Standards
- UVM Register Kit Available for OVM 2.1.2
- May 2011 (2)
- April 2011 (7)
- User-2-User’s Functional Verification Track
- Part 7: The 2010 Wilson Research Group Functional Verification Study
- Part 6: The 2010 Wilson Research Group Functional Verification Study
- SystemC Day 2011 Videos Available Now
- Part 5: The 2010 Wilson Research Group Functional Verification Study
- Part 4: The 2010 Wilson Research Group Functional Verification Study
- Part 3: The 2010 Wilson Research Group Functional Verification Study
- March 2011 (5)
- February 2011 (4)
- January 2011 (1)
- December 2010 (2)
- October 2010 (3)
- September 2010 (4)
- August 2010 (1)
- July 2010 (3)
- June 2010 (9)
- The reports of OVM’s death are greatly exaggerated (with apologies to Mark Twain)
- New Verification Academy Advanced OVM (&UVM) Module
- OVM/UVM @DAC: The Dog That Didn’t Bark
- DAC: Day 1; An Ode to an Old Friend
- UVM: Joint Statement Issued by Mentor, Cadence & Synopsys
- Static Verification
- OVM/UVM at DAC 2010
- DAC Panel: Bridging Pre-Silicon Verification and Post-Silicon Validation
- Accellera’s DAC Breakfast & Panel Discussion
- May 2010 (9)
- Easier UVM Testbench Construction – UVM Sequence Layering
- North American SystemC User Group (NASCUG) Meeting at DAC
- An Extension to UVM: The UVM Container
- UVM Register Package 2.0 Available for Download
- Accellera’s OVM: Omnimodus Verification Methodology
- High-Level Design Validation and Test (HLDVT) 2010
- New OVM Sequence Layering Package – For Easier Tests
- OVM 2.0 Register Package Released
- OVM Extensions for Testbench Reuse
- April 2010 (6)
- SystemC Day Videos from DVCon Available Now
- On Committees and Motivations
- The Final Signatures (the meeting during the meeting)
- UVM Adoption: Go Native-UVM or use OVM Compatibility Kit?
- UVM-EA (Early Adopter) Starter Kit Available for Download
- Accellera Adopts OVM 2.1.1 for its Universal Verification Methodology (UVM)
- March 2010 (4)
- February 2010 (5)
- January 2010 (5)
- December 2009 (15)
- A Cliffhanger ABV Seminar, Jan 19, Santa Clara, CA
- Truth in Labeling: VMM2.0
- IEEE Std. 1800™-2009 (SystemVerilog) Ready for Purchase & Download
- December Verification Horizons Issue Out
- Evolution is a tinkerer
- It Is Better to Give than It Is to Receive
- Zombie Alert! (Can the CEDA DTC “User Voice” Be Heard When They Won’t Let You Listen)
- DVCon is Just Around the Corner
- The “Standards Corner” Becomes a Blog
- I Am Honored to Honor
- IEEE Standards Association Awards Ceremony
- ABV and being from Missouri…
- Time hogs, blogs, and evolving underdogs…
- Full House – and this is no gamble!
- Welcome to the Verification Horizons Blog!
- September 2009 (2)
- July 2009 (1)
- May 2009 (1)