Reset in between the Sequences

Hi

Would like to know how the sequences will be terminated when reset happens in between.
Any existing link will be help.

Thanks

In reply to syed taahir ahmed:

Is this your requirement, to kill the sequence after reset? Where does the reset come from?
You should use a reset sequence.

In reply to chr_sue:

In reply to syed taahir ahmed:
Is this your requirement, to kill the sequence after reset? Where does the reset come from?
You should use a reset sequence.

The reset will be testbench driven and the idea should be once the reset is triggered, all the sequences should be interrupted and terminated and once if the reset is deasserted the sequences should start again.

Thanks

In reply to syed taahir ahmed:

Unfortunately you do not explain what is initiating the reset. If you have a reset sequence then the reset is testbench driven. You could kill all sequences when the reset willl be asserted and you can restart them after the reset is deasserted. Or you could stop the current sequences execute the reset sequence and afterwards continue the stopped sequences. Your requirements and conditions are not clear.

In reply to chr_sue:

In reply to syed taahir ahmed:
Unfortunately you do not explain what is initiating the reset. If you have a reset sequence then the reset is testbench driven. You could kill all sequences when the reset willl be asserted and you can restart them after the reset is deasserted. Or you could stop the current sequences execute the reset sequence and afterwards continue the stopped sequences. Your requirements and conditions are not clear.

Hi Chris,

Probably what my requirement is :: reset is top signal i assert and deassert using interface in between the simulation randomly so once the reset is asserted I should kill all sequences and enable all when reset is asserted!!

As you mentioned above, I want to know syntax how to kill the sequences which are spread in the testbench once reset is asserted and enable after deassert of reset.

Thanks

In reply to syed taahir ahmed:
But who is triggering the reset signal. In a clean UVM environment a uvm_driver is doing this instructed from a corresponding sequence.
If you are killing the sequences you cannot enableb them afterwards. You can only start them again. The sequences have a built-in function kill() to kill any sequence.

In reply to chr_sue:

In reply to syed taahir ahmed:
But who is triggering the reset signal. In a clean UVM environment a uvm_driver is doing this instructed from a corresponding sequence.
If you are killing the sequences you cannot enableb them afterwards. You can only start them again. The sequences have a built-in function kill() to kill any sequence.

Thanks Chris , do you have one example for above? would like to get detail on this.

In reply to syed taahir ahmed:

Unfortunately I do not have an example.
But it is not a big deal. Create an event when the reset appears and call the kill method on the running sequence. That’s it.

After I kill all the sequence running using a global event how can I start them again ? I have a task where I need to do a resetAware testbench, I kill all the sequence but I don’t know how to start them again.

In reply to Marian:

Rather than using kill(), a better approach is designing your sequences/drivers/monitors to be
“reset aware” from the ground up. See On the Fly Reset | Verification Horizons | Verification Academy