In reply to mpattaje:
Hi Pattaji,
Is this right??
class write_waddr_phase extends ovm_sequence_item;
rand [3:0] awid ;
rand [31:0] waddr;
rand [31:0] wlen;
rand [31:0] wlsize;
//added contraints
//factory registration
endclass
class write_wdata_phase extends ovm_sequence_item;
rand [31:0] data;
rand [31:0] strb;
rand [31:0] wlen;
//added contraints
//factory registration
endclass
class write_wresp_phase extends ovm_sequence_item;
rand [3:0] bid;
endclass
class read_raddr_phase extends ovm_sequence_item;
rand [3:0] arid ;
rand [31:0] raddr;
rand [31:0] rlen;
rand [31:0] rsize;
//added contraints
//factory registration
endclass
class read_rdata_phase extends ovm_sequence_item;
rand [31:0] rdata;
rand [3:0] rid ;
//added contraints
//factory registration
endclass
//building the ovm_sequence
class my_sequence extends ovm_sequence;
write_waddr_phase wap;
write_wdata_phase wdp;
write_wresp_phase wrp;
read_raddr_phase rap;
read_rdata_phase rdp;
virtual task body();
wap = write_waddr_phase::type_id::create("wap");
wdp = write_waddr_phase::type_id::create("wdp");
...
...
...
start_item(wap);
wap.set_transaction_id(1);
assert(wap.randomize());
finish_item(wap);
start_item(wdp);
wdp.set_transaction_id(1); // I hope you want to give same ID for a seq
assert(wdp.randomize());
finish_item(wdp);
...
...
...
endtask
endclass
please correct me ,if iam wrong.
regards,
Murali