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:
@@ -155,7 +155,9 @@ module VX_lsu_unit import VX_gpu_pkg::*; #(
|
||||
wire mem_rsp_eop;
|
||||
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
|
||||
&& (~mem_req_rw || st_rsp_ready); // writes commit directly
|
||||
|
||||
|
||||
Reference in New Issue
Block a user