Hi, When the current AHB slave is busy (hready low) servicing the Master,but if the master drives IDLE transfer in the next cycle , then according to the protocol slave should give a zero wait state OKAY response,but by seeing the hready high for this IDLE response ,master will drive it's address and data.Later the slave will drive hready for the pending(previous transfer) service.This is malfuntion the current transfer...so it is alwayas nessacary to give a zero wait state OKAY response for an IDLE transfer??
Regards, M.M.Kumar
Didn't find your answer? Ask the community — no account required.
J
Joe
Hi there,
A few things you need to know:
- An AHB slave don't have to worry what is on HTRANS when HREADY is low
- An AHB master should not change HTRANS, HADDR, HWRITE, etc when HREADY is low (except when it detected error/retry/split responses).
In T0, AHB master issue transfer (note that HREADY is high) In T1, AHB slave start doing the work (putting HREADY to low) In T2 and T3, despite HTRANS is IDLE in previous cycle, AHB slaves can ignore it because HREADY is low. In T4, AHB slave set HREADY to high, so all AHB slave will have to check what is on HTRANS, HADDR (also HSEL,HWRITE etc). In T5, AHB slave output a zero wait state OKAY response for the IDLE in T4.
Hope this answered your question. In addition, question about AHB might be better be posted on comp.sys.arm newsgroup. (I know, you might not be using ARM stuffs but I guess more people on that newsgroup can answer questions on AMBA stuffs).
Regards, Joe
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.