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

AHB Bufferable/Non-bufferable write

Note: This was originally posted on 12th September 2008 at http://forums.arm.com

Hi,

Please clarify the following issue related to AHB write:

If HPROT[2] = 1, AHB write is bufferable and we need to provide OKAY response as soon as the AHB slave interface receives data without caring that the data is actually written into the memory or not.

if HPROT[2] = 0, AHB write is non-bufferable, AHB slave interface needs to provide response to the master only when the data is actually written into the memory.

The issue is that if we see this non-bufferable transaction, the state of HRESP will by default be OKAY (HREADY is HIGH to accept the next data) and it means that we are providing the response in advance for non-bufferable write.

Please clarify how to distinguish between the two transactions.
If possible, please provide waveforms for INCR undefined length & non-bufferable write
Parents
  • Note: This was originally posted on 15th September 2008 at http://forums.arm.com

    Hi Hari,

    > I need to know what kind of strategy needs to be employed
    > if destination slave has different response than the early
    > response provided by AHB slave interface.
    >
    > How AHB master takes action in this case.

    You almost certainly cannot do anything.

    The response for the transfer has already been received by the master, so any "new" response you subsequently tried to return would be treated as applying to a later transfer, so would not affect the earlier "completed" transfer.

    You can only give an early response for bufferable write transfers if you 100% know that the response you give is what the slave will actually eventually return, so a typical example being the end destination slave is a RAM that will accept any transfer.

    If you are not sure what the end slave will do, do not give an early response and just add wait states until you do see the real slave response.

    You do not have to give an early response to bufferable writes, this is only an option for you to consider.

    JD
Reply
  • Note: This was originally posted on 15th September 2008 at http://forums.arm.com

    Hi Hari,

    > I need to know what kind of strategy needs to be employed
    > if destination slave has different response than the early
    > response provided by AHB slave interface.
    >
    > How AHB master takes action in this case.

    You almost certainly cannot do anything.

    The response for the transfer has already been received by the master, so any "new" response you subsequently tried to return would be treated as applying to a later transfer, so would not affect the earlier "completed" transfer.

    You can only give an early response for bufferable write transfers if you 100% know that the response you give is what the slave will actually eventually return, so a typical example being the end destination slave is a RAM that will accept any transfer.

    If you are not sure what the end slave will do, do not give an early response and just add wait states until you do see the real slave response.

    You do not have to give an early response to bufferable writes, this is only an option for you to consider.

    JD
Children
No data