Jump to content

Books and other reference material to help adopt UVM


Recommended Posts

I started reading the book "A Practical Guide to Adopting the Universal Verification Methodology (UVM)" by Sharon Rosenberg and Kathleen A Meade. So far, it's a good read. Are there any other recommend books, articles, presentations that would be helpful for verification engineers who are adopting UVM from scratch? How about for those who are considering converting from VMM?

Link to comment
Share on other sites

I would recommend the Verification Academy at www.verificationacademy.com. It provides a full set of tutorials from getting started and TLM basics all the way through to advanced sequence generation and test control.

On the Verification Academy website, you can also download the OVM Cookbook. While it is OVM specific, you can translate all the concepts to the UVM.

Link to comment
Share on other sites

Hi There -

Thanks for the kind words regarding our book. I'll be uploading the book examples to the contributions area in the next couple of days and you will be able to dowload the examples and use them as a reference for the book and for writing your own verification environments. Look for another reply to this thread when I've got the examples uploaded.

Kathleen

Link to comment
Share on other sites

Hi Don,

In a previous UVM forum post, Tom Alsop, the co-chair of Accellera VIP-TSC addresses your concern about the early adopter vs.. the 1.0 version (see http://www.uvmworld.org/forums/showthread.php?69-Backward-Compatibility-of-UVM-1.0-from-UVM-1.0EA). Currently, we are discussing in Accellera complementary capabilities that do not change the high-level methodology nor contradict the library tips in the book. The new features being considered for the 1.0 release are useful but incremental to the core methodology which is already in the 1.0 EA release.

The book (that cost less than a $100) is relevant both in terms of methodology and the library. As an author of the book, I hope that you will find it very useful.

Cheers,

-- Sharon

Link to comment
Share on other sites

  • 3 weeks later...

Hello,

The UVM code examples described in our book, "A Practical Guide to Adopting the Universal Verification Methodology (UVM)", can now be downloaded from the contributions area of www.uvmworld.org. Here is the link:

UVM_Reference_Flow_1.01,_including_UVM_Book_Examples

The examples are included in the UVM Reference Flow which applies the UVM methodology to block and cluster-verification in a SoC Design. Look for uvm_book after dowloading and installing the files.

Enjoy!

Kathleen Meade

Link to comment
Share on other sites

  • 4 weeks later...

Hello,

The UVM code examples described in our book, "A Practical Guide to Adopting the Universal Verification Methodology (UVM)", can now be downloaded from the contributions area of www.uvmworld.org. Here is the link:

UVM_Reference_Flow_1.01,_including_UVM_Book_Examples

The examples are included in the UVM Reference Flow which applies the UVM methodology to block and cluster-verification in a SoC Design. Look for uvm_book after dowloading and installing the files.

Enjoy!

Kathleen Meade

Hello! the examples of the "A Practical Guide to Adopting the Universal Verification Methodology (UVM)", Example 8-3: Layered Sequencers. When i run it use vcs, always have a error:"the argument~~~~~~ .svh 114", can you help me? Thanks a lot!

Link to comment
Share on other sites

There seems to be a problem behind a problem. Some unknown issue is causing a UVM fatal message. The fatal message has embedded in it a "$psprintf(\"%m.%s\",var)" Pardon me if my quoting is off.

When process_message is called, it tries to do a $display of this. VCS sees the %s and looks for a string argument to the $display, and chokes.

I'm going to work with VCS R&D to find the root cause and also see if the message is bad.

Chris

Link to comment
Share on other sites

Hi, Chris!

Thank you for your help!

I add the "super.build();" in the build method as follows:

ex8-3_layered_sequences.sv

function void build();

super.build();

l_sequencer = lower_sequencer::type_id::create("l_sequencer", null);

u_sequencer = upper_sequencer::type_id::create("u_sequencer", null);

l_driver = lower_driver::type_id::create("l_driver", null);

endfunction : build

But, when i run it with vcs, also see the ERROR and two WARNINGS:

ERROR-[sTASKE-NEAFFS] Insufficient number of arguments ../../../src/base/uvm_extern_report_server.svh, 114

number of arguments (1) passed to substitute format specifiers in the string which are less than number of format specifiers, please pass number of argument equal to number of format specifiers.

WARNING-[CNST-PPRW] Constranit randomize NULL object warning

../../../src/methodolgy/sequences/uvm_sequence_beas.svh, 302

NULL object found during randomization please make sure all random varibles/arrays/functions calls being randomized are allocated fully and properly.

WARNING-[CNST-PPRW] Constranit randomize NULL object warning

../../../src/methodolgy/sequences/uvm_sequence_beas.svh, 302

NULL object found during randomization please make sure all random varibles/arrays/functions calls being randomized are allocated fully and properly.

My vcs version's information:

VCS D-2009.12-5 copyright © 1991-2009 by synopsys Inc.

I sincerely want to know how your code is executed correctly. Thank you very much!

chx

Link to comment
Share on other sites

Hmm, maybe I tweaked some other code. The error is from a very elaborate UVM message that is doing something like:

str = "That didn't work, try $psprintf(\"%s\", something);";

$display(str);

The issue is that VCS sees the %s in the string as a print specifier. The message really should have two percent signs.

As for the warnings, there must be some places deep in UVM that randomize sequences where a handle is null.

Chris Spear

Link to comment
Share on other sites

  • 1 month later...
  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...