[hardware] Fix corner case in `tcdm_adapter`
When the tcdm adapter needs to be stalled to guarantee that the
response can be stored, the AMO state machine has to be stalled as well.
This was not the case so far, leading to wrong values in case an AMO
request and a resp_not_ready coincided.
@@ -122,7 +122,7 @@ module tcdm_adapter #(
unique case (state_q)
Idle: begin
- if (in_valid_i && amo_op_t'(in_amo_i) != AMONone) begin
+ if (in_valid_i && in_ready_o && amo_op_t'(in_amo_i) != AMONone) begin
load_amo = 1'b1;
state_d = DoAMO;
end
