module st_data;
// wanted to store data based on the addresses
typedef struct {bit [5:0] dst_addr; bit [57:0] o_data;} outdata;
typedef struct {bit [5:0] src_addr; bit [57:0] i_data;} indata;
outdata out_data_q [26][$];
indata out_data_q [26][$];
// dst_addr 0 to 26
// src_addr 0 to 26
// have to store accordingly
//******* for out_data ********//
always @(posedge clk iff reset) begin
//if control is true (valid && ready)
// out_data_q.push_front
// based on dst_addr push in that queue;
// and based on the dst_addr pop from that queue;
end
endmodule: st_data
bit [63:0] o_data_pkt [26:0]; // [58:63] is dst_addr and [58:0] is data
bit [63:0] i_data_pkt [26:0]; // [58:63] is src_addr and [58:0] is data
//I am trying to store the data based on the addr, so I can access the data based on address (from out_data side) and compare with the in_data (based on address)
// can we do this w/ associative array instead ?
typedef struct {bit [5:0] dst_addr; bit [57:0] o_data;} outdata;
bit [56:0] o_data_pkt [int][26:0];
/*
if(o_data_pkt.exists (dst_addr)) begin
o_data_pkt = outdata[dst_addr];
end //??
*/