class write_sequence_fixed extends uvm_sequence#(axi_seq_item); `uvm_object_utils(write_sequence) axi_seq_item txn; function new(string name = "write_sequence"); super.new(name); endfunction virtual task body(); `uvm_info(get_type_name(), $sformatf("//---------------- FIXED SEQUENCE is started -----------------//"), UVM_MEDIUM) txn = axi_seq_item::type_id::create("txn"); start_item(txn); assert(txn.randomize() with {awburst=2'b00;awlen=3;awsize=4};} );//FIXED txn.wr_rd=1; finish_item(txn); endtask endclass class write_sequence_incremental extends uvm_sequence#(axi_seq_item); `uvm_object_utils(write_sequence) axi_seq_item txn; function new(string name = "write_sequence"); super.new(name); endfunction virtual task body(); `uvm_info(get_type_name(), $sformatf("//---------------- INCREMENTAL SEQUENCE is started -----------------//"), UVM_MEDIUM) txn = axi_seq_item::type_id::create("txn"); start_item(txn); assert(txn.randomize() with {awburst=2'b10;awaddr==awaddr+2**awsize};} );//INCREMENTAL txn.wr_rd=1; finish_item(txn); endtask endclass class write_sequence_wrap extends uvm_sequence#(axi_seq_item); `uvm_object_utils(write_sequence) axi_seq_item txn; function new(string name = "write_sequence"); super.new(name); endfunction virtual task body(); `uvm_info(get_type_name(), $sformatf("//---------------- WRAP SEQUENCE is started -----------------//"), UVM_MEDIUM) txn = axi_seq_item::type_id::create("txn"); start_item(txn); assert(txn.randomize() with {awburst=2'b10;awlen=3;awsize=4};} );//WRAP txn.write=1; finish_item(txn); endtask endclass class write_sequence extends uvm_sequence#(axi_seq_item); `uvm_object_utils(write_sequence) axi_seq_item txn; function new(string name = "write_sequence"); super.new(name); endfunction virtual task body(); `uvm_info(get_type_name(), $sformatf("//---------------- WRITE SEQUENCE is started -----------------//"), UVM_MEDIUM) txn = axi_seq_item::type_id::create("txn"); start_item(txn); assert(txn.randomize() with {foreach(awlen[i]) if(i==awlen+1) wlast==1};} );//for last transfer txn.wr_rd=1; finish_item(txn); endtask endclass