The memory wishbone doesn't clear ACK and move the state machine on
until STB is de-asserted. This seems like it isn't compliant with
the spec and results in a maximum throughput of 1 transfer every
3 cycles.
Fixing this improves the situation to one transfer every 2 cycles.
Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
state <= ACK;
end if;
when ACK =>
- if wishbone_in.stb = '0' then
- read_ack <= '0';
- state <= IDLE;
- end if;
+ read_ack <= '0';
+ state <= IDLE;
end case;
else
state <= IDLE;