| @@ -0,0 +1,183 @@ | |||
| //reset sequence | |||
| class reset_sequence extends uvm_sequence #(packet); | |||
| `uvm_object_utils(reset_sequence) | |||
| packet pkt; | |||
| function new(string name = "reset_sequence"); | |||
| super.new(name); | |||
| endfunction | |||
| virtual task body(); | |||
| `uvm_info(get_type_name(), $sformatf("*** RESET SEQUENCE is started ***"), UVM_MEDIUM) | |||
| pkt = packet::type_id::create("pkt"); | |||
| start_item(pkt); | |||
| assert(pkt.randomize); | |||
| pkt.op = WRITE; | |||
| finish_item(pkt); | |||
| endtask | |||
| endclass | |||
| /* | |||
| //read sequence | |||
| class read_sequence extends uvm_sequence #(packet); | |||
| `uvm_object_utils(read_sequence) | |||
| packet pkt; | |||
| function new(string name = "read_sequence"); | |||
| super.new(name); | |||
| endfunction | |||
| virtual task body(); | |||
| repeat(10) | |||
| begin | |||
| `uvm_info(get_type_name(), $sformatf("*** READ SEQUENCE is started ***"), UVM_MEDIUM) | |||
| pkt = packet::type_id::create("pkt"); | |||
| //pkt.paddr_invalid.constraint_mode(0); | |||
| start_item(pkt); | |||
| assert(pkt.randomize); | |||
| pkt.op = READ; | |||
| //pkt.pwrite=0; | |||
| finish_item(pkt); | |||
| end | |||
| endtask | |||
| endclass | |||
| //write sequence | |||
| class write_sequence extends uvm_sequence #(packet); | |||
| `uvm_object_utils(write_sequence) | |||
| packet pkt; | |||
| function new(string name = "write_sequence"); | |||
| super.new(name); | |||
| endfunction | |||
| virtual task body(); | |||
| repeat(10) | |||
| begin | |||
| `uvm_info(get_type_name(), $sformatf("*** WRITE SEQUENCE is started ***"), UVM_MEDIUM) | |||
| pkt = packet::type_id::create("pkt"); | |||
| pkt.paddr_invalid.constraint_mode(0); | |||
| start_item(pkt); | |||
| assert(pkt.randomize); | |||
| pkt.ap = WRITE; | |||
| pkt.pwrite=1; | |||
| finish_item(pkt); | |||
| end | |||
| endtask | |||
| endclass | |||
| //write_read_sequence | |||
| class write_read_sequence extends uvm_sequence #(packet); | |||
| `uvm_object_utils(write_read_sequence) | |||
| packet pkt; | |||
| function new(string name = "write_read_sequence"); | |||
| super.new(name); | |||
| endfunction | |||
| virtual task body(); | |||
| //write seq | |||
| repeat(10) | |||
| begin | |||
| `uvm_info(get_type_name(), $sformatf("*** WRITE SEQUENCE is started ***"), UVM_MEDIUM) | |||
| pkt = packet::type_id::create("pkt"); | |||
| pkt.paddr_invalid.constraint_mode(0); | |||
| start_item(pkt); | |||
| assert(pkt.randomize); | |||
| pkt.ap = WRITE; | |||
| pkt.pwrite=1; | |||
| finish_item(pkt); | |||
| //read seq | |||
| `uvm_info(get_type_name(), $sformatf("*** READ SEQUENCE is started ***"), UVM_MEDIUM) | |||
| pkt = packet::type_id::create("pkt"); | |||
| pkt.paddr_invalid.constraint_mode(0); | |||
| start_item(pkt); | |||
| assert(pkt.randomize); | |||
| pkt.ap = READ; | |||
| pkt.pwrite=0; | |||
| finish_item(pkt); | |||
| end | |||
| endtask | |||
| endclass | |||
| */ | |||
| /* | |||
| //write_read_sequence | |||
| class multi_write_multi_read_sequence extends uvm_sequence #(packet); | |||
| `uvm_object_utils(multi_write_multi_read_sequence) | |||
| packet pkt; | |||
| function new(string name = "multi_write_multi_read_sequence"); | |||
| super.new(name); | |||
| endfunction | |||
| virtual task body(); | |||
| int count=1; | |||
| //multi write seq | |||
| repeat(5) | |||
| begin | |||
| `uvm_info(get_type_name(), $sformatf("***MULTI WRITE SEQUENCE --> %0d is started ***",count), UVM_MEDIUM) | |||
| pkt = packet::type_id::create("pkt"); | |||
| pkt.paddr_invalid.constraint_mode(0); | |||
| start_item(pkt); | |||
| assert(pkt.randomize); | |||
| pkt.ap = WRITE; | |||
| pkt.pwrite=1; | |||
| finish_item(pkt); | |||
| count++; | |||
| end | |||
| //multi read seq | |||
| repeat(5) | |||
| begin | |||
| `uvm_info(get_type_name(), $sformatf("***MULTI READ SEQUENCE--> %0d is started ***",count), UVM_MEDIUM) | |||
| pkt = packet::type_id::create("pkt"); | |||
| pkt.paddr_invalid.constraint_mode(0); | |||
| start_item(pkt); | |||
| assert(pkt.randomize); | |||
| pkt.ap = READ; | |||
| pkt.pwrite=0; | |||
| finish_item(pkt); | |||
| count++; | |||
| end | |||
| endtask | |||
| endclass | |||
| */ | |||
| /* | |||
| //write_read_sequence | |||
| class slaveerr_sequence extends uvm_sequence #(packet); | |||
| `uvm_object_utils(slaveerr_sequence) | |||
| packet pkt; | |||
| function new(string name = "slaveerr_sequence"); | |||
| super.new(name); | |||
| endfunction | |||
| virtual task body(); | |||
| repeat(10) | |||
| begin | |||
| `uvm_info(get_type_name(), $sformatf("*** SLV ERROR WRITE SEQUENCE is started ***"), UVM_MEDIUM) | |||
| pkt = packet::type_id::create("pkt"); | |||
| start_item(pkt); | |||
| pkt.paddr_valid.constraint_mode(0); | |||
| assert(pkt.randomize); | |||
| pkt.ap = WRITE; | |||
| pkt.pwrite=1; | |||
| finish_item(pkt); | |||
| end | |||
| //multi read seq | |||
| repeat(10) | |||
| begin | |||
| `uvm_info(get_type_name(), $sformatf("*** SLV ERROR READ OPERATION is started ***"), UVM_MEDIUM) | |||
| pkt = packet::type_id::create("pkt"); | |||
| pkt.paddr_valid.constraint_mode(0); | |||
| start_item(pkt); | |||
| assert(pkt.randomize); | |||
| pkt.ap = READ; | |||
| pkt.pwrite=0; | |||
| finish_item(pkt); | |||
| end | |||
| endtask | |||
| endclass | |||
| */ | |||