Dear All,
As I know when we start the sequence we use start() method in run phase, then body used in sequence.
class my_test extends uvm_test; // ...
task run_phase(uvm_phase phase);
super.run_phase(phase);
phase.raise_objection(this); // raise objection
if (!seq.randomize())
`uvm_error(get_name(), "randomization fail");
seq.start(env.agent.sequencer); // starting a sequence with start() method phase.drop_objection(this); // drop objection
endtask: run_phase
endclass:
my_testclass my_sequence extends uvm_sequence#(my_transaction);
// ...
virtual task body();
`uvm_info(get_name(), "in my_sequence", UVM_LOW)
endtask: body
endclass: my_sequence
As you can see the code we use start method.
But if I have multiple sequences then how to do run and start?
above example is just only one sequence connected with sequencer.