Jump to content

UVM Heartbeat: How does it works?


Recommended Posts

Hi,

 

I am using UVM heartbeat in my testbench and defining UVM_USE_CALLBACKS_OBJECTION_FOR_TEST_DONE, so the run time phase will be of type 'uvm_callbacks_objection' instead of 'uvm_objection'.

 

In order to do some end of sim checks, i am waiting for 'phase.wait_for_state(UVM_PHASE_READY_TO_END, UVM_EQ);'

 

Looks like the phase's state is not changing to  'UVM_PHASE_DONE', it is still 'UVM_PHASE_EXECUTING'.  The total objection count is 0.

 

During this time, heartbeat event is getting triggered and test is ending with a fatal msg, which is not expected.

 

 

Configured Hearbeat mode        = UVM_ANY_ACTIVE.

                  Heartbeat_window    = 100000;;

 

 

Snippet from log:

 

The total objection count is 0

Heartbeat  : Triggering an heart beat event at T=  190624 ns

 

....

....

The total objection count is 0

....

....

 

Heartbeat  : Triggering an heart beat event at T=  381249 ns 
The total objection count is 0
 
The total objection count is 0
 
UVM_FATAL @ 381249046875: env [HBFAIL] Did not recieve an update of run on any component since last event trigger at time 190624047000. The list of registered components is:
 
 
Am i missing some thing ?
 
Can some one please help in debugging this.  Thanks.
Link to comment
Share on other sites

  • 4 weeks later...

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...