Erling Posted April 12, 2011 Report Share Posted April 12, 2011 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 Quote Link to comment Share on other sites More sharing options...
nndad Posted April 13, 2011 Report Share Posted April 13, 2011 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. Quote Link to comment Share on other sites More sharing options...
uwes Posted April 13, 2011 Report Share Posted April 13, 2011 http://eda.org/svdb/view.php?id=3506 Quote Link to comment Share on other sites More sharing options...
Erling Posted April 16, 2011 Author Report Share Posted April 16, 2011 http://eda.org/svdb/view.php?id=3506 >I don't think the drops can be serialized as suggested. Why? Regards, Erling Quote Link to comment Share on other sites More sharing options...
sivaiisc Posted June 13, 2012 Report Share Posted June 13, 2012 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 Quote Link to comment Share on other sites More sharing options...
uwes Posted June 14, 2012 Report Share Posted June 14, 2012 hi, i dont think its per se a bug in the uvm library since there is no objection with the name "build". i assume that "build" is a user objection and for some reason you are dropping more objections than you have raised before. /uwe Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.