Uvm_event wait_trigger not happening in component b

Hi,

I have the below UVM TB where i trigger a event from comp_a and then when i wait for the trigger from comp_b, it seems comp_b never sees the event. Can any one tell me what is the problem? Is there anyway we can capture the status of trigger?

Here is the code : Error

In reply to rag123:

A “trigger” is 0 time width signaling mechanism. You have to use
wait_trigger()
before the event get triggered. The persistent
wait_ptrigger()
removes race conditions with the same time slot.

You would have to use the
wait_on()
and then
reset()
, but you probably should be looking for a different form of communication depending on what you are ultimately trying to achieve, like a queue or fifo.

In reply to rag123:

Hi,
I have the below UVM TB where i trigger a event from comp_a and then when i wait for the trigger from comp_b, it seems comp_b never sees the event. Can any one tell me what is the problem? Is there anyway we can capture the status of trigger?
Here is the code : Error

You are doing a few things wrong with the global pool. See the running example here:

In reply to chr_sue:

Thanks Dave and Chris :)