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