Hello,
We are using ARM Matrix IP that is acting as a Master and using our VIP as a slave.
ARM Matrix is sending a initiating a WRITE Transfer on a slave when HREADY is low, but not keeping control signals stable till HREADY becomes high.
So the questions are
1) Is slave required to drive HREADY high when there is no active transfer? Isn't it possible that slave is busy with other activities and can't accept any new address?
2) Can address phase complete without being HREADY high? Mean as shown in attached snapshot, does Slave need to sample the address in a single cycle without HREADY being high?
3) In the protocol specs it is mentioned that "address_phase can't be stretched". Can you please elaborate that? Once Master have driven valid control signals, Slave can't drive HREADY low and must accept the address?
Appreciate your quick response.
Regards,
Tushar
Thanks Colin for detailed reply. That answers all questions.
The wait state is never sampled by Master as it does not wait for HREADY high for starting address phase.
Just to be clear here, the (illegal) wait state is not sampled by this master because it knows that HREADY must be high during the data phase of the preceding IDLE transfer.
The fault here is with the slave and how it drives HREADY, and not with the master's assumption that HREADY will be high.