always @(*) begin
rw_wait = (rd_req && !cache_hit) || (wr_req && (!bus_ack || !bus_ready));
rd_data = cache_data[idx][didx_word];
always @(*) begin
rw_wait = (rd_req && !cache_hit) || (wr_req && (!bus_ack || !bus_ready));
rd_data = cache_data[idx][didx_word];
bus_addr = {addr[31:6], cache_fill_pos[3:0], 2'b00 /* reads are 32-bits */};
bus_rd = 1;
end else if (wr_req && bus_ack) begin
bus_addr = {addr[31:6], cache_fill_pos[3:0], 2'b00 /* reads are 32-bits */};
bus_rd = 1;
end else if (wr_req && bus_ack) begin