Jump to content
Sign in to follow this  
aaron626

virtual sequence not work, maybe it's a bug in uvm1.0p1

Recommended Posts

Can anyone help me?

In virtual sequence, it works if the first parameter for ovm_create_on is sequence.

But if the first parameter is sequence_item, it can not work.

Maybe it is a bug.

(IUS92.36, UVM1.0p1)

  virtual task body();
    repeat(1) begin
      $display("Start Create");
      `uvm_create_on(seq, p_sequencer.seqr)
      $display("Start Randomize");
      assert (seq.randomize());
      $display("Start Send");
      `uvm_send(seq)
      $display("Trans Complete");

      $display("Start Create2");
      `uvm_create_on(trans, p_sequencer.seqr)
      $display("Start Randomize2");
      assert(trans.randomize() with 
      { trans.addr == 'h1000;
        trans.read_write == READ;
        trans.size == 1;
        trans.error_pos == 1000;
        trans.transmit_delay == 10; } )      

      $display("Start Send2");
[COLOR="Red"]      `uvm_send(trans)  // Never returned from this macro ERROR[/COLOR]
      $display("Trans Complete2");
      get_response(rsp);
    end

  endtask    

See the attached code, run testcase test_read_modify_write_2 with the following command:

make -f Makefile.ius

Share this post


Link to post
Share on other sites

hi,

there are no newer "released" versions of UVM. BUT the bugfix branch of UVM (UVM_10X_DEV) has quite some fixes for some of the problems found. I was suggesting to try the bugfix branch or if that is not an option you may try the patch:

http://uvm.git.sourceforge.net/git/gitweb.cgi?p=uvm/uvm;a=commitdiff;h=0aa7e3f11ebbac2d5ef50ad39eb55b0ee46bdf55

/uwe

Share this post


Link to post
Share on other sites

Hi,

Now only am start learning UVM/OVM methodology, Am not sure on this :) , anyway i have some point to remember .

If you see the anatomy of the Sequence ,

m_sequencer is for seq_item .

p_sequencer is for sequence . I think if you change the code like below it will work.

`uvm_create_on(seq, m_sequencer.seqr).

.

Regards

Nesan

Share this post


Link to post
Share on other sites

hi,

welcome to UVM - one thing to remember from the beginning is that fields and methods named m_* should be considered UVM private fields which should NOT be used in user code.

/uwe

Share this post


Link to post
Share on other sites

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.

Sign in to follow this  

×
×
  • Create New...