S

Hi,

I want a to know the mechanism by which i can kill the ongoing sequences.

Example

class my_seq…

//seq handels

seq1 sq1;
seq2 sq2;
seq3 sq3;

uvm_do(sq1); // initialization sequence uvm_do(sq2); // polling sequence
`uvm_do(sq3); // some other configuration

endclass

SCENARIO :- DUT gives the response for the request in max 10us(lets say)

i have a sequence sq2 which runs for 10us, but the response can be generated before that. I dont want to alter the sq2 sequence as it is being used for various purposes as it is kind of wait sequence.
So there should be a mechanism in which i can terminate the sq2(as soon as i get the response) from the sequence where it is called from (my_seq). As the polling is taking a lot of time and for proper execution i am polling for the MAX time as per SPEC.

Thanks

See the UVM Cookbook.

But, please consider using start() to execute your sequences instead of `uvm_do, which is evil.

It would actually be preferable, rather than killing sq2, to write its body() method so that it simply terminates itself once the response is received, using

while(!response_received)

or something like that.