diff --git a/src/frontend/inst64/idma_inst64_events.sv b/src/frontend/inst64/idma_inst64_events.sv index 0a1eb05f..59d0a5ea 100644 --- a/src/frontend/inst64/idma_inst64_events.sv +++ b/src/frontend/inst64/idma_inst64_events.sv @@ -91,10 +91,6 @@ module idma_inst64_events #( events_o.obi_wr_req = obi_req_i.req && obi_res_i.gnt && obi_req_i.a.we; events_o.obi_rd_req = obi_req_i.req && obi_res_i.gnt && ~obi_req_i.a.we; - // buffer - events_o.w_stall = axi_rsp_i.w_ready && !axi_req_i.w_valid; - events_o.r_stall = !axi_req_i.r_ready && axi_rsp_i.r_valid; - // busy events_o.dma_busy = busy_i; end diff --git a/test/frontend/tb_idma_inst64_axi_copy.sv b/test/frontend/tb_idma_inst64_axi_copy.sv index bdbe87fd..a41eecb8 100644 --- a/test/frontend/tb_idma_inst64_axi_copy.sv +++ b/test/frontend/tb_idma_inst64_axi_copy.sv @@ -87,12 +87,12 @@ module tb_idma_inst64_axi_copy; ev_field_ok[EvRDone ] = ev.r_done === (bus_req.r_ready && bus_res.r_valid); // r_bw duplicates r_done in the RTL; compare it to the pins, never to ev.r_done. ev_field_ok[EvRBw ] = ev.r_bw === (bus_req.r_ready && bus_res.r_valid); - ev_field_ok[EvRStall ] = ev.r_stall === (!bus_req.r_ready && bus_res.r_valid); + ev_field_ok[EvRStall ] = ev.r_stall === (bus_req.r_ready && !bus_res.r_valid); ev_field_ok[EvWValid ] = ev.w_valid === bus_req.w_valid; ev_field_ok[EvWReady ] = ev.w_ready === bus_res.w_ready; ev_field_ok[EvWDone ] = ev.w_done === w_hs; - ev_field_ok[EvWStall ] = ev.w_stall === (bus_res.w_ready && !bus_req.w_valid); + ev_field_ok[EvWStall ] = ev.w_stall === (bus_req.w_valid && !bus_res.w_ready); ev_field_ok[EvBytes ] = ev.num_bytes_written === (w_hs ? 32'($countones(bus_req.w.strb)) : 32'd0);