Fix creating bogus mem reqs when commit is stalled

When commit stage is stalled, LSU ready is deasserted for mem writes
since stores commit immediately; however, the same was not applied to
valid, creating duplicate memory write requests.  Fix by guarding both
ready and valid properly.
This commit is contained in:
Hansung Kim
2024-03-13 20:43:27 -07:00
parent 8317a3fbe5
commit bd67ff3439

View File

@@ -155,7 +155,9 @@ module VX_lsu_unit import VX_gpu_pkg::*; #(
wire mem_rsp_eop; wire mem_rsp_eop;
wire mem_rsp_ready; wire mem_rsp_ready;
assign mem_req_valid = lsu_valid; // don't stay up and create bogus valids when LSU is not ready due to
// st_rsp_ready
assign mem_req_valid = lsu_valid && (~mem_req_rw || st_rsp_ready);
assign lsu_ready = mem_req_ready assign lsu_ready = mem_req_ready
&& (~mem_req_rw || st_rsp_ready); // writes commit directly && (~mem_req_rw || st_rsp_ready); // writes commit directly