Gunther Posted March 20, 2013 Report Share Posted March 20, 2013 (edited) Hello, I have a problem with the uvm_send_rand macro. When I do a uvm_do_on_with (SEQ, SEQR, CONSTRAINTS) it works fine, but a combo of uvm_create_on (SEQ, SEQR) uvm_rand_send_with (SEQ, CONSTRAINTS) does not. There is a related post on this forum (http://www.uvmworld.org/forums/showthread.php?267-Virtual-Sequence-not-work-in-some-condition-with-uvm1.1) which points to Mantis 3633. It never mentions what the root cause is. Looking at the Mantis, it has been fixed in October 2011. However the problem persists in uvm1.1c, which has been released well after that date. I have traced the problem to the uvm_rand_send_pri_with (no surprises there), line 298 in uvm_sequence_defines.svh of uvm1.1c: else __seq.set_item_context(this); \ The macro uvm_do_on_pri_with does not have that function call, hence that works. This function call loses the sequencer information. It should be set_item_context (this, SEQR); The default for the 2nd argument is null, hence the test terminates with a DCLPSQ fatal. The problem is that the SEQR is unknown in uvm_do_on_pri_with, but is in uvm_do_on_pri_with. So I think that else branch has accidentally been added to the wrong macro and SEQR been omitted. Regards Gunther Edited March 20, 2013 by Gunther Quote Link to comment Share on other sites More sharing options...
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.