I have two sequences seq_a and seq_b that can be run on sequencer.
In my component i have the code to set the default sequence.
Below is the code in component and i am trying to set the default sequence as "seq_b"
task run_phase(uvm_phase phase); uvm_config_db #(uvm_object_wrapper)::set(null, "uvm_test_top.my_sequencer.main_phase", "default_sequence", seq_b::type_id::get()); sequencer.start_phase_sequence(phase); endtask: run_phase
With this code in component, if i pass the following command lines argument to change the sequence to seq_a:
"+uvm_set_default_sequence=*,main_phase,seq_a"
The sequence that runs on sequencer is still seq_b only, it was not modified to seq_a.
Sequence control from command line works when i comment the default_sequence code in run_phase.
It looks for me that "+uvm_set_default_sequence" can't be used when i am setting the default_sequence inside the run_phase.
It will be good if "+uvm_set_default_sequence" overrides the default_sequence that was set in run_phase. So that it gives more flexibility from command line.
Please give your comments on this behavior on UVM 1.2.