Jump to content


  • Content Count

  • Joined

  • Last visited

  1. You are correct. It is been taken care of. This is code for reset_detect(). And in waveforms I dont see reset triggering either. task reset_detect(); wait(vif.rst_n === 1'b1); wait(vif.rst_n === 1'b0); if(uvm_test_done.get_objection_total(this) > 0) uvm_test_done.drop_objection(this, tID, uvm_test_done.get_objection_total(this)); seq_item_port.item_done(); endtask
  2. Yes. Should have done that earlier * driver forever begin seq_item_port.try_next_item(item); if (item == null) begin // Drive junk without valid end else begin fork reset_detect(); begin uvm_test_done.raise_objection(this, tID); send_to_dut(item); seq_item_port.item_done(); uvm_test_done.drop_objection(this, tID); end join_any disable fork; end // if (item == null) end // forever
  3. Hi Tudor, Let me provide pseudo code for details. my_trans_item item; for (n_trans = 0; n_trans < 4; n_trans++) begin `uvm_create_on(item, p_sequencer.sequencer_for_item); dp.randomize(); `uvm_send(item); /* Later replaced `uvm_send with following: start_item(item); finish_item(item); */ end For 2 out of 4 iterations, the code runs absolutely fine (and data is driven on the DUT interface as expected). (This probably would answer your question). For 3rd iteration, `uvm_send is blocked. In waveforms, I see that complete transaction is driven on DUT interface but `uvm_send does not return. Then I broke `uvm_send in start_item(item) and finish_item(item). In this case, I see start_item returning but finish_item does not return. Ninad
  4. Hi All, I have a sequence sending a created and randomized item using `uvm_send. The driver receives an item using try_next_item. Upon receiving, it drives the item and calls item_done. Using debug message after item_done, I can clearly see that item_done is called and returned but `uvm_send in sequence is still blocked and not doing forward to send next item (it implements a loop). Can anyone help me with possible reasons why `uvm_send would not return even when driver has called item_done and come out of item_done. Thanks in advance! Ninad
  • Create New...