The task responsible for requesting a wait_for_grant on sequencer for sequence has been killed, to avoid a deadlock the sequence will be removed from the arbitration queues

Hi,

I am randomly triggering reset sequence in my test case. When reset seq is triggered I am killing the all the sequences running on virtual sequencer. In one of the case reset seq is triggered when my rx_seq is waiting for the grant, since reset is applied i am killing all the seq on seqr. But for next seq I am getting this error “The task responsible for requesting a wait_for_grant on sequencer for sequence has been killed, to avoid a deadlock the sequence will be removed from the arbitration queues”.

How do I handle this scenario. Can I delete seq from arbitration queue after I killed the seqs?

In reply to kranthi445:

You are doing strange and risky things. My recommendation you should NOT kill your sequences.
Select the right arbitration mode for the execution of your sequences.

The mode
UVM_SEQ_ARB_RANDOM
seölects the sequences you want to execute in random order this might solve your problem in an easy way.

[i]In reply to chr_sue:[/r

UVM_SEQ_ARB_RANDOM will run sequnces serially right? I want my reset should be independent of other seqs, It should be applied irrespective other seqs (I have config seq and data seq
config_seq: where apb seqr writes config regs
Data seq: where my spi seqr drives data in rx mode).

In reply to kranthi445:

The default arbitration mode is UVM_SEQ_ARB_FIFO. This selects the sequences in FIFO order.
UVM_SEQ_ARB_RANDOM selects the sequences in random order.