/****************************************************************************
    +-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+-+-+
    |F|u|n|c|t|i|o|n|a|l| |V|e|r|i|f|i|c|a|t|i|o|n| |o|f| |H|a|r|d|w|a|r|e|
    +-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+-+-+

    FILE            apb_slave_sequencer.sv

    DESCRIPTION     

 ****************************************************************************/

`ifndef APB_SLAVE_SEQUENCER_SV
`define APB_SLAVE_SEQUENCER_SV

/**
 * Class: apb_slave_sequencer
 */
class apb_slave_sequencer extends uvm_sequencer #(apb_transaction, apb_transaction);
    
    // UVM factory registration
    `uvm_component_utils (apb_slave_sequencer)

    // new - constructor
	function new(string name = "apb_slave_sequencer", uvm_component parent = null);
		super.new(name, parent);
	endfunction : new
    
    // Note: equivalent to
    // typedef uvm_sequencer#(apb_transaction, apb_transaction) apb_slave_sequencer;

endclass : apb_slave_sequencer

`endif

