Use of item.addr

In reply to cgales:

In reply to sachins:
It is difficult to provide an answer without seeing the source code you are describing. If you can post the code in question, perhaps a more definitive answer can be given.

class mem_ctl_checker;

mailbox#(mem_xactn) in_box;
mem_xactn cur_xactn,mem_q[$],found_xactn_q[$];
int num_dut_err, found_ind_q[$];

function new( mailbox#(mem_xactn) new_mbox);
this.in_box=new_mbox;
endfunction

virtual task main;

forever begin :loop

in_box.get(cur_xactn);

if(cur_xactn.kind==RST) begin: clrmem
mem_q.delete();
end: clrmem

if(cur_xactn.kind==WR) begin: wrmem
found_ind_q=mem_q.find_first_index with(cur_xactn.addr==item.addr);

	if(found_ind_q.size!=0) begin: indeq
	mem_q[found_ind_q[0]].data_in=cur_xactn.data_in;
	end: indeq

	else begin: notmatch
	mem_q.push_back(cur_xactn);
	end: notmatch
end:wrmem

Here is the transaction class
class mem_xactn;
 rand logic [DATA_WIDTH-1:0] data_in;
 logic [DATA_WIDTH-1:0] rd_data;
 rand logic [ADDR_WIDTH-1:0] addr;
 rand bit [3:0] no_of_rst;
 rand mem_op kind;

 virtual function string show_as_string ();
   if(kind == WR)
 	    show_as_string = $psprintf ("%s KIND: %s ADDR: %0d DATA %0d",`CVC_PREFIX,kind.name, addr, data_in);
     if(kind == RD)
       show_as_string = $psprintf ("%s KIND: %s ADDR: %0d",`CVC_PREFIX,kind.name, addr);
     if(kind == RST)
       show_as_string = $psprintf ("%s KIND: %s", `CVC_PREFIX,kind.name);
 endfunction : show_as_string


  }
  
 	
endclass : mem_xactn