I am seeing p_sequencer issue while running my sequence on virtual sequencer:
code snippet:
class ip_slave_tx_virtual_sequence extends uvm_sequence;
`uvm_object_utils(ip_slave_tx_virtual_sequence)
ip_transmitter_random_sequence ip_seq0;
`uvm_declare_p_sequencer(ip_virtual_sequencer)
...
..
ip_seq0.start(p_sequencer.transmitter_sequencer[0]);//transmitter_sequencer[0] is defined in virtual sequencer
endclass
ip_transmitter_random_sequence is defined like this:
class ip_transmitter_random_sequence extends uvm_sequence#(ip_transmitter_transaction);
..
..
endclass
while virtual sequencer class is defined like this:
class ip_virtual_sequencer extends uvm_sequencer #(uvm_sequence_item);
...
endclass
the errror i got is UVM_FATAL:
ip_slave_tx_virtual_sequence::m_set_p_sequencer uvm_test_top.ip_env_inst.vseqr.ip_slave_tx_virtual_sequence Error casting p_sequencer, please verify that this sequence/sequence item is intended to execute on this type of sequencer
…