This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

AMBA AHB

Note: This was originally posted on 10th July 2012 at http://forums.arm.com

Hi,
  I have been working on AMBA AHB slave design. I have come across a deadend.
The problem is as follow.

When a master inserts a busy transaction indicated by the HTRANS as 01. What should be the condition of HREADY from the slave.
The spec says that the slave should provide a non zero wait state to the busy inserted byt the master.
However what should be the status of HREADY when the slave itself is busy and is not able to complete the previous transaction.
Kindly help me with this if possible.
Regards,
sandesh shetty
Parents
  • Note: This was originally posted on 12th July 2012 at http://forums.arm.com

    Sandesh,

    If a slave is being asked to do something (a nonseq or seq) access, it can add wait states using HREADY during the data phase for those transfers,

    But if the slave is not being asked to do anything (so busy or idle transfers), there is no reason for the slave to need to add wait states, so the HREADY signal must be driven high for the data phases of those transfers.

    When you say "the slave itself is busy", what is it busy with such that it can't just check HTRANS to see if it just needs to return a default HREADY=1 response for the idle/busy transfer request, or hold HREADY=0 for the nonseq/seq transfer request ?

    JD
Reply
  • Note: This was originally posted on 12th July 2012 at http://forums.arm.com

    Sandesh,

    If a slave is being asked to do something (a nonseq or seq) access, it can add wait states using HREADY during the data phase for those transfers,

    But if the slave is not being asked to do anything (so busy or idle transfers), there is no reason for the slave to need to add wait states, so the HREADY signal must be driven high for the data phases of those transfers.

    When you say "the slave itself is busy", what is it busy with such that it can't just check HTRANS to see if it just needs to return a default HREADY=1 response for the idle/busy transfer request, or hold HREADY=0 for the nonseq/seq transfer request ?

    JD
Children
No data