`ifndef _AXI4_SLAVE_SEQUENCE
`define _AXI4_SLAVE_SEQUENCE

import uvm_pkg::*;
`include "uvm_macros.svh"
`include "axi4_seq_item.sv"

class axi4_slave_sequence extends uvm_sequence#(axi4_seq_item);
  `uvm_object_utils(axi4_slave_sequence)
  
  axi4_seq_item bresp_item;
  axi4_seq_item rresp_item;
  
  function new(string name="");
    super.new(name);
  endfunction
  
 // `uvm_declare_p_sequencer(axi4_sequencer);
  
  virtual task body();
     wait_for_grant();
     send_request(bresp_item);
     wait_for_item_done();
  endtask
  
endclass

`endif
