Jump to content

uvm_objection bug or feature?


Recommended Posts

Consider the following code:

task run();

uvm_test_done.raise_objection(this);

uvm_test_done.drop_objection(this);

uvm_test_done.raise_objection(this);

uvm_test_done.drop_objection(this);

endtask

function void start_of_simulation();

uvm_test_done.set_drain_time(this, 1us);

endfunction

The code produces the following fatal error:

# UVM_FATAL @ 1000000: uvm_test_done [OBJTN_ZERO] Object "" attempted to drop objection count below zero.

The error seems to trigger because drop propagations are forked and may operate concurrently on common data structures without locking. In this case, the first forked drop deletes data needed by the second forked drop.

The problem is there in both EA and 1.0p. However, it seems the problem could have been solved easily in 1.0p by having the backgrounder spawning the drop propagation do the work itself executing the scheduled drops one after the other. Or is there a valid reason for having drop propagations climb the component hierarchy concurrently?

Regards,

Erling

Link to comment
Share on other sites

I'm seeing sort of related objection issue in my sim. I firmly think its a bug but not sure if its in the UVM code or in the simulator since its very random and does not occur on every run. In my case there is bug when the objection is propagated upto the uvm_test_top from a lower level driver.
Link to comment
Share on other sites

  • 1 year later...

Hi,

I am using uvm-1.1 with irun 10.2. I am getting "UVM_FATAL @ 0.00ps: build [OBJTN_ZERO] Object "uvm_test_top" attempted to drop objection 'build' count below zero". From this forum, I understood this is a bug in uvm-1.1.

Is there any workaround for this issue?

Regards, Siva

Link to comment
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.

×
×
  • Create New...